Poppler 24.06.0

Poppler is librarified PDF rendering toolkit derived from the Xpdf 3.0 code base. It can utilize X11-independent rendering backends like Cairo, Splash, or Qt4 Arthur. It's not designed for platform-agnosticy, but proper BSD/Linux integration; is used by various PDF applications (Evince, Okular, TeXStudio, pdftotext, Zathura, Xournal, Inkscape), and comes with a set of command-line tools of its own.

Tags c++ pdf rendering library developers
License GNU GPL
State stable

Recent Releases

24.06.003 Jun 2024 21:05 major bugfix: : core: Performance improvements in some files. some with files bigger than 2 31 bytes. Remove all cairo include guards for cairo 1.16. MSVC build. Internal code improvements. qt6: Update Qt6 doc example. Use the non deprecated version of QString::fromUcs4. glib: properly document return value from poppler_font_info_scan.
24.05.002 May 2024 22:45 major bugfix: : Core: Signing not being totally correct in some kind of PDF files. Assume "Adobe-Identity" for character collection. Small improvements in annotation font rendering. Remove some GooString methods, use std::string ones instead. Move some GooString methods to UTF.h. Crash in broken files. Cpp: Cpp: crash extracting text and font in some files. Change base class of ustring to char16_t. Qt6: Add async API for certificate validation. Text extraction for Landscape/Seascape pages. Qt5: Add async API for certificate validation. Text extraction for Landscape/Seascape pages. Utils: Pdfdetach: Small code improvements. Pdftops: Write compliant ps header. Build system: Increase minimum supported base to that provided by Ubuntu 22.04.
24.04.001 Apr 2024 17:29 major bugfix: Core: Optimize page text extraction speed. Clipping path handling in some files. regression in text selection. Text search across lines between paragraphs. Qt6: Crash in SoundObject::data. Utils: Pdfsig: Add Catalan translation. Build system: Build code as C++20.
24.03.004 Mar 2024 16:25 major bugfix: : Core: Opening some malformed files. Skip drawing image when it has singular matrix. crash on malformed files. Small internal code cleanup. Utils: Pdfdetach: potential directory traversal. Pdfimages: Enable to print filenames to stdout. Pdfsig: Add visible name/date when signing an existing form signature field.
24.02.002 Feb 2024 13:45 major bugfix: : Core: Reading some JBIG2 streams. saving some annotation interior color when it's empty. Make searching for fonts when adding annotations a bit faster. Make sure images are compressed when adding them. Small internal code cleanup. Utils: Pdfimages: return exit code 2 when error opening output files.
24.01.004 Jan 2024 01:25 major bugfix: Core: Don't crash on certain documents on the NSS signature backend. Infinite loop in some annotation code if there's not space for even one character. Build on Android with generic font configuration. Small internal code cleanup.
23.12.002 Dec 2023 11:45 major bugfix: : Core: Rewrite FoFiType1::parse to be more flexible. Small internal code refactoring.
23.11.003 Nov 2023 02:05 major bugfix: : Core: CairoOutputDev: Use internal downscaling algorithm if image exceeds Cairo's maximum dimensions. Internal code improvements. Crash on malformed files. Utils: Pdftocairo: Add option to document logical structure if output is pdf. Pdftocairo: EPS output should not contain PageOrientation.
23.10.003 Oct 2023 08:05 major bugfix: : Core: Cairo: update type 3 fonts for cairo 1.18 api. Crash on malformed files. Build system: Make a few more dependencies soft-mandatory. Add more supported gnupg releases. Check if linker supports version scripts.
23.09.006 Sep 2023 11:05 major bugfix: : core: Add Android-specific font matching functionality. digital signatures for NeedAppearance=true. Forms: Don't look up same glyph multiple times. Provide the key location for certificates you can sign with. Add ToUnicode support for similarequal. crash on malformed files. qt5: Provide the key location for certificates you can sign with. Allow to force a rasterized overprint preview during PS conversion. qt6: Provide the key location for certificates you can sign with. Allow to force a rasterized overprint preview during PS conversion. pdfsig: Provide the key location for certificates you can sign with.
23.08.003 Aug 2023 00:45 major bugfix: : Core: GWG 19.2 - DeviceN Overprint (White). Splash: avoid bogus memory allocation size in doTilingPatternFill. Use-of-uninitialized-value in XRef. Float-cast-overflow error in Catalog. Cleanup gpgme backend code. Version symbols in poppler core. Glib: Improve poppler_get_available_signing_certificates. Add new members to PopplerCertificateInfo. Utils: Pdftotext: small improvement to man page.
23.07.004 Jul 2023 03:19 major bugfix: : Core: Reading of utf8-with-bom files. Crash if CERT_ExtractPublicKey doesn't return a public key. Rendering of some malformed documents. Allow for stream compression and compress font streams in forms. Remove method Hints::getPageRanges. Qt5: Crash when overprint preview is enabled. Don't fail signature basics tests if backend is not configured. Qt6: Crash when overprint preview is enabled. Don't fail signature basics tests if backend is not configured. Utils: Pdfsig: Allow showung and selecting signature backend. Pdfsig: Describe signature dump format in manual page. Glib: Add signing API. Build system: Zlib is now mandatory.
23.06.006 Jun 2023 17:25 major bugfix: : core: CairoOutputDev: crash when doing type3 rendering. crash with unknown signature hashing algorithms. Add gpgme backend for signature handling. Windows: crash when signing existing signature. FontInfo: Make it return proper information about font substitution. FontInfo: Try harder to get Type 3 font name. Store embedded fonts widths table in a more effective manner. Skip font lookup for nonprintable characters. Windows: Look for fonts in both windows font dir and poppler fonts dir. Windows: symbol.ttf is not a good Symbol font. Windows: memory leak when looking for fonts. crash on malformed files. qt5: Add API to allow selecting signature backend (nss or gpgme). Convert embedded files to bytearray a bit smarter. qt6: Add API to allow selecting signature backend (nss or gpgme). Convert embedded files to bytearray a bit smarter.
23.05.003 May 2023 07:25 major bugfix: : Core: Crash when filling some forms. Set SigFlags when signing unsigned signature. Add some infrastructure code to support multiple signing backends. Potential stack overflow in PostScriptFunction::parseCode. Some minor uninitialised memory reads.
23.04.003 Apr 2023 07:45 major bugfix: : Core: Memory when signing fails. Internal improvements of signature related code. CairoOutputDev: improve type3 font rendering. Memory leak in GlobalParams::findSystemFontFileForFamilyAndStyle. Utils: Pdftocairo: crash in some special situations. Pdfsig: allow holes in -dump signature list. Pdfsig: Support --help.
23.03.002 Mar 2023 03:19 major bugfix: : Core: PngWriter: potential uninitialized memory use.
23.02.002 Feb 2023 03:25 major bugfix: : Core: CairoOutputDev: rendering of color type 3 fonts. CairoOutputDev: Add handling matte entry. Segfault on wrong nssdir. "NSS could not shutdown". Utils: Pdfsig: Point out supports PKCS#11 URIs as nickname. Qt6: *.
23.01.002 Jan 2023 07:25 major bugfix: : core: PDFDoc::sign: crash if font can't be found. PDFDoc::sign: Try Arial to sign if Helvetica isn't found. FoFiType1::parse: Be more flexible parsing the encoding content. Gfx::opBeginMarkedContent: Support Span with Name. Splash: Avoid color due to implicit rounding. Splash: crash on malformed file. CairoOutputDev: Ignore text rendering mode for type3 fonts. Remove unused FoFiType1::load function. build system: Increase minimum required versions of several dependencies. Improve include path handling. qt6: - Use less deprecated functions.
22.12.002 Dec 2022 06:25 major feature: : Core: Form::addFontToDefaultResources: Be stubborn in finding a font we can use..
22.11.002 Nov 2022 14:25 major bugfix: : core: CairoOutputDev: Update font after restore. Protect against broken files. Small code refactoring.
22.10.004 Oct 2022 12:25 major bugfix: : Core: SplashOutputDev::tilingPatternFill: Properly restore CTM on failure. Protect against malformed files. Refactor code to not use strndup. Other small code refactoring. Utils: Pdftoppm: Avoid round-off errors when determining raster dimensions. Pdftocairo: Avoid round-off errors when determining raster dimensions. Pdftotext: Simplify memory handling. qt: Take into account flagNoView when getting/setting the visible status. KDE build system: Sed invocation.
22.09.001 Sep 2022 07:25 major bugfix: : Core: Splash: Do not truncate line dash patterns with more than 20 entries. Various signature related improvements. FormField::getFullyQualifiedName in some scenarios. Splash: Small optimization on dash pattern handling. JBIG2Stream::readHalftoneRegionSeg: potential memory leak. Crashes on malformed files. Including CVE-2022-38784. String formatting in error reporting. Glib: Two potential memory leaks in poppler_document_create_dests_tree. Utils: Pdfsig: List signature field names when listing signature information. Pdfsig: Add support for specifying signature by field name. Pdfunite: crashes on malformed files. Pdfunite: potential memory leak of docs.
22.08.002 Aug 2022 22:25 major bugfix: : Core: Rendering text on some forms. CairoOutputDev: Support Type3 charprocs having Resources. Crashes on malformed files.
22.07.005 Jul 2022 07:05 major bugfix: : Core: Crash when filling in forms in some files. first lines of Annotations sometimes being cut off. Signatures: Don't crash if the signature doesn't have a common name. CairoFontEngine: increment font_face reference when retrieving from the cache. Add ToUnicode support for lessorequalslant and greaterorequalslant. Glib: Add support for stamp annotation. Build system: Tweaks on how gperf is run.
22.06.002 Jun 2022 21:05 major bugfix: : core: Forms: crash in forms with their own DR. Refactor CairoFontEngine caching. CairoOutputDev: preserve text color when drawing type 3 glyphs. Windows: font code simplification. Minor code improvements. cpp: Add missing header. utils: pdfattach: Assume filename is utf8 encoded. pdftohtml: type 3 font size calculation.
22.05.004 May 2022 19:25 major bugfix: : core: Annotations: Make sure we embed fonts for the FreeText annots. Forms: Make sure we embedd fonts as needed. Signatures: Make sure we embed the needed fonts. CairoOutputDev: color type 3 fonts. two in multiline find_text(). code improvements. utils: pdftotext: added TSV mode. HtmlOutputDev: don't use png.h. cpp: Use time_t for time. Add page_transition::durationReal. qt: Pass leftFontSize down to `FormWidgetSignature::signDocumentWithAppearence`.
22.04.002 Apr 2022 16:05 major bugfix: : Core: Underline sometimes being drawn only partially. Adobe Reader not reading some of the contents we write correctly. Code that workarounds some broken-ish files. FoFiTrueType: Parse CFF2 fonts too. FoFiTrueType: Support cmap types 2 and 13. a few small memory leaks. Code improvements. qt: Handle SaveAs named action. Annotations: don't change the text color when changing the font. Utils: Pdftotext: print creation and modification date when using htmlmeta param. Glib: Returning internal data of temporary strings. Cpp: Code incompatibility with MSVC. Build system: Poppler internal library is no longer forced to static on MSVC. Error out if iconv is not available and the cpp frontend is enabled. Require FreeType 2.8.
22.03.002 Mar 2022 10:25 major bugfix: : core: Signature: finding Signatures that are in Pages not not in the global the Forms object. Signature: Improve getting the path to the firefox certificate database. Splash: rendering of some joints. get_poppler_localdir for relocatable Windows builds. Minor code improvements. qt: Minor code improvements. utils: pdfimages: the wrong Stream being passed for drawMaskedImage. build system: Small code improvements.
22.02.002 Feb 2022 13:05 major bugfix: : core: Signature: Add a way to detect unsigned FormFieldSignature. Signature: Suport background image when using left and right text. Signature: path where to search for Firefox NSS in Windows. Signature: NSS code to work correctly in Windows/Android. Count only signature fields in PDFDoc::getNumSignatureFields. Minor code improvements. qt: Allow signing unsigned signature fields. Allow passing a background image for the signature when signing. Allow passing the document password when signing. leftFontSize being ignored when signing. glib: try with utf8 password if latin1 fails. New method for getting all signature fields of a document. compile with MSVC. utils: pdfsig: compile with MSVC. build system: NSS cmake check for MSVC.
22.01.006 Jan 2022 11:25 major bugfix: : core: Allow local (relative to dll) fonts dir on Windows. TextOutputDev: require more spacing between columns. crash in Splash::gouraudTriangleShadedFill. crash when calling Form::reset(). GfxSeparationColorSpace: Check validity of colorspace and function. Minor code improvements. glib: Include glib.h before using defines from it. file descriptors on error. Plug some memory leaks. Replace use of deprecated g_memdup/g_time_zone_new. Remove FD-taking functions on windows. utils: pdfsig: Add support for documents with passwords. pdfsig: signing with -sign if nss password is needed.
21.12.002 Dec 2021 14:25 major feature: : Core: Add API to add images. CairoOutputDev: de-duping of Flate images. Crash on broken files when using non-default ENABLE_ZLIB_UNCOMPRESS. Minor code improvements. Glib: Add API for validation of signatures. Add API to read/save to file descriptor. Utils: Pdftohtml: Reduce sensitivity of duplicate detection. build system: Increase C++ standard to 17.
21.11.002 Nov 2021 10:25 major bugfix: : Core: Rendering of some non-standard confirming annotations. Support rendering of some non-standard Type3 charprocs. TextOutputDev: Respect orientation when selecting words. CairoOutputDev: Don't override the antialias settings from the cairo_t. StructElement: support MCID in XObjects. Detection of monospace fonts. Ignore Adobe-Identity for non embedded CID fonts. PageLabelInfo::labelToIndex: work on some special no style intervals. Crash in malformed files. Minor code improvements. Utils: Pdfinfo: add -url option to print all URLs in a PDF. Pdftohtml: document what zoom means in regard to DPI. Qt6: Require Qt 6.1. Minor code improvements.
21.10.003 Oct 2021 03:05 major feature: : Core: Add support for setting custom stamp annotations. Add default appearance for the well known stamp names. Correct encoding of signature's properties Reason Location. Splash: rendering of some odd patterns. SignatureHandler::validateCertificate: Add option to not do OCSP revocation check. SignatureHandler::validateCertificate: Add support for AIA fetching to verify certificates. Greallocn: if memory allocation fails, free the previous pointer to avoid memory leak. With malformed files. Internal code improvements. Utils: Pdfsig: Add a way to list certificate nicknames. Pdfsig: You can now add signatures from pdfsig. Pdfsig: Add option to not do OCSP revocation check. Pdfsig: Add option for AIA fetching to verify certificates. Pdfinfo: Add -custom option to print custom metadata. Pdfinfo: add metadata flags. qt: Add support for setting custom stamp annotations. Add getters for signature's properties Reason Location. Internal code improvements. Glib: Remove incorrect PopplerAttachment deprecation.
21.09.002 Sep 2021 10:45 major bugfix: : core: Splash: Massive spped improvement on files that use lots of save/restore (q/Q) operators. Correct decoding of signature properties Reason Location when they are Unicode. with malformed files. MSVC build build system: Call cmake_minium_required() before project(). Always append to CMAKE_ C,CXX _FLAGS_ CMAKE_BUILD_TYPE . correctly forward user-provided flags to try_compile().
21.08.002 Aug 2021 10:25 major feature: : core: Add API to allow addition and modification of outlines into a PDF. Use additional samples to test for constant parts of an axial gradient. forms: Create fallback fonts for some well known font names. Support reading the PDF Version from the Catalog. XRef::copy when there are modified objects. Take into account that Date string may be in unicode. JBIG2Stream: regression in "Do not consider a size-0 to be an error". Replace a local bubble sort implementation by std::sort. with malformed files. build system: Better error message when libjpeg is not found. Better error messages when libopenjpeg2 is not found. qt5/qt6: Document that a document has to outlive its pages. Make getPdfVersion return a dedicated version object. glib: mimick TextSelectionDumper logic change for spaceAfter.
21.07.003 Jul 2021 19:25 major bugfix: : Core: JBIG2Stream: Do not consider a size-0 to be an error. PSOutputDev: off-by-one error for image masking in L1/L2 output. CairoOutputDev: memory leak on broken files. Minor code improvements. Build system: Set C standard to 11 without extensions.
21.06.115 Jun 2021 12:45 minor bugfix: : Glib: Poppler_rectangle_free() regression..
21.06.002 Jun 2021 22:05 major feature: : Core: Rendering of some extended latin1 characters in annotations. Support some not so well formed documents with password. Add API to get notified if the xref is reconstructed. Add somewhat fancier left/right signature visual representation. Crashes in malformed files. Minor code improvements. Qt6: Change some functions to return std::unique_ptr. Qt5/qt6: Add API to get notified if the xref is reconstructed. Add somewhat fancier left/right signature visual representation. Don't assert when trying to invert singular matrices. Build system: Make boost opt-out if building splash.
21.05.003 May 2021 08:05 major bugfix: : Core: Crashes in malformed files. Export SplashFont symbols used by Scribus. Minor code improvements. Glib: Enhance find to support multi-line matching. Qt5/qt6: Make sure new signatures are always properly oriented. Allow to pass the border width when signing. Utils: Pdftoppm: regression when using single scaleTo. build system: Allow to disable building manual tests.
21.04.002 Apr 2021 22:05 major bugfix: : Core: Hide symbols by default. TextSelectionDumper: word order for RTL text. Rendering of text in some files. Implement rendering of Masks of Image subtype. Forms: unclicking standalone form buttons. glib: Expose more fields from MediaRendition in PopplerMedia. Use stock glib macro to define boxed type. Remove incorrecly used volatile from enum type registration code. Qt5: Crash in files with malformed signatures. Memory leak when QImage constructor "fails". Qt6: Crash in files with malformed signatures. Memory leak when QImage constructor "fails". Utils: Pdfsig: New paragraph for "-sign" in manpage. Pdfimages: Do not assert in "too big images". build system: Require cmake = 3.10. Require Qt 5 = 5.9. Require glib = 2.56. Require gtk 3 = 3.22. Require gdk-pixbuf = 2.36.
21.03.002 Mar 2021 19:45 major bugfix: : Core: Parsing text in some broken pdf files. memory when using threads. TextSelectionDumper: getText() for space after word. Change signature of OutputDev:tilingPatternFill. Make PDFDocBuilder return a std::unique_ptr. Improve well formed check for shading functions. Leak in case of fread failing. Memory leak in broken file in JBIG2Stream::readGenericBitmap. PSOutputDev: stack overflow in broken files. Glib: Poppler_annot_free_text_get_callout_line: wrong static cast. Poppler-structure-element: memleak. Improve documentation. Demo: keep same visual appearance between displayed and copied text. Utils: Pdftotext: Add -cropbox option. Pdftoppm: Add -progress option. Pdftoppm: rounding in computation of output bitmap size. qt6: Add missing poppler-qt6.pc.cmake.
21.02.002 Feb 2021 08:25 major bugfix: : Core: GfxCal*ColorSpace: introduce Bradford transform for chromatic adaptation. Memory leak if saving the file fails. Internal code improvements. Various handling broken files. Make checkedAdd work for long long in MSVC. Qt5: Properly export NewSignatureData class. Regression in QIODeviceOutStream + MSVC. Qt6: Properly export NewSignatureData class. Regression in QIODeviceOutStream + MSVC. Utils: Pdftohtml: error() parameter type.
21.01.003 Jan 2021 15:05 major bugfix: : Core: Faster routines for jpeg decoding. Reading signatures in encrypted files. Add white point correction when lcms is used. JBIG2Stream: byte counting. Potential data loss if we try to fetch a non existing Ref after modifying the document. Specifically use DeviceGray instead of DefaultGray for softmasks. Various handling broken files. Utils: Pdftocairo: Setmode binary for windows. Pdfsig: Add hability to digitally sign files. Pdftoppm: add options to set DeviceGray/DeviceRGB/DeviceCMYK. Pdftops: add options to set DeviceGray/DeviceRGB/DeviceCMYK. Pdfimages: Account for rotation in PPI calculation. Qt5: Add hability to digitally sign files. Qt6: Add hability to digitally sign files. Build system: Enable clang-tidy prone-signed-char-misuse.
20.12.107 Dec 2020 17:25 minor bugfix: : Core: PSOutputDev: ing regression in the rasterization code. Add missing profile copy operation in GfxICCBasedColorSpace::copy(). in broken files. Build system: Use modern CMake linking for Qt and boost.
20.12.002 Dec 2020 15:05 major bugfix: : core: Draw better circles for circle annotations. annotation line width if no appearance stream or style are given. Tweak rendering of highlight annotations. border rendering of some annotations. rendering of some files. PSOutputDev: provide options to set the rasterization color space and ICC profile. PSOutputDev: for splashModeCMYK8 and language level =2 activate overprint emulation. PSOutputDev: use the DeviceN8 bitmap for rasterization with CMYK-output + overprint. Use the font name without subset tag when querying for a system font. Splash: wrong x adjustment during clipping. Splash: blitImage in uncolored tiling patterns. timeToDateString: We forgot the ' after the minutes. Move psLevel to PSOutputDev creation. several in broken files. utils: pdftops: provide options to set the rasterization color space and ICC profile. pdftops: for splashModeCMYK8 and language level =2 activate overprint emulation. cpp: New fuzzers. glib: New fuzzers. qt5: New fuzzers. build system: gcc: Enable -fno-operator-names. Remove obsolete bool-to-binary macro. Remove obsolete version-check macro for pkgconfig. Remove.pc files for private back-ends. Remove redundant unit-test macro.
20.11.002 Nov 2020 15:25 major bugfix: : Core: More work on rendering of standalone Annot Widgets. crashes in embedded file handling on broken files. uninitialized memory read on broken files. Save a bit of memory in Dict data. Cpp: Crashes in embedded file handling on broken files. utils: Pdftohtml: HTML and XML output includes font opacity. Qt5: Rename ArthurOutputDev to QPainterOutputDev. Build system: Linker error when gtk is not in a default location. Add some checks for gtk-doc support. Reorganize GObject introspection config. Enable CMAKE_LINK_DEPENDS_NO_SHARED.
20.10.003 Oct 2020 01:05 major bugfix: : core: Filter out repeated forms. Implement EmbedStream::reset(). CairoOutputDev: evict just font faces owned solely by cache. Splash: Rename Yd to Ydown, Xu to Xup, etc. Splash: crash in out-of-memory situation. some undefined behaviour situation with forged files.
20.09.003 Sep 2020 10:25 major bugfix: : Core: Compability for Forms. Fetching of Objects failing in some cases. Clearing date in Annot setModified/setDate. TextSelectionPainter: support glyphless fonts. Splash: Don't try read past end of image. Avoid abort() on large memory allocation. Memory leak on broken files. Potential invalid memory read. Small code improvements. Qt5: Document TextAnnotation::inplaceAlign. Make Annotation::setModification/CreationDate work on existing annots. Be a bit more stubborn converting dates that come from xml. Clean as many null characters from the end as possible when converting strings. Glib: Add accessor functions for PopplerAttachment. Deprecate PopplerAttachment GTime fields. Deprecate PopplerDocument date properties. Utils: Pdftoppm: report error and exit if output file cannot be written. Document that PDF-file can be '-' to read it from stdin. Build system: Cmake: Modern way to link against libpng, zlib and libtiff. Cmake: Remove stray support for lcms1 in pdftocairo.
20.08.003 Aug 2020 00:25 major bugfix: : core: Sub-page objects: initialize clip max values considering the render resolution. Splash: Set initial line width to 1. stack overflow with specially crafted files. GfxShading: Simplify holding the Function. Splash: x86 + windows asm build. qt5: Deprecate Document::toc. Deprecate AnnotationUtils.
0.90.113 Jul 2020 10:45 minor feature: : Core: Regression on PS conversion. Regression only happened on applications that are locale enabled i.e. Okular but not pdftops, when using a quite new lcms and. The user locale uses, as decimal separator instead of. Add UTF16LE support to TextStringToUCS4. Even if the standard clearly says it should be UTF16BE. Qt6: Add work in progress qt6 port. Ignore for now :).
0.90.003 Jul 2020 19:45 major bugfix: : Core: Color profile tweaks. Small signature improvements. BBoxOutputDev: calculation when type3 fonts are involved. Potential crash when reading Forms. Infinite loop in broken file. Glib: Adding annots in rotated pages. Add ability to reset forms. Several to the documentation. Qt5: Make it clear we require Qt 5.5. Demo: crash on broken files. Small documentation improvements. Utils: Pdftoppm: Add option to set display profile. Pdftops: Add a -rasterize option with values always, never, or whenneeded. Build system: Require cmake 3.5. More modern cmake way to link against curl.
0.89.028 May 2020 10:45 major bugfix: : core: Add support for ResetForm action. crash in PDFDoc::getSignatureFields when there's no Forms at all. exporting to PS of some files with CID fonts. Use ICC profiles in PS output (if new enough lcms is used). Allow almost-singular tiling pattern matrices. memory leak when failing to load some fonts. CairoOutputDev: Use stroke opacity when clipping to a stroke path. CairoOutputDev: tiling patterns when pattern cell is too far. glib: Add poppler_movie_get_aspect. cpp: Add the font infos to the text_box object.
0.88.028 Apr 2020 06:45 major feature: : core: Support Widget Annotation Buttons not linked to any Form. SplashOuputDev: Use stroking opacity when clipping to a stroke path. Handle 1 bit RGB images in ICC colorspace. Internal code improvements. qt5: Add Document::signatures. Returns signatures not attached to any page. ArthurOutputDev: font hinting. ArthurOutputDev: Set the opacity when filling with axial gradients. ArthurOutputDev: Implement the clipToStrokePath method. ArthurOutputDev: Use stroking opacity when clipping to a stroke path. glib: Add poppler_page_get_bounding_box. Add poppler_form_field_get_alternate_ui_name. Implement rotation for 'flagNoRotate' annots. cpp: Add non_raw_non_physical layout for page::text(). utils: pdftohtml: noRoundedCoordinates- noroundcoord in man page. pdfsig: Show also signatures that aren't attached to any page.
0.87.030 Mar 2020 05:45 major bugfix: : Core: Leak in broken files. Internal code improvements. Qt5: Add option to get form choice for export value. ArthurOutputDev: Avoid division by zero in updateLineDash. glib: Internal code improvements. Utils: Pdftohtml: memory leak in HtmlOutputDev::getLinkDest.
0.86.104 Mar 2020 22:05 minor bugfix: : Core: Regression in Browse Link handling. Internal code improvements.
0.86.029 Feb 2020 14:05 major bugfix: : Core: Link content exfiltration attack. Splash: Implement gouraudTriangleShadedFill for some non parametrized shadings. case unsensitive search for Old Hungarian, Warang Citi, Medefaidrin and Adlam. Internal code improvements. Glib: Automatic handle of page's cropbox on annots. memory leak if poppler_document_new_from_file fails. Minor speed optimization on poppler_page_get_annot_mapping. Utils: Pdfdetach: add 'savefile' option. Pdftoppm/pdftocairo: more odd/even mismatch. Qt5: Loading from iodevice.
0.85.030 Jan 2020 11:05 major bugfix: : Core: Case unsensitive search for Deseret and Osage. crash in unicodeToAscii7. CairoOutputDev: make initialisation thread-safe. Crash on broken files., #870. Internal code improvements. Utils: Pdftoppm/pdftocairo: -e/-o printing the wrong pages. pdftohtml: with the font size sometimes being huge. Qt5: FormField::name encoding. Accept UTF-16 uiNames for form fields. Search for "complex" characters. Allow to load document from QIODevice. Glib: Make the frontend initialization thread safe.
0.84.029 Dec 2019 22:25 major bugfix: : Core: Crash when converting from Unicode to ASCII-7. Splash::scaleImageYdXu: Protect against crash if srcWidth is too big. JBIG2Stream: potential crash in malformed documents. JBIG2Stream: leak in reset() if called several times. Internal code improvements. Utils: Pdfimages: Add error message if first page is larger then number of pages. Pdfinfo: Improved paper size recognition. Pdfsig: exit code when dumping signatures. Pdftocairo: Error out when even/odd selects 0 pages. Pdftohtml: memory leak. Pdftoppm: Add an option to scale before rotate. Pdftoppm: Add -hide-annotations option. Pdftoppm: Error out when even/odd selects 0 pages. Pdftops: Improve -optimizecolorspace. Qt5: Code cleanups. Glib: Compiler warrnings.
0.83.028 Nov 2019 17:25 major bugfix: : Core: Improve when a file is recognized as Linearized. Improve const-ness of the code. Make code a bit more readable/maintanable. Uninitialized memory uses in broken files. Utils: Pdffonts: Make code a bit more readable/maintanable. Pdftohtml: Make code a bit more readable/maintanable. Qt5: Remove a bunch of unused internal functions. TrUtf8 - tr (less warnings). Build system: Make-glib-api-docs: switch to python3.
0.82.026 Oct 2019 15:25 major bugfix: : Core: Not being able to open some files. crashes in malformed files. Memory leak on broken files. Minor performance improvements. Minor code improvements. Glib: Add poppler_document_new_from_bytes. PopplerAttachment: Silence deprecation warnings for ctime/mtime. Build system: Pdf-inspector: Support builddir != srcdir. Install Cairo headers if Cairo has been found.
0.81.023 Sep 2019 07:25 major bugfix: : core: Splash: Always enable support for CMYK rasterization. CairoOutputDev: Check scaled dimensions for 0. BaseCryptStream: potential uninitialized memory read. SplashBitmap: wrong width condition for splashModeDeviceN8. crashes in malformed files.
0.80.024 Aug 2019 02:45 major bugfix: : core: Annotations: Implement support for setting a different text in the appearance stream than the real text. Splash: Optionally use small_vector from boost. memory leaks on broken files. abort on broken files. Small code simplifications. Remove USE_POINT support. qt5: MSVC build. Add subsitute-font information. since marker of some functions. leak when aborting text extraction. Small code simplifications. glib: Make print scaling getter visible. Make Duplex/NumCopies/PrintPageRange preference available in API. Implement Movie API. utils: pdftotext: Add -nodiag flag to remove diagonal text on output. build system: Mark external lib include dirs as SYSTEM.
0.79.017 Jul 2019 13:25 major bugfix: : Core: Regression on TextSelectionPainter. Parsing of DefaultAppearance. Memory leak in PostScriptFunction. Crashes in fuzzed files. Qt5: Implemented support for setIcon by changing appearance. Added option to set the form available to print. QString::null is deprecated, use QString(). Replace deprecated qStableSort with std::stable_sort. Build system: Turn README into README.md and expand it.
0.78.027 Jun 2019 20:45 major bugfix: : Core: Line annotation arrows for usage in dimensioning. Handle Ink annots without an InkList but with an AP. Typos preventing parsing of Movie start and duration. Crash on malformed files. Glib: Add poppler_document_create_dests_tree(). Don't use the deprecated g_type_class_add_private(). Document the differences between render() and render_for_printing(). Introspection for poppler_document_new_from_data. Don't create PopplerInputStream with length 0. Document G_IO_ERROR as a possible error condition. Docs: Add index for API new in 0.78. Build system: Cross compilation of gir in Void Linux. Add -Wshadow to the default warning flags. Install pkg-config pc files if pkg-config is found.
0.77.025 May 2019 12:45 major bugfix: : Core: Crash on signature handling. small memory leak in SignatureHandler::getCertificateInfo. Splash: Restrict filling of overlapping boxes. crash on malformed files. Qt5: Optional content handling with exclusive layers. Cpp: Make render_page thread-safe. Utils: Pdfsig: small memory leak. Pdftotext: typo in manpage.
0.76.101 May 2019 15:45 minor bugfix: : Core: Make the mul tables be calculated at compile time with constexpr. Splash: compile with SPLASH_CMYK enabled. Some typo ing in error messages. Qt5: Regression in annotation handling. Build system: Some typos in build system output and comments.
0.76.022 Apr 2019 18:25 major bugfix: : Core: Regression on case-insensitive search. Remove GooList, use std::vector instead. Radiobutton reporting wrong state. Handle UTF16-LE strings. Don't error out if there's no DA in FreeText annotation. Cairo: Compute correct coverage values for box filter. Cairo: Constrain number of cycles in rescale filter. Read more fields from ViewerPreferences. Introduce and use Ref::INVALID. Crashes in broken files. Mismatched free/delete. Add missing include guards. Utils: Pdftohtml: Properly initialize HtmlOutputDev::page to avoid SIGSEGV upon error exit..
0.75.022 Mar 2019 01:45 major feature: : Core: Rendering of some annotations. Crashes in broken files. Small internal code improvements. Cpp: Improve documentation. Tests: Add showing version information to poppler-dump. Utils: Pdfattach: new util. Pdftohtml: add -dataurls parameter. Pdftoppm: add -sep and -forcenum parameters. Pdftohtml: make singleHtml and stout not mutually exclusive. Pdfsig: use after free.
0.74.009 Feb 2019 08:05 major bugfix: : Core: Remove support for obsolete systems. Include timezone in timeToDateString(). /silence some warnings. With broken files. Build system: Linking in FreeBSD. Fseeko configure check on Android for API level 24. Remove unused MacroPushRequiredVars.cmake. Qt5: Add API that lazily builds an outline by wrapping the internal objects. Demo: Use new API to build Table Of Contents lazily. Glib: Improve documentation. Cast from 'GTime *' (aka 'int *') to 'time_t *' (aka 'long *'). Utils: Pdfsig: add -nssdir option. Cpp: Add a way to get all the named destinations in a document.
0.73.008 Jan 2019 11:45 major feature: : core: regression reading some encrypted files. Add X509CertificateInfo classes. Add new 'IgnoreDiacritics' option to ::findText(). Open files with CLOEXEC flag set. Remove Gulong, Guint, Gushort, Guchar typedefs. handling of some broken files. cpp: Make initialization of globalParams threadsafe. page::text_list encoding Improve handling of UTF-16 by considering Endianess. Add API to specify a custom data directory. qt5: Expose X509CertificateInfo. Add the possibility of getting version. Add new 'IgnoreDiacritics' search flag. Make initialization of globalParams threadsafe. ArthurOutputDev: Remove all Splash code usage. glib: add new 'POPPLER_FIND_IGNORE_DIACRITICS' find flag. named destinations. Make PrintScaling preference available in API. build system: Rename ENABLE_XPDF_HEADERS to ENABLE_UNSTABLE_API_ABI_HEADERS. support enabling NSS on mingw. Windows: only set SOVERSION for shared libs.
0.72.007 Dec 2018 08:25 major bugfix: : Core: Checkbox lacking AP not bein able to change state. Draw line annotation endings (arrow, circle...). Cairo: Don't use UNIQUE_ID for PS output, to avoid using PS memory on cairo = 1.5.10. Be more stubborn looking for a nssdb. GooString::fromInt: Repair the return value. Minor performance improvements. Avoid cycles in PDF parsing. Stream::makeFilter: memory leak. Various with malformed files. Rename GooString::getCString to GooString::c_str. Regenerate UnicodeDecompTables.h from python 3.7.1. Utils: Pdfdetach: Check for valid embedded file before trying to save it. pdfdetach: Check for valid file name of embedded file before using it to determine save path. typos in utils. Glib: Missing PopplerAttachment destructor call. Support getting form widget additional actions. Docs: Small improvements. Qt5: Internally compile with -DQT_NO_SIGNALS_SLOTS_KEYWORDS.
0.71.001 Nov 2018 13:25 major bugfix: : Core: Replace the implementation of GooString by std::string but keep the exact interface intact. Replace GBool, gTrue, and gFalse by bool, true, false, resp. Splash: crash if document is malformed (too wide). Qt5: Crash when adding Highlight Annotations. Default to hidden symbols. Two leaks in a test. Glib: Demo: build on Windows. Demo: Align property labels to top of cell. Cpp: Typos in documentation. Build system: Enable searching for GTK on Windows. Remove unused files. Add fuzzer target from oss-fuzz project.
0.70.126 Oct 2018 09:05 minor bugfix: Glib: Install missing file.
0.70.022 Oct 2018 06:25 major bugfix: core: FreeText annotations: default to font from default appearance string. Splash: Speed improvements. security found by oss-fuzz. Improve page lable parsing. Use std some std classes instead of self grown ones. Various internal improvements. qt5: Add Page::index() method. Improve method to get the page from a label string. glib: crash on missing embedded file. Add support for PDF subtype property. Only export symbols in the public API. utils: pdftohtml: Improve font handling.
0.69.022 Sep 2018 20:05 major bugfix: Core: Add annotation font color. Splash: Some speed improvements. PSOutputDev: add native support for type 7 shadings when using level 3. Add support for PDF subtype property. Link: memory leak regarding next actions. Handling of Signature Info Location and Reason. Errors in computation of type3 glyphs transformation matrix. Reimplement Dict class in a more modern way. Security found by oss-fuzz. Memory in GfxImageColorMap copy ctor. Don't abort if the SampleFunction has too many samples. Document the OutputDev::clip and OutputDev::oeClip methods. MacOS compilation due to boolean define in jpeglib. Split GDir and GDirEntry out of gfile.h. qt5: Add annotation font color. Cpp: Utils: Pdfinfo: Show PDF subtype. Pdftotext: only outputs first page content with -bbox-layout option. pdftotext: memory leak in printLine. Build system: Require C++14.
0.68.022 Aug 2018 16:45 major bugfix: Core: Add Reason and Location to SignatureInfo. memory misuse on signature handling. Security found by oss-fuzz. Don't give a warning when Marked value is false. qt5: Add Reason and Location to SignatureInfo. cpp: Add rotation() to text_box. build with MSVC. Utils: Pdftoppm: Add -jpegopt optimize option support. Pdftocairo: Add -jpegopt optimize option support. Pdftohtml: Add option to not round coordinates. Pdftohtml: possible crash. build system: Use OpenJpeg cmake config file instead of pkgconfig. Remove wchar_t- on MSVC.
0.67.020 Jul 2018 04:05 major bugfix: Core: Lots of security/leak found by oss-fuzz. Splash: Optimize some files, making them 20 faster (now for AABGR8). Utils: Pdfsig: Compile with libc != glibc..
0.66.020 Jun 2018 10:45 major bugfix: Core: Lots of security/leak found by oss-fuzz. Splash: Optimize some files, making them 20 faster. Splash: Correctly manipulate spot colors if SPOT_NCOMPS != 4. Compilation with some strict compilers.
0.65.020 May 2018 03:25 major bugfix: core: SplashOutputDev: Add the invisible character check beginType3Char. XRef: runtime undefined behaviour. with malformed documents., #103238. Remove GooHash after replacing it by std::unordered_map. Add conversion methods between GooString and std::string. cpp: Add newline after error message. Expose more image modes, add option to select mode in renderer. build system: compilation with libc++. Small improvement to FindLIBOPENJPEG2.cmake. qt5: Add widget annot actions to FormFields. utils: pdffonts: Minor formatting changes in the man page..
0.64.018 Apr 2018 14:45 major bugfix: core: Workaround form field text not being drawn on broken files. Add read only setter for form fields. Add support for Link Hide action. Add support for Next actions in Links. parsing of Annot focus out actions. PDFDoc::checkHeader() for PDFs smaller than 1 KiB. Add const to several classes and members. gfile: build on some platforms. with on malformed documents., #105969, #106059, #106061. Several small code improvements. qt5: Allow setting of Form visibility status. Allow setting of Form read only status. Add support for Link Hide action. Add support for Next actions in Links. ArthurOutputDev: Implement axialShadedFill. ArthurOutputDev: Implement drawImageMask. ArthurOutputDev: Implement Type3 font support. utils: pdfsig: Add -dump which writes signatures to disk. glib: less deprecated calls. build system: bring back the option to disable GObject introspection. Add iconv include dir when compiling. Make it possible to build poppler without fontconfig. Default for Android.
0.63.021 Mar 2018 05:25 major bugfix: core: CairoOutputDev: support embedding CCITT image data. CairoOutputDev: limit image size when printing. CairoOutputDev: use GOOD instead of BEST as the default cairo filter for scaling. Error out on save if file has changed since we opened it. PDFDoc: use c instead of x to output binary. index out of bounds undefined behaviour in PSTokenizer. opening files with OutlineItem loops. some in StructTreeRoot parsing of parent tree. Remove error for wrong child type for tagged pdf. FoFiTrueType::readPostTable() from xpdf 4.00. GfxFontDict: merge reference generation from xpdf 4.00. Reset lastAbortCheck on updateLevel reset. PDFDoc::setup: Fail early if base stream length is 0. Check curStr is actually a Stream before doing Stream operations. new Object API porting. Check return code of getChar(), abort reading on error. TextPage: Add horizontal scaling to font matrix. EmbedStream replay. memory leak on error condition. assert on malformed documents. abort in Gfx::opBeginMarkedContent if args 1 is not a name. GfxGouraudTriangleShading::parse: Don't abort on malformed documents. GfxFunctionShading::parse: abort in malformed document. Remove the extern C from glib.h. Don't let ArthurOutputDev be friend of SplashPath anymore. undefined sanitizer warning about qsort. Form.h: include time.h for time_t. Various code improvements. qt5: Add cancellation support to renderToImage and textList. Do not assume all Screen annotation actions are Renditions. KDE qt5: Implement operator= for PageTransition. ArthurOutputDev: 'clip' should intersect new and old clipping path. ArthurOutputDev: Implement updateBlendMode. ArthurOutputDev: Replace the QPainter by a stack of QPainters. ArthurOutputDev: Rudimentary support for transparency groups. Remove stale libcms1 code. demo: don't crash if page is malformed. warnings due to the use of deprecated overloads of Poppler::Page::Search in tests. utils: pdfimages: for files with flate encoded inline images. pdftocairo:
0.62.005 Dec 2017 06:05 major bugfix: core: Stop supporting lcms1, you really want to use lcms2 :). Stop supporting openjpeg1, you really want to use openjpeg2 :). Open files that state 8 bits as third field of W. GfxLabColorSpace::parse: crash in broken documents. leak if parseDA fails. Include glibc.h where needed. Document the meaning of the 'type' integer of a shading. UTF test fail. INSTALL: add deoptions. qt5: Add API to let the rendering process callback to get a partial rendering. qt4: Remove the Qt4 frontend. utils: Support unicode on windows console. pdfsig: install man page. sort encoding list. glib: demo: warning.
0.61.113 Nov 2017 07:25 minor bugfix: Core: CairoOutputDev: don't overflow y stride when accessing image data. Cpp: For corrupted image files on Windows. build system: Incorrect paths in.pc files. add the custom buildtests target only once..
0.61.005 Nov 2017 21:05 major bugfix: core: crashes in broken files. Cleanup unused functions from GlobalParams. Tweak LZWStream::processNextCode error handling. Warning Remove t1lib code. qt5: Clean up the remaining Splash code in Arthur backend. ArthurOutputDev: Properly implement saveState/restoreState. leak in ArthurOutputDev::updateFont. build system: Use GNUInstallDirs. mingw: Install pkg-config files. mingw: change library names to include the soversion. installing a.cc file as header. Use -pthread flag instead of -lpthread.
0.60.107 Oct 2017 22:05 minor feature: Qt5: ArthurOutputDev: Add missing 'return' in error paths. Build system: FindLIBOPENJPEG.cmake: Add CheckCXXSourceCompiles.
0.60.003 Oct 2017 14:05 major bugfix: Core: Enable libcurl support by default. PSOutputDev: wrong text generation. Added methods to get and set the font size of text fields. CairoOutputDev: Do not extend the pattern in drawImageMaskRegular. CairoOutputDev: do not use the custom downscaling for rendering images when using cairo = 1.14. Build with old clang. Various crashes in broken files. Some warnings. Add some constness to the basic classes. Remove unused functions from GlobalParams. Qt5: Added methods to get and set the font size of text fields. Add whether renderToImage shows annotations. ArthurOutputDev: Replace Splash font rendering by Qt font rendering. ArthurOutputDev: Implement the drawSoftMaskedImage method. ArthurOutputDev: several small related to dash pattern handling. Two minor typos. Build system: Cmake is now the default build system. Autotools based build system has been removed. Utils: Pdfinfo: don't truncate dest name.
0.59.007 Sep 2017 07:45 major bugfix: Core: Infinite recursion in NameTree parsing in broken files. Utils: Pdfunite: API porting error that caused abort in some cases. Pdfinfo: crashes and memory leaks when using -dests. Pdfinfo: use GooString.append instead of sprintf/strcat. Pdfimages: warning when compiling with cygwin. Build system: Cygwin 32-bit compile. Cmake tweaks.
0.58.003 Sep 2017 09:45 major bugfix: Core: CairoOutputDev: cairo 1.14 now has high quality downscaling. Signature related improvements. Tweak which cmap we use. Memory leak Substantial rework of the internals. Win32: call ANSI functions directly. Add some documentation. Qt5: Expose signature information. ArthurOutputDev: initialize the image with the paper color. copy'n'paste : Qt4 - Qt5. ArthurOutputDev: Properly set the QPainter transformation. ArthurOutputDev: Use Qt::SvgMiterJoin instead of Qt::MiterJoin. utils: Pdfinfo: add -dests option to print named destinations. pdftocairo: add -jpegopt for setting jpeg compression parameters. pdftoppm: add -jpegopt for setting jpeg compression parameters. pdfimages: support listing/extracting inline images. build system: Cmake: Various Windows cmake: Use -std=c++11 instead of -std=gnu++11. Cpp: Page.text() not taking page orientation into account..
0.57.001 Aug 2017 11:45 major bugfix: Core: Parsing of Type 1 fonts with newlines in encoding sequences. crash in broken documents. Utils: Pdfunite: crash with broken documents. pdftohtml: skip control characters pdfseparate: minor improvement to the documentation. build system: Cmake: Set RUNPATH for poppler shared libs. configure: --disable-FEATURE actually enabling the feature.
0.56.022 Jun 2017 16:05 major bugfix: Core: FormFieldButton::setState() shouldn't check the field is readOnly. Crashes on multiple broken files. Utils: Pdfunite: crash with broken documents..
0.55.022 May 2017 04:25 major bugfix: Core: Abort in files with broken Decode arrays. KDE memory leak (and probably logic ) parsing broken XRef entries. memory leak when reconstructing broken files. Minor optimization. Regression in GfxIndexedColorSpace::mapColorToBase. memory leak in error condition. Cpp: Return nullptr if the page at index can't be fetched. build system: Fail by default if libjpeg is not available. Fail by default if libopenjpeg2/1 is not available.
0.54.022 Apr 2017 19:25 major bugfix: Core: Make XRef reconstruction a bit better. glib: Expose movie play mode. demo: Show play mode in movie properties view. Qt5: Compile with -DQT_NO_CAST_FROM_BYTEARRAY. utils: Pdfimages: don't fail listing if inline image data contains 'EI'..
0.53.023 Mar 2017 22:05 major bugfix: Core: Form support improvements. SplashOutputDev: memory leak when rendering images with colormap and matte color. Minor in GlobalParams documentation. Qt5: Expose form calculate order. Expose Form additional actions. Utils: Pdfimages: support 16bpc png and tiff images. pdftohtml: small memory leak when constructing some filenames. Pdfinfo: leak when printing JS. Build sytem: Compile in C++11 mode.
0.52.016 Feb 2017 10:05 major bugfix: Core: Assert on reading some OCGs. Properly initialize some RichMedia variables in corner cases. qt4: Optcontent structure was leaking the headers items. Cleanup objects in tests to memory leaks. qt5: Optcontent structure was leaking the headers items. Cleanup objects in tests to memory leaks. utils: Pdftocairo.1: typo.
0.51.016 Jan 2017 21:05 major bugfix: Core: Check for error from NSS in SignatureHandler construct. Add Form Field Widget ::setPartialName. Memory leak in PDFDoc::markAnnotations. Qt5: Implement digital signature support. Add Poppler::FormField::setName. Segfault/assert if LinkDestination is constructed with invalid input string. utils: Pdfunite: add fields to AcroForm dict..
0.50.016 Dec 2016 21:05 major bugfix: Core: PSOutputDev: PS conversion for some files. Outline parsing on broken documents. PDFDoc::saveIncrementalUpdate()'s detection of document being modified. SplashOutputDev: Read softmask into memstrean in case of matte. Bail out if Hints nBitsNumObjects or nBitsDiffGroupLength are greater than 32. CairoOutputDev: initialize CairoOutputDev::antialias. crash when loading some thumbnails. utils: Pdftoppm: -tiff -gray/-mono incorrect output. Pdftops: add -passlevel1customcolor. build system: Default to libopenjpeg2 instead of libopenjpeg1. qt: Support OCG state change links. Glib: Use g_slice_new0 for PopplerActionLayer..
0.49.015 Nov 2016 13:05 major bugfix: Core: Merge type3 glyph handling from xpdf 3.04. Continue rendering in case of 'Singular matrix in shading pattern fill. memory leak in parametrized gouraudTriangleShadedFill. Crash on broken files. PDFDoc::setDocInfoStringEntry(): treat value consisting of just the unicode marker as an empty string. UBSAN warning. Misc compile. Utils: Pdfseparate: remove extra ' ' in error message. Build system: Configure: typo in disable nss help string.
0.48.010 Oct 2016 05:45 major bugfix: Core: Crashes and memory leaks in invalid files. Small memory usage improvements. TextOutputDev: Remove null characters from PDF text. TextOutputDev: Break words on all whitespace characters. UTF16 decoding of document outline title. Add functions for named destination name in name-tree/dict. Glib: Increase glib requirement to 2.41.
0.47.020 Aug 2016 06:45 major bugfix: Core: Abort on documents where the docinfo obj is not a dict. Check for XRefEntry existing before using it. memory leak on PDFDoc::setDocInfoStringEntry() with empty string. Don't presume that DocInfo is a dictionary in XRef::createDocInfoIfNoneExists(). Build system: Configure: Work with non gnu greps.
0.46.026 Jul 2016 01:45 major bugfix: Core: Cairo: in setAntialias(). Cairo: tiling patterns with BBox with non-zero x,y. Cairo: try finding glyphs in substitute fonts by unicode value. Added XRef modification flag. Added DocInfo setters getters. Be less strict when parsing FitH Link destinations. utils: Pdftocairo: revert the use of groups for blending into white page. Pdftocairo: Use fprintf for printing errors. Pdfinfo: Don't print pdf info when printing metadata, javascript, or structure. glib: Added document property setters simplified getters. Make document metatag gobject properties writeable. Cpp: Pass len to GooString constructor in detail::ustring_to_unicode_GooString(). Added functions to save a document. Added document property setters getters. Qt4: Added document property setters simplified getters. Qt5: Added document property setters simplified getters. Build system: Configure: Don't use -fPIC on cygwin. Configure: Work with non gnu greps.
0.45.018 Jun 2016 02:45 major bugfix: Core: SplashOutputDev: iccTransform + splashModeXBGR8. Memory leaks. Crash in broken files.. Emulate some non portable glibc functions when not available. Utils: Pdftohtml: crash in broken files. pdfinfo: convert dates to local time zone. Pdfinfo: add -isodates for printing dates in ISO-8601 format. Pdfinfo: memory leaks. Glib: Return date in UTC instead of local time. cpp: Switched from detail::convert_date() to core's dateStringToTime().
0.44.023 May 2016 00:45 major bugfix: Core: Compile in 32bit linux. Splash: type 3 chars. restore the current position also in output device. Splash: Improve rendering of some dotted lines. Refactor GooString::Set(). typo in GfxPatchMeshShading::parse. Memory leak in PSOutputDev::filterPSLabel. Memory leak in SignatureHandler::getDefaultFirefoxCertDB_Linux. Potential crash in SplashOutputDev::doUpdateFont. Potential crash in TextPage::coalesce. Remove call that does nothing. Utils: Pdftocairo: add -antialias option..
0.43.002 May 2016 08:45 major bugfix: Core: Implement sanity check for linearization usage. Add SymbolMT as an alias for the Symbol font. some blank files. cairo: fillToStrokePathClip crash and rendering. cairo: Check if PDF knows the width of 'm' in case of substituted font. cairo: save mask state and don't extend image mask. SplashOuputDev: Compile with C++11 compilers that don't define isinfinite. typo. Utils: Pdftocairo: Calculate rotation before scaling. qt4: Crash on certain PDF form item activation actions. qt5: Crash on certain PDF form item activation actions..
0.42.018 Mar 2016 01:05 major bugfix: Core: Add the support for version 5 + revision 6 documents. Add initial support for Signature handling. Initialize gamut mapping multipliers in ::copy() functions. Implement jpx streams support with depth 8. Handle SMaskInData = 0 for JPX encoded images. rendering of some broken PDF files. PSOutputDev: Support for LZW encoding. PSOutputDev: Add support for Flate compression in Level 3 output. SplashOuputDev: Implement function shading. SplashOuputDev: Improve rendering of some non embedded fonts. SplashOuputDev: Fall back to Gfx implementation of tiling pattern if repetition rate is small. SplashOuputDev: Implementation of Matte entries in softmasks of softmasked images. SplashOuputDev: assure line width 0 in case of text stroke. TextOuputDev: Cache result of inner loop in visitDepthFirst. Avoid attempting a tiling pattern fill with a singular transform matrix. Utils: Pdfinfo: Add option to show document structure. Pdfsig: New command that gives information about signature. Qt4: in links to remote documents getting the page number wrong sometimes. Qt5: in links to remote documents getting the page number wrong sometimes.
0.41.017 Feb 2016 20:05 major bugfix: Core: CairoOutputDev: add missing font types (fontCIDType0COT and fontTrueTypeOT). SplashOutputDev: Adjust limit check and check in addition bitmap pointer. utils: Pdfseparate: Refine resource detection. Pdfinfo: man page.
0.40.015 Jan 2016 06:05 major bugfix: Core: CairoOutputDev: Use shape mask with soft mask. TextOutputDev: Handle right-to-left text in search. TextOutputDev: finding Arabic Presentation Forms ligatures. Crash in invalid file. Regression test improvements. Utils: Pdftocairo: writing to stdout out with image output. Pdftocairo: document that -singlefile appends file type. pdftocairo: ensure surface flushed before accessing image data. Pdftocairo: check for invalid use of options. pdfunite: typo in manual. Build system: Improve cmake build system.
0.39.017 Dec 2015 13:45 major bugfix: Core: Ignore the alternateSpace and tintTransform. CairoOutputDev: Scale radial pattern. CairoOutputDev: Implement function shading using mesh gradients. Regression test improvements. Typos in error messages. Build system: Visual Studio 2015 now supports snprintf. utils: Pdftops: PageBoundingBox. pdftocairo: double free when both user and owner passwords are given. Glib: Add duration_real to PopplerPageTransition. Remove enum PopplerOrientation from API. documentation improvements. Glib-demo improvements.
0.38.017 Nov 2015 03:17 major bugfix: Core: Splash: Multiply opacity in case of pattern colorspace. Small form improvements on non ascii character rendering. Clarify README. Build system: Clarify internal DCT and JPX are only provided as deprecated fallbacks. Utils: Pdftocairo: fit to page transformation.
0.37.010 Oct 2015 16:05 major bugfix: Core: CairoOutputDev: Use mask for even-odd fill. SplashOuputDev: Protect calls to set/getAA with the proper #if guards. SplashOuputDev: Try to use an external font if the internal one is invalid. PageTransition D is a number not an int. Catalog::getNumPages(): validate page count. Catalog::cachePageTree(): recover from out of memory condition. Crashes in malformed documents. Build system: Configure: openjpeg detection.
0.36.011 Sep 2015 00:25 major bugfix: core: Patch to support RichMedia annotations. Splash: wrong memory access. Cairo: size of transparency group surface. bounds check in Linearization::getPageFirst. File Saving improvements. Add premultiplied alpha channel to SplashBitmap. for xref table creation. JBIG2Decode infinite loop and stack overflow. Minor optimization in text extraction. qt4: Basic support for RichMedia annotations. Change default image format. Minor optimizations. qt5: Basic support for RichMedia annotations. Change default image format. Minor optimizations. cpp: utf8/utf16 conversion. build system: Do not hardcode -fPIC in Makefile.am. cmake: Allow configuring SHARE_INSTALL_DIR. utils: pdfunite: Insert embedded files in result pdf. pdftotext: Add -bbox-layout option..
0.35.010 Aug 2015 18:05 bugfix: core: Fix assert in broken file. Adjust memory layout computation of GooString. Make SplashBitmap XBGR transfer alpha channel. Splash: Fix wrong writes on non rgb outputs. Splash: remove ifndef in Windows code. GlobalParamsWin bugfixes. qt4: Switch default image format. Add IgnorePaperColor render flag. qt5: Improve efficiency of Poppler::Page::renderToImage. Switch default image format. Add IgnorePaperColor render flag. build system: Allow configuring SPLASH_CMYK support. Add configure --enable-build-type. glib: Explicitly link against pthread. Deprecation fixes. utils: pdftocairo: Fix cast to pointer from integer of different size on win64.
0.34.010 Jul 2015 05:45 minor bugfix: Splash: Fix crash in PDF with nested softmasks. Splash: Speed up of rendering icc based images. PSOutputDev: Embed Type1 fonts to PostScript files correctly. Fix pedantic memory leak. glib: update new symbols section. cmake: Make sure ENABLE_LIBOPENJPEG is either 0 or 1.
0.33.015 May 2015 14:25 minor feature: core: Fix regression in pdftops parameter passing. * Combine base characters and diacritical marks. * Use width from W array for WMode positioning. * Fixed adding annotation of Subtype Popup to pdf page. * CairoOutputDev: Fix memory leak in CairoFreeTypeFont::create. * SplashOutputDev: memset on error to have reproducible outputs. qt4:. * Fix PDF Text String - QString conversion. KDE qt5:. * Fix PDF Text String - QString conversion. KDE glib:. * Add poppler_annot_markup_set_popup_rectangle(). * Fix segfault when creating PopplerAction. utils:. * pdftohtml: Set exit status adecuately. build system:. * configure: Fix invalid shell comparaison in libtiff test.
0.32.008 Mar 2015 17:05 minor feature: Annotations: Fix rendering of empty BG/BC arrays. Splash: Fix wrong colour shown when GouraudTriangleShFill uses a DeviceN colorspace. Splash: Fix use of uninitialized variable in Splash::pipeRun. Remove unnecesary check for font validity. Small optimization in GooString::appendfv. Fix crashes in malformed files. utils: pdftops: Make colorpsace optimization an option instead of default. pdfseparate: use always an unique instance for PDFDoc for savePageAs. build system: cmake: If extra-cmake-modules is around include the Sanitizers module.
0.31.009 Feb 2015 00:05 minor feature: CairoOutputDev: support embedding JBIG2 image data. Accept malformed documents whose root is a Page instead of a Pages. Fix crash on broken documents. JPEG2000Stream: Inline doGetChar and doLookChar. GlobalParams cleaning. utils: pdftops: Add rasterization option. qt4: Expose whole-words search option. qt5: Expose whole-words search option.
0.30.006 Jan 2015 22:05 major feature: New core features: Openjpeg2 support (openjpeg 1 is preferred). Fixed potential memory corruption on TextSelectionDumper. Check for invalid matrix in annotation. Open some not conforming files. PSOutputDev: Accept a list of pages indeces instead of first, last. Fix memory leak on error condition. New C++ API to set debug output function. Improve support with older clang versions. Pdfunite util: Support output intents, optional content and acroform.