aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2020-12-30 22:45:50 +0100
committerJay Berkenbilt <ejb@ql.org>2020-12-30 22:45:50 +0100
commitc97bd6323e7f8988b4ff24b913a37e683eeaacf6 (patch)
tree95e7dfacebd96121b2301d3934a0454c0a817dd9
parent4cbf32bfdb9b2fc45e80798745681572219e1c54 (diff)
downloadqpdf-c97bd6323e7f8988b4ff24b913a37e683eeaacf6.tar.zst
Add release notes for changes from 10.0.4 so far
-rw-r--r--manual/qpdf-manual.xml122
1 files changed, 122 insertions, 0 deletions
diff --git a/manual/qpdf-manual.xml b/manual/qpdf-manual.xml
index 8caab104..0b7156b2 100644
--- a/manual/qpdf-manual.xml
+++ b/manual/qpdf-manual.xml
@@ -4819,6 +4819,128 @@ print "\n";
</varlistentry>
-->
<varlistentry>
+ <term>10.1.0: XXX Month dd, YYYY</term>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ CLI Enhancements
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Add <option>--flatten-rotation</option> command-line option,
+ which causes all pages that are rotated using parameters in
+ the page's dictionary to instead be identically rotated in
+ the page's contents. The change is not user-visible for
+ compliant PDF readers but can be used to work around broken
+ PDF applications that don't properly handle page rotation.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem>
+ <para>
+ Library Enhancements
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Support for user-provided (pluggable, modular) stream
+ filters. It is now possible to derive a class from
+ <classname>QPDFStreamFilter</classname> and register it with
+ <classname>QPDF</classname> so that regular library methods,
+ including those used by <classname>QPDFWriter</classname>,
+ can decode streams with filters not directly supported by
+ the library. The example
+ <filename>examples/pdf-custom-filter.cc</filename>
+ illustrates how to use this capability.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Add the optional <function>allow_streams</function>
+ parameter <function>QPDFObjectHandle::makeDirect</function>.
+ When <function>QPDFObjectHandle::makeDirect</function> is
+ called in this way, it preserves references to streams
+ rather than throwing an exception.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Add <function>QPDFObjectHandle::setFilterOnWrite</function>
+ method. Calling this on a stream prevents
+ <function>QPDFWriter</function> from attempting to
+ uncompress, recompress, or otherwise filter a stream even if
+ it could. Developers can use this to protect streams that
+ are optimized should be protected from
+ <classname>QPDFWriter</classname>'s default behavior for any
+ other reason.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Add <classname>ostream</classname>
+ <literal>&lt;&lt;</literal> operator for
+ <classname>QPDFObjGen</classname>. This is useful to have
+ for debugging.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Add method
+ <function>QPDFPageObjectHelper::flattenRotation</function>,
+ which replaces a page's <literal>/Rotate</literal> keyword
+ by rotating the page within the content stream and altering
+ the page's bounding boxes so the rendering is the same. This
+ can be used to work around buggy PDF readers that can't
+ properly handle page rotation.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem>
+ <para>
+ C API Enhancements
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Add several new functions to the C API for working with
+ objects. These are wrappers around many of the methods in
+ <classname>QPDFObjectHandle</classname>. Their inclusion
+ adds considerable new capability to the C API.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Add <function>qpdf_register_progress_reporter</function> to
+ the C API, corresponding to
+ <function>QPDFWriter::registerProgressReporter</function>.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem>
+ <para>
+ Performance Enhancements
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Improve steps <classname>QPDFWriter</classname> takes to
+ prepare a <classname>QPDF</classname> object for writing,
+ resulting in about an 8% improvement in write performance
+ while allowing indirect objects to appear in
+ <literal>/DecodeParms</literal>.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
<term>10.0.4: November 21, 2020</term>
<listitem>
<itemizedlist>