Please read the history bottom-up. Note that the history might list some features that were implemented in beta versions and removed later but are still mentioned here. This history is a log of the programmer so that he can look up what has been done/tried/modified. Things that were implemented and removed later are marked with [VOID]. Version 1.3 (05-Dec-20) - Change: Updated documentation - Change: Amiga installer will now also copy the plugins for all platforms to Hollywood's linker plugins directory so that they can be easily linked to executables (suggested by kas1e) - Fix: pdf.GetPageLen() and pdf.GetText() didn't skip potential control characters in the text correctly (reported by Petteri Valli) - Fix: doc:SaveToFile() wasn't compatible with virtual files (reported by Jean Holzammer) - New: When loading PDFs as animations using @ANIM or LoadAnim(), Polybios will create vector animations now if a Hollywood version that supports vector animations is installed; if you don't want that, pass TRUE in the new "NoVectorAnim" tag to @REQUIRE - New: Polybios supports Hollywood Designer 5 now; note that it won't be loaded automatically because of its size; you need to manually tell Designer to load it in Designer's settings Version 1.2 (11-Aug-19) - Change: Updated documentation - Fix: pdf.GetLastError() will now return #PDFERR_SUCCESS (0) in case pdf.OpenDocument() succeeded (reported by Petteri Valli) - New: Added pdf.GetMediaBox() to get a page's media box and pdf.GetCropBox() to get a page's crop box - New: Added pdf.PageToDevice() function and pdf.DeviceToPage(); these can be used to convert coordinates from page to device space and vice versa - Fix: pdf.GetPageLinks() and its counterpart in pdf.GetBrush() didn't parse all page links correctly (reported by Petteri Valli) - Fix: pdf.GetBookmarks() didn't make sure that there was enough stack space for the bookmark table (reported by Petteri Valli) Version 1.1 (21-Jun-19) - Change: Updated documentation - Change [Examples]: PDF Viewer example supports password-protected PDFs now - New [Amiga]: Added "KillExt" tool to distribution archive; this can be used to flush Polybios.ext from memory; Polybios keeps this in memory for performance reasons but it will require about 6 MB of memory; only ever use KillExt if all resources used by Polybios.ext have been released first - Fix [Amiga]: Automatic platform selector in installer didn't work correctly - Fix [Amiga]: ".." and "." weren't handled correctly in filename specifications - New [Amiga]: Added version string to Polybios.ext - New: Added new attributes for GetAttribute(): #PDFATTRVERSION returns the document's PDF version and #PDFATTRPERMISSIONS returns its permissions - New: Added pdf.GetLastError(); this can be called if pdf.OpenDocument() fails to get extended error information; if it returns #PDFERR_PASSWORD, the document couldn't be opened because it's password protected - New: Added pdf.GetPageLabel() which can be used to get labels from PDF pages - New: Added pdf.GetMetaText() which can be used to get meta-data from a PDF document - New: Added pdf.GetBookmarks() function; this will return a table containing all bookmarks used by the PDF document as well as their targets; the table returned by this function is similar to the one returned by pdf.GetPageLinks(), except that bookmarks can be nested - New: Added the following functions for searching PDF pages for text: pdf.FindStart(), pdf.FindNext(), pdf.FindPrev(), pdf.GetFindResult() - New: Added the following functions to deal with text on a page: pdf.GetPageLen(), pdf.GetText(), pdf.GetCharBox(), pdf.GetCharOrigin(), pdf.GetCharIndexAtPos(), pdf.GetRects(), pdf.GetBoundedText(); these functions can be used to retrieve text from a PDF page as well as its position - New: Added pdf.GetPageLinks() function; this will return a table containing all links in a page and their targets - New: Added pdf.LoadPage() and pdf.FreePage() for fine-tuned control over page loading; also added pdf.GetBrushFromPage() for getting brushes from pages loaded using pdf.LoadPage() - New: Added pdf.IsPDF() function; this can be used to check if the specified file is a PDF document (requested by Petteri Valli) - Fix [Amiga]: Polybios didn't exit cleanly when opened by hosts that use a pre-Hollywood 6.0 plugin interface (e.g. Hollywood Designer or executables compiled by Hollywood < 6.0) (reported by Petteri Valli) - New: Added optional argument to pdf.GetBrush(); if this is set to TRUE, pdf.GetBrush() will return an additional table that contains a collection of all links in the page; the table will contain information about the position, type, and target of each link in the page (requested by Petteri Valli) - Change [68k]: Recompiled with Bebbo's latest gcc 6 for 68k; WinUAE users note that you'll need at least WinUAE 4.2.1 for Polybios now because older versions had a bug in the 68020 emulation which can make Polybios crash - Fix [BigEndian]: Password-protected PDFs couldn't be opened on big endian architectures because of an endian issue in the encryption key generator in PDFium; this will also fix some other non-password protected PDFs; when will people learn to write endian-independent code? (reported by Petteri Valli) - Fix: pdf.GetBrush() trashed memory when the destination brush was a brush created by pdf.GetBrush() (reported by Petteri Valli) - Fix [Amiga]: Polybios.ext couldn't be correctly loaded from a path with spaces (e.g. "RAM Disk:") (reported by Frank Mariak) Version 1.0a (28-Jun-18) - No version bump to 1.1 because only the Amiga versions have been changed and I'm too lazy to re-compile all other platforms just for an updated version string - Fix [Amiga]: pdf.OpenDocument() didn't work with filenames with non-ASCII characters (reported by Rafal Chyla) - New [OS3]: Added 68881/2 FPU build of Polybios; especially the PDF renderer is a lot faster when using the FPU version - New [OS3]: The AmigaOS 3.x version of Polybios supports PDF rendering now; thanks a lot to Stefan "Bebbo" Franke for his work on gcc 6.4 for m68k which made this possible!; NB: if you intend to use the 68k version on OS4 (which doesn't really make sense, but anyhow), you have to turn off the JIT for LIBS:Hollywood/Polybios.ext because with JIT Petunia seems to be stuck in an endless loop; on MorphOS the 68k PDF renderer won't work either but this looks like a bug in MorphOS' 68k emulation to me; on WinUAE it works fine Version 1.0 (21-Apr-18) - First Release