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.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
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.65.0
core:
* SplashOutputDev: Add the invisible character check beginType3Char. Bug #106244
* XRef: Fix runtime undefined behaviour. Bug #105970
* Fix issues with malformed documents. Bug #104942, #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. Bug #105558
build system:
* Fix compilation with libc++
* Small improvement to FindLIBOPENJPEG2.cmake
qt5:
* Add widget annot actions to FormFields
utils:
* pdffonts: Minor formatting changes in the man page. Bug #105194
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
The actual fix as been done by "pkglint -F */*/buildlink3.mk", and was
reviewed manually.
There are some .include lines that still are indented with zero spaces
although the surrounding .if is indented. This is existing practice.
This has been a pkglint warning for several years now, and pkglint can even
fix it automatically. And it did for this commit.
Only in lang/mercury, two passes of autofixing were necessary because there
were nested variables.
note: script detailed in `man revbump` insisted on bumping pkgrevision of
print/poppler, it's probably wrong, but not committing this change is wronger.
fixing CVE-2017-14517 CVE-2017-14518 CVE-2017-14519 CVE-2017-14520
CVE-2017-15565
upstream notable changes:
Release 0.61.1
core:
* CairoOutputDev: don't overflow y * stride when accessing image data
cpp:
* Fix for corrupted image files on Windows. Bug #102494
build system:
* Fix incorrect paths in .pc files. Bug #103578
* add the custom buildtests target only once. Bug #103003
Release 0.61.0
core:
* Fix crashes in broken files
* Cleanup unused functions from GlobalParams
* Tweak LZWStream::processNextCode error handling. Bug #103174
* Warning fixes
* Remove t1lib code
qt5:
* Clean up the remaining Splash code in Arthur backend. Bug #103117
* ArthurOutputDev: Properly implement saveState/restoreState. Bug #103118
* Fix leak in ArthurOutputDev::updateFont. Bug #103508
build system:
* Use GNUInstallDirs. Bug #103211
* mingw: Install pkg-config files
* mingw: change library names to include the soversion. Bug #103157
* Fix installing a .cc file as header
* Use -pthread flag instead of -lpthread
Release 0.60.1
qt5:
* ArthurOutputDev: Add missing 'return' in error paths
build system:
* FindLIBOPENJPEG.cmake: Add CheckCXXSourceCompiles
Release 0.60.0
core:
* Enable libcurl support by default
* PSOutputDev: Fix wrong text generation. Bug #102760
* Added methods to get and set the font size of text fields. Bug #101692
* CairoOutputDev: Do not extend the pattern in drawImageMaskRegular
* CairoOutputDev: do not use the custom downscaling for rendering images when using cairo >= 1.14
* Fix build with old clang
* Fix various crashes in broken files
* Fix 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. Bug #101692
* Add whether renderToImage shows annotations
* ArthurOutputDev: Replace Splash font rendering by Qt font rendering
* ArthurOutputDev: Implement the drawSoftMaskedImage method
* ArthurOutputDev: Fix several small bugs related to dash pattern handling
* Fix 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
Changelog:
Release 0.59.0
core:
* Fix infinite recursion in NameTree parsing in broken files
utils:
* pdfunite: Fix API porting error that caused abort in some cases
* pdfinfo: Fix crashes and memory leaks when using -dests
* pdfinfo: use GooString.append instead of sprintf/strcat
* pdfimages: Fix warning when compiling with cygwin
build system:
* Fix cygwin 32-bit compile
* cmake tweaks
core:
* Fix abort in files with broken Decode arrays.
* Fix memory leak (and probably logic bug) parsing broken XRef entries.
* Fix memory leak when reconstructing broken files.
* Minor optimization
* Fix regression in GfxIndexedColorSpace::mapColorToBase.
* Fix 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
Release 0.50.0
core:
* PSOutputDev: Fix PS conversion for some files. Bug #63963
* Fix Outline parsing on broken documents. Bug #98732
* Fix PDFDoc::saveIncrementalUpdate()'s detection of document being modified. Bug #96561
* SplashOutputDev: Read softmask into memstrean in case of matte. Bug #97803
* Bail out if Hints nBitsNumObjects or nBitsDiffGroupLength are greater than 32. Bug #94941
* CairoOutputDev: initialize CairoOutputDev::antialias. Bug #98983
* Fix crash when loading some thumbnails. Bug #97870
utils:
* pdftoppm: Fix -tiff -gray/-mono incorrect output.
* pdftops: add -passlevel1customcolor. Bug #97193
build system:
* Default to libopenjpeg2 instead of libopenjpeg1
qt:
* Support OCG state change links
glib:
* Use g_slice_new0 for PopplerActionLayer. Bug #98786
Release 0.49.0
core:
* Merge type3 glyph handling from xpdf 3.04. Bug #96667
* Continue rendering in case of 'Singular matrix in shading pattern fill. Bug #98623
* Fix memory leak in parametrized gouraudTriangleShadedFill
* Fix crash on broken files
* PDFDoc::setDocInfoStringEntry(): treat value consisting of just the unicode marker as an empty string
* Fix UBSAN warning
* Misc compile fixes
utils:
* pdfseparate: remove extra '%' in error message
build system:
* configure: Fix typo in disable nss help string