From db08974e88509bd718d8f32dea9a94b1784b27e2 Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Mon, 26 Oct 2020 19:39:36 -0400 Subject: [PATCH] Release notes for 10.0.2 --- ChangeLog | 6 ++ manual/qpdf-manual.xml | 191 ++++++++++++++++++++++++++++++++++++++++- 2 files changed, 195 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4c36b4fe..06722059 100644 --- a/ChangeLog +++ b/ChangeLog @@ -112,6 +112,12 @@ newer version of gcc and MSVC toolchains. Add several cosmetic improvements to build output in CI. + * Added LL_FMT to config.h.in. This is populated automatically by + autoconf, but if build with your own build system, you may need to + define it as whatever the format string needed by printf for long + long is. Usually this is "%lld", but it can be "%I64d" for some + older Windows-based compilers. + 2020-04-29 Jay Berkenbilt * Bug fix: qpdf --check was writing errors and warnings reported diff --git a/manual/qpdf-manual.xml b/manual/qpdf-manual.xml index 659fbd08..17b778b9 100644 --- a/manual/qpdf-manual.xml +++ b/manual/qpdf-manual.xml @@ -5,8 +5,8 @@ - - + + ]> @@ -4805,6 +4805,193 @@ print "\n"; --> + + 10.0.2: October 27, 2020 + + + + + Bug Fixes + + + + + When concatenating content streams, as with + , there were cases in + which qpdf would merge two lexical tokens together, creating + invalid results. A newline is now inserted between + merged content streams if one is not already present. + + + + + Fix an internal error that could occur when copying foreign + streams whose stream data had been replaced using a stream + data provider if those streams had indirect filters or + decode parameters. This is a rare corner case. + + + + + Ensure that the caller's locale settings do not change the + results of numeric conversions performed internally by the + qpdf library. Note that the problem here could only be + caused when the qpdf library was used programmatically. + Using the qpdf CLI already ignored the user's locale for + numeric conversion. + + + + + Fix several instances in which warnings were not suppressed + in spite of and/or errors or + warnings were written to standard output rather than + standard error. + + + + + Fixed a memory leak that could occur under specific + circumstances when + was used. + + + + + Fix various integer overflows and similar conditions found + by the OSS-Fuzz project. + + + + + + + Enhancements + + + + + New option causes qpdf to + exit with a status of 0 rather than + 3 if there are warnings but no errors. + Combine with to completely ignore + warnings. + + + + + Performance improvements have been made to + QPDF::processMemoryFile. + + + + + The OpenSSL crypto provider produces more detailed error + messages. + + + + + + + Build Changes + + + + + The option is now supported + by qpdf's ./configure script. Some + distributions' packaging standards recommended the use of + this option. + + + + + Selection of a printf format string for long + long has been moved from ifdefs to + an autoconf test. If you are using your own build system, + you will need to provide a value for + LL_FMT in + libqpdf/qpdf/qpdf-config.h, which would + typically be "%lld" or, for + some Windows compilers, "%I64d". + + + + + Several improvements were made to build-time configuration + of the OpenSSL crypto provider. + + + + + A nearly stand-alone Linux binary zip file is now included + with the qpdf release. This is built on an older (but + supported) Ubuntu LTS release, but would work on most + reasonably recent Linux distributions. It contains only the + executables and required shared libraries that would not be + present on a minimal system. It can be used for including + qpdf in a minimal environment, such as a docker container. + The zip file is also known to work as a layer in AWS Lambda. + + + + + QPDF's automated build has been migrated from Azure + Pipelines to GitHub Actions. + + + + + + + Windows-specific Changes + + + + + The Windows executables distributed with qpdf releases now + use the OpenSSL crypto provider by default. The native + crypto provider is also compiled in and can be selected at + runtime with the QPDF_CRYPTO_PROVIDER + environment variable. + + + + + Improvements have been made to how a cryptographic provider + is obtained in the native Windows crypto implementation. + However mostly this is shadowed by OpenSSL being used by + default. + + + + + + + Notice of upcoming API change + + + + + The method InputSource::unreadCh(unsigned + char) is deprecated and will be removed in qpdf + 11. It has never worked properly to pass a character to + unreadCh other than the most recently + read character. If you happen to be deriving a class from + InputSource, just implement + unreadCh to seek backward by one + character if the current position is greater than 0. If you + are calling this in your own code, replacing with + seek(-1, SEEK_CUR) should work in all + cases. + + + + + + + 10.0.1: April 9, 2020