Commit b3c91f64bb79264e6ec2e5b1f5133d9afe3ee2ed

Authored by Jay Berkenbilt
1 parent 4fa7b1eb

Change release notes order

Showing 1 changed file with 116 additions and 109 deletions
manual/qpdf-manual.xml
... ... @@ -4416,111 +4416,32 @@ print "\n";
4416 4416 </listitem>
4417 4417 <listitem>
4418 4418 <para>
4419   - Bug Fixes
4420   - </para>
4421   - <itemizedlist>
4422   - <listitem>
4423   - <para>
4424   - A small handful of memory issues, assertion failures, and
4425   - unhandled exceptions that could occur on badly mangled input
4426   - files have been fixed. Most of these problems were found by
4427   - Google's OSS-Fuzz project.
4428   - </para>
4429   - </listitem>
4430   - <listitem>
4431   - <para>
4432   - When <command>qpdf --check</command> or <command>qpdf
4433   - --check-linearization</command> encounters a file with
4434   - linearization warnings but not errors, it now properly exits
4435   - with exit code 3 instead of 2.
4436   - </para>
4437   - </listitem>
4438   - <listitem>
4439   - <para>
4440   - The <option>--completion-bash</option> and
4441   - <option>--completion-zsh</option> options now work properly
4442   - when qpdf is invoked as an AppImage.
4443   - </para>
4444   - </listitem>
4445   - <listitem>
4446   - <para>
4447   - Calling
4448   - <function>QPDFWriter::set*EncryptionParameters</function> on
4449   - a <classname>QPDFWriter</classname> object whose output
4450   - filename has not yet been set no longer produces a
4451   - segmentation fault.
4452   - </para>
4453   - </listitem>
4454   - <listitem>
4455   - <para>
4456   - When reading encrypted files, follow the spec more closely
4457   - regarding encryption key length. This allows qpdf to open
4458   - encrypted files in most cases when they have invalid or
4459   - missing /Length keys in the encryption dictionary.
4460   - </para>
4461   - </listitem>
4462   - <listitem>
4463   - <para>
4464   - When <command>qpdf --check</command> or <command>qpdf
4465   - --check-linearization</command> encounters a file with
4466   - linearization warnings but not errors, it now properly exits
4467   - with exit code 3 instead of 2.
4468   - </para>
4469   - </listitem>
4470   - </itemizedlist>
4471   - </listitem>
4472   - <listitem>
4473   - <para>
4474   - Build Changes
  4419 + CLI Enhancements
4475 4420 </para>
4476 4421 <itemizedlist>
4477 4422 <listitem>
4478 4423 <para>
4479   - On platforms that support it, qpdf now builds with
4480   - <option>-fvisibility=hidden</option>. If you build qpdf with
4481   - your own build system, this is now safe to use. This
4482   - prevents methods that are not part of the public API from
4483   - being exported by the shared library, and makes qpdf's ELF
4484   - shared libraries (used on Linux, MacOS, and most other UNIX
4485   - flavors) behave more like the Windows DLL. Since the DLL
4486   - already behaves in much this way, it is unlikely that there
4487   - are any methods that were accidentally not exported.
4488   - However, with ELF shared libraries, typeinfo for some
4489   - classes has to be explicitly exported. If there are problems
4490   - in dynamically linked code catching exceptions or
4491   - subclassing, this could be the reason. If you see this,
4492   - please report a bug at <ulink
4493   - url="https://github.com/qpdf/qpdf/issues/">pikepdf</ulink>.
4494   - </para>
4495   - </listitem>
4496   - <listitem>
4497   - <para>
4498   - QPDF is now compiled with integer conversion and sign
4499   - conversion warnings enabled. Numerous changes were made to
4500   - the library to make this safe.
4501   - </para>
4502   - </listitem>
4503   - <listitem>
4504   - <para>
4505   - QPDF's <command>make install</command> target explicitly
4506   - specifies the mode to use when installing files instead of
4507   - relying the user's umask. It was previously doing this for
4508   - some files but not others.
  4424 + The <option>--recompress-flate</option> instructs
  4425 + <command>qpdf</command> to recompress streams that are
  4426 + already compressed with <literal>/FlateDecode</literal>.
  4427 + Useful with <option>--compression-level</option>.
4509 4428 </para>
4510 4429 </listitem>
4511 4430 <listitem>
4512 4431 <para>
4513   - If <command>pkg-config</command> is available, use it to
4514   - locate <filename>libjpeg</filename> and
4515   - <filename>zlib</filename> dependencies, falling back on old
4516   - behavior if unsuccessful.
  4432 + the
  4433 + <option>--compression-level=<replaceable>level</replaceable></option>
  4434 + sets the zlib compression level used for any streams
  4435 + compressed by <literal>/FlateDecode</literal>. Most
  4436 + effective when combined with
  4437 + <option>--recompress-flate</option>.
4517 4438 </para>
4518 4439 </listitem>
4519 4440 </itemizedlist>
4520 4441 </listitem>
4521 4442 <listitem>
4522 4443 <para>
4523   - Library and CLI Enhancements
  4444 + Library Enhancements
