Release 0.72.0:
core:
* Fix checkbox lacking AP not bein able to change state. Issue #655
* 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. Issue #669
* GooString::fromInt: Repair the return value.
* Minor performance improvements
* Avoid cycles in PDF parsing
* Stream::makeFilter: Fix memory leak
* Fix various issues 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. Issue #661
* pdfdetach: Check for valid file name of embedded file before using it to determine save path. Issue #660
* Fix typos in utils.
glib:
* Fix missing PopplerAttachment destructor call
* Support getting form widget additional actions.
* docs: Small improvements
qt5:
* Internally compile with -DQT_NO_SIGNALS_SLOTS_KEYWORDS
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.68.0
core:
* Add Reason and Location to SignatureInfo. Bug #107299
* Fix memory misuse on signature handling
* Fix security issues found by oss-fuzz
* Don't give a warning when Marked value is false. Bug #107430
qt5:
* Add Reason and Location to SignatureInfo. Bug #107299
cpp:
* Add rotation() to text_box. Bug #106562
* Fix build with MSVC
utils:
* pdftoppm: Add -jpegopt optimize option support
* pdftocairo: Add -jpegopt optimize option support
* pdftohtml: Add option to not round coordinates
* pdftohtml: Fix possible crash. Bug #107316
build system:
* Use OpenJpeg cmake config file instead of pkgconfig
* Remove wchar_t- on MSVC
Release 0.67.0
core:
* Fix lots of security/leak issues found by oss-fuzz
* Splash: Optimize some files, making them 20% faster (now for AABGR8)
utils:
* pdfsig: Compile with libc != glibc. Bug #106783
Release 0.66.0
core:
* Fix lots of security/leak issues found by oss-fuzz
* Splash: Optimize some files, making them 20% faster
* Splash: Correctly manipulate spot colors if SPOT_NCOMPS != 4
* Fix compilation with some strict compilers
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.64.0
core:
* Workaround form field text not being drawn on broken files. Bug #103245
* Add read only setter for form fields
* Add support for Link Hide action
* Add support for Next actions in Links
* Fix parsing of Annot focus out actions
* Fix PDFDoc::checkHeader() for PDFs smaller than 1 KiB. Bug #105674
* Add const to several classes and members
* gfile: Fix build on some platforms
* Fix issues with on malformed documents. Bug #105972, #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. Bug #105531
* ArthurOutputDev: Implement Type3 font support
utils:
* pdfsig: Add -dump which writes signatures to disk. Bug #104881
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
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
Release 0.62.0
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. Bug #103469
* GfxLabColorSpace::parse: Fix crash in broken documents. Bug #103582
* Fix leak if parseDA fails
* Include glibc.h where needed
* Document the meaning of the 'type' integer of a shading
* Fix UTF test fail
* INSTALL: add debug options
qt5:
* Add API to let the rendering process callback to get a partial rendering. Bug #103372
qt4:
* Remove the Qt4 frontend
utils:
* Support unicode on windows console
* pdfsig: install man page
* sort encoding list
glib:
* demo: fix warning
The gtkdoc.py patch used a mixture of tabs and spaces, which was rejected
by the Python interpreter. Also (with Python 3.6 as default), there was an
uncaught TypeError, which I added to the existing except clause.
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:
* FormFieldButton::setState() shouldn't check the field is readOnly
* Fix crashes on multiple broken files
utils:
* pdfunite: Fix crash with broken documents.
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.54.0
core:
* Make XRef reconstruction a bit better. Bug #100509
glib:
* Expose movie play mode. Bug #99625
* demo: Show play mode in movie properties view
qt5:
* Compile with -DQT_NO_CAST_FROM_BYTEARRAY. Bug #100311
utils:
* pdfimages: don't fail listing if inline image data contains 'EI'. Bug #100737
Release 0.53.0
core:
* Form support improvements
* SplashOutputDev: Fix memory leak when rendering images with colormap and matte color
* Minor fix in GlobalParams documentation
qt5:
* Expose form calculate order
* Expose Form additional actions
utils:
* pdfimages: support 16bpc png and tiff images. Bug #99988
* pdftohtml: fix small memory leak when constructing some filenames
* pdfinfo: fix leak when printing JS
build sytem:
* Compile in C++11 mode
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
Release 0.48.0
core:
* Fix crashes and memory leaks in invalid files.
* Small memory usage improvements.
* TextOutputDev: Remove null characters from PDF text. Bug #97144
* TextOutputDev: Break words on all whitespace characters. Bug #97399
* Fix UTF16 decoding of document outline title. Bug #97156
* Add functions for named destination name in name-tree/dict
glib:
* Increase glib requirement to 2.41
Release 0.47.0
core:
* Fix abort on documents where the docinfo obj is not a dict. Bug #97134
* Check for XRefEntry existing before using it. Bug #97005
* Fix 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
Release 0.46.0
core:
* cairo: fix bug in setAntialias()
* cairo: Fix tiling patterns with BBox with non-zero x,y
* cairo: try finding glyphs in substitute fonts by unicode value. Bug #96994
* Added XRef modification flag
* Added DocInfo setters & getters
* Be less strict when parsing FitH Link destinations. Bug #96661
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. Bug #96801
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(). Bug #96426
* 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
Release 0.45.0
core:
* SplashOutputDev: Fix iccTransform + splashModeXBGR8
* Fix memory leaks
* Fix crash in broken files. Bug #95567. Bug #96027
* Emulate some non portable glibc functions when not available
utils:
* pdftohtml: Fix crash in broken files. Bug #95563
* pdfinfo: convert dates to local time zone
* pdfinfo: add -isodates for printing dates in ISO-8601 format
* pdfinfo: Fix memory leaks
glib:
* return date in UTC instead of local time. Bug #94173
cpp:
* switched from detail::convert_date() to core's dateStringToTime()
Release 0.44.0
core:
* Fix Compile in 32bit linux. Bug #95492
* Splash: type 3 chars. restore the current position also in output device. Bug #95344
* Splash: Improve rendering of some dotted lines. Bug #84693
* Refactor GooString::Set(). Bug #94201
* Fix typo in GfxPatchMeshShading::parse
* Fix memory leak in PSOutputDev::filterPSLabel
* Fix memory leak in SignatureHandler::getDefaultFirefoxCertDB_Linux
* Fix potential crash in SplashOutputDev::doUpdateFont
* Fix potential crash in TextPage::coalesce
* Remove call that does nothing
utils:
* pdftocairo: add -antialias option. Bug #94977
Release 0.43.0
core:
* Implement sanity check for linearization usage. Bug #92482
* Add SymbolMT as an alias for the Symbol font. Bug #93168
* Fix some blank files. Bug #94756
* cairo: fix fillToStrokePathClip crash and rendering. Bug #62905
* cairo: Check if PDF knows the width of 'm' in case of substituted font. Bug #94054
* cairo: save mask state and don't extend image mask. bug #94234
* SplashOuputDev: Compile with C++11 compilers that don't define isinfinite. Bug #94761
* typo fixes
utils:
* pdftocairo: Calculate rotation before scaling. Bug #94655
qt4:
* Fix crash on certain PDF form item activation actions. Bug #94873
qt5:
* Fix crash on certain PDF form item activation actions. Bug #94873