Release 22.01.0:
core:
* Allow local (relative to dll) fonts dir on Windows
* TextOutputDev: require more spacing between columns. Issue #1093
* Fix crash in Splash::gouraudTriangleShadedFill. Issue #1183
* Fix crash when calling Form::reset()
* GfxSeparationColorSpace: Check validity of colorspace and function. Issue #1184
* Minor code improvements
glib:
* Include glib.h before using defines from it
* Close 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: Fix signing with -sign if nss password is needed
Release 21.12.0:
core:
* Add API to add images
* CairoOutputDev: Fix de-duping of Flate images
* Fix crash on broken files when using non-default ENABLE_ZLIB_UNCOMPRESS. Issue #393
* 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. Issue #1117
build system:
* Increase C++ standard to 17
Release 21.05.0:
core:
* Fix 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: Fix regression when using single scaleTo. Issue #1062
build system:
* Allow to disable building manual tests
Release 21.04.0:
core:
* Hide symbols by default
* TextSelectionDumper: fix word order for RTL text
* Fix rendering of text in some files.
* Implement rendering of Masks of Image subtype.
* Forms: fix 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:
* Fix crash in files with malformed signatures
* Fix memory leak when QImage constructor "fails"
qt6:
* Fix crash in files with malformed signatures
* Fix 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
Release 21.03.0:
core:
* Fix parsing text in some broken pdf files.
* Fix memory issue when using threads.
* TextSelectionDumper: Fix getText() for space after word
* Change signature of OutputDev:tilingPatternFill
* Make PDFDocBuilder return a std::unique_ptr
* Improve well formed check for shading functions
* Fix leak in case of fread failing
* Fix memory leak in broken file in JBIG2Stream::readGenericBitmap
* PSOutputDev: Fix stack overflow in broken files
glib:
* poppler_annot_free_text_get_callout_line: Fix wrong static cast
* poppler-structure-element: fix memleak
* Improve documentation
* demo: keep same visual appearance between displayed and copied text
utils:
* pdftotext: Add -cropbox option
* pdftoppm: Add -progress option
* pdftoppm: Fix rounding bug in computation of output bitmap size.
qt6:
* Add missing poppler-qt6.pc.cmake
Release 21.02.0:
core:
* GfxCal*ColorSpace: introduce Bradford transform for chromatic adaptation
* Fix memory leak if saving the file fails
* Internal code improvements
* Fix various issues handling broken files
* Make checkedAdd work for long long in MSVC
qt5:
* Properly export NewSignatureData class
* Fix regression in QIODeviceOutStream + MSVC
qt6:
* Properly export NewSignatureData class
* Fix regression in QIODeviceOutStream + MSVC
utils:
* pdftohtml: Fix error() parameter type
Release 20.11.0:
core:
* More work on rendering of standalone Annot Widgets. Issue #806
* Fix crashes in embedded file handling on broken files. Issue #967
* Fix uninitialized memory read on broken files
* Save a bit of memory in Dict data
cpp:
* Fix crashes in embedded file handling on broken files. Issue #966
utils:
* pdftohtml: HTML and XML output includes font opacity.
qt5:
* Rename ArthurOutputDev to QPainterOutputDev
build system:
* Fix 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
Release 20.10.0:
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: fix crash in out-of-memory situation.
* Fix some undefined behaviour situation with forged files
Release 20.09.0:
core:
* Compability fix for Forms
* Fix fetching of Objects failing in some cases
* Fix 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
* Fix memory leak on broken files
* Fix 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
Release 20.08.0:
core:
* Sub-page objects: initialize clip max values considering the render resolution. Issue #937
* Splash: Set initial line width to 1. Issue #674
* Fix stack overflow with specially crafted files
* GfxShading: Simplify holding the Function
* Splash: Fix x86 + windows asm build
qt5:
* Deprecate Document::toc
* Deprecate AnnotationUtils
Release 0.90.1:
core:
* Fix 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 :)
Release 0.90.0:
core:
* Color profile tweaks
* Small signature improvements
* BBoxOutputDev: Fix calculation when type3 fonts are involved
* Fix potential crash when reading Forms
* Fix infinite loop in broken file
glib:
* Fix adding annots in rotated pages
* Add ability to reset forms
* Several fixes to the documentation
qt5:
* Make it clear we require Qt 5.5
* demo: Fix 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
Release 0.89.0:
core:
* Add support for ResetForm action. Issue #225
* Fix crash in PDFDoc::getSignatureFields when there's no Forms at all
* Fix 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. Issue #894
* Fix memory leak when failing to load some fonts
* CairoOutputDev: Use stroke opacity when clipping to a stroke path
* CairoOutputDev: Fix tiling patterns when pattern cell is too far. Issue #190
glib:
* Add poppler_movie_get_aspect
cpp:
* Add the font infos to the text_box object
Release 0.88.0:
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: Fix 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. Issue #767
cpp:
* Add non_raw_non_physical layout for page::text()
utils:
* pdftohtml: Fix noRoundedCoordinates->noroundcoord in man page
* pdfsig: Show also signatures that aren't attached to any page
Release 0.87.0:
core:
* Fix leak in broken files
* Internal code improvements
qt5:
* Add option to get form choice for export value
* ArthurOutputDev: Avoid division by zero in updateLineDash. Issue #695
glib:
* Internal code improvements
utils:
* pdftohtml: Fix memory leak in HtmlOutputDev::getLinkDest
Release 0.84.0:
core:
* Fix crash when converting from Unicode to ASCII-7
* Splash::scaleImageYdXu: Protect against crash if srcWidth is too big
* JBIG2Stream: fix potential crash in malformed documents
* JBIG2Stream: fix 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: Fix exit code when dumping signatures
* pdftocairo: Error out when even/odd selects 0 pages
* pdftohtml: Fix 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:
* Fix compiler warrnings
Release 0.83.0:
core:
* Improve when a file is recognized as Linearized
* Improve const-ness of the code
* Make code a bit more readable/maintanable
* Fix 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
Release 0.82.0:
core:
* Fix not being able to open some files. Issue #832
* Fix crashes in malformed files
* Fix 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
pkgsrc changes:
to avoid adding a new dependency on boost, poppler now uses cairo as
the default graphics backend. the qt5 package seems to require splash (?)
so that one gets a new boost dependency.
we could also avoid it by forcing cmake detection to fail, but in this
case it prints a warning about performance losses.
Release 0.81.0:
core:
* Splash: Always enable support for CMYK rasterization
* CairoOutputDev: Check scaled dimensions for 0. Issue #737
* BaseCryptStream: Fix potential uninitialized memory read
* SplashBitmap: Fix wrong width condition for splashModeDeviceN8
* Fix crashes in malformed files
Release 0.80.0:
core:
* Annotations: Implement support for setting a different text in the appearance stream than the real text
* Splash: Optionally use small_vector from boost
* Fix memory leaks on broken files
* Fix abort on broken files
* Small code simplifications
* Remove USE_FIXEDPOINT support. Issue #821
qt5:
* Fix MSVC build
* Add subsitute-font information
* Fix since marker of some functions
* Fix 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
Release 0.79.0:
core:
* Fix regression on TextSelectionPainter
* Fix parsing of DefaultAppearance
* Fix memory leak in PostScriptFunction
* Fix 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
Release 0.78.0:
core:
* Fix line annotation arrows for usage in dimensioning
* Handle Ink annots without an InkList but with an AP
* Fix typos preventing parsing of Movie start and duration
* Fix 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()
* Fix introspection for poppler_document_new_from_data
* Don't create PopplerInputStream with length 0. Issue #414
* Document G_IO_ERROR as a possible error condition
* docs: Add index for API new in 0.78
build system:
* Fixes cross compilation of gir in Void Linux
* Add -Wshadow to the default warning flags
* install pkg-config pc files if pkg-config is found
Release 0.77.0:
core:
* Fix crash on signature handling. Issue #766
* Fix small memory leak in SignatureHandler::getCertificateInfo
* Splash: Restrict filling of overlapping boxes. Issue #750
* Fix crash on malformed files
qt5:
* Fix optional content handling with exclusive layers
cpp:
* Make render_page thread-safe
utils:
* pdfsig: Fix small memory leak
* pdftotext: Fix typo in manpage
poppler-0.76.1:
core:
* Make the mul tables be calculated at compile time with constexpr.
* splash: Fix compile with SPLASH_CMYK enabled
* Some typo fixing in error messages
qt5:
* Fix regression in annotation handling
build system:
* Fix some typos in build system output and comments
poppler-0.76.0:
core:
* Fix regression on case-insensitive search.
* Remove GooList, use std::vector instead
* Fix 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
* Fix crashes in broken files
* Fix mismatched free/delete
* Add missing include guards
utils:
* pdftohtml: Properly initialize HtmlOutputDev::page to avoid SIGSEGV upon error exit.
poppler-0.75.0:
core:
* Fix rendering of some annotations
* Fix 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: fix use after free
Release 0.71.0:
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: Fix crash if document is malformed (too wide)
qt5:
* Fix crash when adding Highlight Annotations
* Default to hidden symbols
* Fix two leaks in a test
glib:
* demo: Fix build on Windows
* demo: Align property labels to top of cell
cpp:
* Fix typos in documentation
build system:
* Enable searching for GTK on Windows
* Remove unused files
* Add fuzzer target from oss-fuzz project
Release 0.70.1
glib:
* Install missing file
Release 0.70.0
core:
* FreeText annotations: default to font from default appearance string
* Splash: Speed improvements
* Fix security issues 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:
* Fix crash on missing embedded file
* Add support for PDF subtype property
* Only export symbols in the public API
utils:
* pdftohtml: Improve font handling
Release 0.69.0
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: Fix memory leak regarding next actions
* Fix handling of Signature Info Location and Reason
* Fix errors in computation of type3 glyphs transformation matrix
* Reimplement Dict class in a more modern way
* Fix security issues found by oss-fuzz
* Fix memory issues in GfxImageColorMap copy ctor
* Don't abort if the SampleFunction has too many samples. Issue #634
* Document the OutputDev::clip and OutputDev::oeClip methods
* fix macOS compilation due to boolean define in jpeglib
* Split GDir and GDirEntry out of gfile.h. Issue #370
qt5:
* Add annotation font color
cpp:
utils:
* pdfinfo: Show PDF subtype
* pdftotext: Fix only outputs first page content with -bbox-layout option. Issue #88
* pdftotext: Fix memory leak in printLine
build system:
* Require C++14
Release 0.63.0
core:
* CairoOutputDev: support embedding CCITT image data. Bug #103399
* CairoOutputDev: limit image size when printing. Bug #103399
* CairoOutputDev: use GOOD instead of BEST as the default cairo filter for scaling. Bug #103136
* Error out on save if file has changed since we opened it. Bug #103793
* PDFDoc: use %c instead of \x to output binary. Bug #103873
* Fix index out of bounds undefined behaviour in PSTokenizer. Bug #103583
* Fix opening files with OutlineItem loops. Bug #102914
* Fix some bugs in StructTreeRoot parsing of parent tree. Bug #103912
* Remove error for wrong child type for tagged pdf. Bug #103587
* FoFiTrueType::readPostTable() from xpdf 4.00. Bug #102880
* GfxFontDict: merge reference generation from xpdf 4.00. Bug #104565
* Reset lastAbortCheck on updateLevel reset
* PDFDoc::setup: Fail early if base stream length is 0. Bug #103552
* Check curStr is actually a Stream before doing Stream operations. Bug #104518
* Fix new Object API porting bug. Bug #104517
* Check return code of getChar(), abort reading on error. Bug #104502
* TextPage: Add horizontal scaling to font matrix. Bug #105259
* Fix EmbedStream replay. Bug #103446
* Fix memory leak on error condition
* Fix assert on malformed documents. Bug #104354
* Fix abort in Gfx::opBeginMarkedContent if args[1] is not a name. Bug #104468
* GfxGouraudTriangleShading::parse: Don't abort on malformed documents. Bug #104567
* GfxFunctionShading::parse: Fix abort in malformed document. Bug #104581
* Remove the extern C from glib.h. Bug #103621
* Don't let ArthurOutputDev be friend of SplashPath anymore
* Fix 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 bug #388175
* 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. Bug #104358
* demo: don't crash if page is malformed
* Fix warnings due to the use of deprecated overloads of Poppler::Page::Search in tests.
utils:
* pdfimages: Fix for files with flate encoded inline images. Bug #103446
* pdftocairo: Remove stale libcms1 code. Bug #104358
* pdfimages: Fix build without libtiff and libpng
* pdfseparate: Fix buffer size warning due to missing space for null terminator
build system:
* Enable building all libs as static libs
* Enable no-missing-field-initializers
* Remove unused FindLIBOPENJPEG.cmake
* add "--owner root:0 --group root:0" options to tar command in dist target. Bug #104398
* Add python3 support to gtkdoc.py
* gtkdoc.py: Make it work with newer gtk-doc. Bug #105075
cpp:
* Add page::text_list