4524 4445 </para>
4525 4446 <itemizedlist>
4526 4447 <listitem>
... ... @@ -4609,24 +4530,6 @@ print &quot;\n&quot;;
4609 4530 </listitem>
4610 4531 <listitem>
4611 4532 <para>
4612   - CLI enhancement: the <option>--recompress-flate</option>
4613   - instructs <command>qpdf</command> to recompress streams that
4614   - are already compressed with <literal>/FlateDecode</literal>.
4615   - Useful with <option>--compression-level</option>.
4616   - </para>
4617   - </listitem>
4618   - <listitem>
4619   - <para>
4620   - CLI enhancement: the
4621   - <option>--compression-level=<replaceable>level</replaceable></option>
4622   - sets the zlib compression level used for any streams
4623   - compressed by <literal>/FlateDecode</literal>. Most
4624   - effective when combined with
4625   - <option>--recompress-flate</option>.
4626   - </para>
4627   - </listitem>
4628   - <listitem>
4629   - <para>
4630 4533 The underlying implementation of QPDF arrays has been
4631 4534 enhanced to be much more memory efficient when dealing with
4632 4535 arrays with lots of nulls. This enables qpdf to use
... ... @@ -4668,6 +4571,110 @@ print &quot;\n&quot;;
4668 4571 </listitem>
4669 4572 <listitem>
4670 4573 <para>
  4574 + Bug Fixes
  4575 + </para>
  4576 + <itemizedlist>
  4577 + <listitem>
  4578 + <para>
  4579 + A small handful of memory issues, assertion failures, and
  4580 + unhandled exceptions that could occur on badly mangled input
  4581 + files have been fixed. Most of these problems were found by
  4582 + Google's OSS-Fuzz project.
  4583 + </para>
  4584 + </listitem>
  4585 + <listitem>
  4586 + <para>
  4587 + When <command>qpdf --check</command> or <command>qpdf
  4588 + --check-linearization</command> encounters a file with
  4589 + linearization warnings but not errors, it now properly exits
  4590 + with exit code 3 instead of 2.
  4591 + </para>
  4592 + </listitem>
  4593 + <listitem>
  4594 + <para>
  4595 + The <option>--completion-bash</option> and
  4596 + <option>--completion-zsh</option> options now work properly
  4597 + when qpdf is invoked as an AppImage.
  4598 + </para>
  4599 + </listitem>
  4600 + <listitem>
  4601 + <para>
  4602 + Calling
  4603 + <function>QPDFWriter::set*EncryptionParameters</function> on
  4604 + a <classname>QPDFWriter</classname> object whose output
  4605 + filename has not yet been set no longer produces a
  4606 + segmentation fault.
  4607 + </para>
  4608 + </listitem>
  4609 + <listitem>
  4610 + <para>
  4611 + When reading encrypted files, follow the spec more closely
  4612 + regarding encryption key length. This allows qpdf to open
  4613 + encrypted files in most cases when they have invalid or
  4614 + missing /Length keys in the encryption dictionary.
  4615 + </para>
  4616 + </listitem>
  4617 + <listitem>
  4618 + <para>
  4619 + When <command>qpdf --check</command> or <command>qpdf
  4620 + --check-linearization</command> encounters a file with
  4621 + linearization warnings but not errors, it now properly exits
  4622 + with exit code 3 instead of 2.
  4623 + </para>
  4624 + </listitem>
  4625 + </itemizedlist>
  4626 + </listitem>
  4627 + <listitem>
  4628 + <para>
  4629 + Build Changes
  4630 + </para>
  4631 + <itemizedlist>
  4632 + <listitem>
  4633 + <para>
  4634 + On platforms that support it, qpdf now builds with
  4635 + <option>-fvisibility=hidden</option>. If you build qpdf with
  4636 + your own build system, this is now safe to use. This
  4637 + prevents methods that are not part of the public API from
  4638 + being exported by the shared library, and makes qpdf's ELF
  4639 + shared libraries (used on Linux, MacOS, and most other UNIX
  4640 + flavors) behave more like the Windows DLL. Since the DLL
  4641 + already behaves in much this way, it is unlikely that there
  4642 + are any methods that were accidentally not exported.
  4643 + However, with ELF shared libraries, typeinfo for some
  4644 + classes has to be explicitly exported. If there are problems
  4645 + in dynamically linked code catching exceptions or
  4646 + subclassing, this could be the reason. If you see this,
  4647 + please report a bug at <ulink
  4648 + url="https://github.com/qpdf/qpdf/issues/">pikepdf</ulink>.
  4649 + </para>
  4650 + </listitem>
  4651 + <listitem>
  4652 + <para>
  4653 + QPDF is now compiled with integer conversion and sign
  4654 + conversion warnings enabled. Numerous changes were made to
  4655 + the library to make this safe.
  4656 + </para>
  4657 + </listitem>
  4658 + <listitem>
  4659 + <para>
  4660 + QPDF's <command>make install</command> target explicitly
  4661 + specifies the mode to use when installing files instead of
  4662 + relying the user's umask. It was previously doing this for
  4663 + some files but not others.
  4664 + </para>
  4665 + </listitem>
  4666 + <listitem>
  4667 + <para>
  4668 + If <command>pkg-config</command> is available, use it to
  4669 + locate <filename>libjpeg</filename> and
  4670 + <filename>zlib</filename> dependencies, falling back on old
  4671 + behavior if unsuccessful.
  4672 + </para>
  4673 + </listitem>
  4674 + </itemizedlist>
  4675 + </listitem>
  4676 + <listitem>
  4677 + <para>
4671 4678 Other Notes
4672 4679 </para>
4673 4680 <itemizedlist>
... ...