aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2022-11-20 21:33:13 +0100
committerJay Berkenbilt <ejb@ql.org>2022-11-20 21:33:13 +0100
commitddd889af9d21c4cb6b3cf74ec750a3340217567c (patch)
tree4676ea954b49faa950c179a07f7f8d443be46ea4
parent4325e6e4a79da854157c1ef3b95fe2c925f68194 (diff)
downloadqpdf-ddd889af9d21c4cb6b3cf74ec750a3340217567c.tar.zst
Fix release notes and ChangeLog for 11.2
-rw-r--r--ChangeLog11
-rw-r--r--include/qpdf/QPDFObjectHandle.hh35
-rw-r--r--manual/release-notes.rst18
3 files changed, 49 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog
index bb2293ae..a1f7ef96 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/include/qpdf/QPDFObjectHandle.hh b/include/qpdf/QPDFObjectHandle.hh
index f8bcb055..bf0da746 100644
--- a/include/qpdf/QPDFObjectHandle.hh
+++ b/include/qpdf/QPDFObjectHandle.hh
@@ -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);
diff --git a/manual/release-notes.rst b/manual/release-notes.rst
index d946dd37..aaf78f3d 100644
--- a/manual/release-notes.rst
+++ b/manual/release-notes.rst
@@ -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