Fix release notes and ChangeLog for 11.2

This commit is contained in:
Jay Berkenbilt 2022-11-20 15:33:13 -05:00
parent 4325e6e4a7
commit ddd889af9d
3 changed files with 49 additions and 15 deletions

View File

@ -1,3 +1,12 @@
2022-11-20 Jay Berkenbilt <ejb@ql.org>
* Add a few convenience methods to QPDFTokenizer::Token for
checking token types. thanks to M. Holger for the contribution.
* Add stream creation methods to the QPDF class as a better
alternative to the ones in the QPDFObjectHandle class. Thanks to
M. Holger for the contribution.
2022-11-19 Jay Berkenbilt <ejb@ql.org>
* Bug fix: handle special case of an earlier xref stream object's
@ -18,6 +27,8 @@
* Change minimum required C++ version from C++-14 to C++-17.
* Fix another symbol export issue with the MinGW build.
2022-10-01 Jay Berkenbilt <ejb@ql.org>
* 11.1.1: release

View File

@ -616,34 +616,41 @@ class QPDFObjectHandle
QPDF_DLL
static QPDFObjectHandle newFromMatrix(QPDFMatrix const&);
// Note: new stream creation methods have were added to the QPDF
// class starting with version 11.2.0. The ones in this class are
// here for backward compatibility.
// Create a new stream and associate it with the given qpdf
// object. A subsequent call must be made to replaceStreamData()
// to provide data for the stream. The stream's dictionary may be
// object. A subsequent call must be made to replaceStreamData()
// to provide data for the stream. The stream's dictionary may be
// retrieved by calling getDict(), and the resulting dictionary
// may be modified. Alternatively, you can create a new
// dictionary and call replaceDict to install it.
// may be modified. Alternatively, you can create a new dictionary
// and call replaceDict to install it. From QPDF 11.2, you can
// call QPDF::newStream() instead.
QPDF_DLL
static QPDFObjectHandle newStream(QPDF* qpdf);
// Create a new stream and associate it with the given qpdf
// object. Use the given buffer as the stream data. The stream
// object. Use the given buffer as the stream data. The stream
// dictionary's /Length key will automatically be set to the size
// of the data buffer. If additional keys are required, the
// of the data buffer. If additional keys are required, the
// stream's dictionary may be retrieved by calling getDict(), and
// the resulting dictionary may be modified. This method is just
// a convenient wrapper around the newStream() and
// replaceStreamData(). It is a convenience methods for streams
// that require no parameters beyond the stream length. Note that
// the resulting dictionary may be modified. This method is just a
// convenient wrapper around the newStream() and
// replaceStreamData(). It is a convenience methods for streams
// that require no parameters beyond the stream length. Note that
// you don't have to deal with compression yourself if you use
// QPDFWriter. By default, QPDFWriter will automatically compress
// uncompressed stream data. Example programs are provided that
// illustrate this.
// QPDFWriter. By default, QPDFWriter will automatically compress
// uncompressed stream data. Example programs are provided that
// illustrate this. From QPDF 11.2, you can call QPDF::newStream()
// instead.
QPDF_DLL
static QPDFObjectHandle newStream(QPDF* qpdf, std::shared_ptr<Buffer> data);
// Create new stream with data from string. This method will
// Create new stream with data from string. This method will
// create a copy of the data rather than using the user-provided
// buffer as in the std::shared_ptr<Buffer> version of newStream.
// From QPDF 11.2, you can call QPDF::newStream() instead.
QPDF_DLL
static QPDFObjectHandle newStream(QPDF* qpdf, std::string const& data);

View File

@ -8,18 +8,34 @@ For a detailed list of changes, please see the file
.. x.y.z: not yet released
11.2.0: not yet released
11.2.0: November 20, 2022
- Build changes
- A C++-17 compiler is now required.
- Library enhancements
- Move stream creation functions in the ``QPDF`` object where they
belong. The ones in ``QPDFObjectHandle`` are not deprecated and
will stick around.
- Add some convenience methods to ``QPDFTokenizer::Token`` for
testing token types. This is part of qpdf's lexical layer and
will not be needed by most developers.
- Bug fixes
- Fix issue with missing symbols in the mingw build.
- Fix major performance bug with the OpenSSL crypto provider. This
bug was causing a 6x to 12x slowdown for encrypted files when
OpenSSL 3 was in use. This includes the default Windows builds
distributed with the qpdf release.
- Fix obscure bug involving appended files that reuse an object
number that was used as a cross reference stream in an earlier
stage of the file.
11.1.1: October 1, 2022
- Bug fixes