Commit 2dc26338726a748ea23ccc7d07073c2bd17d7538

Authored by Jay Berkenbilt
1 parent 2c2436b2

Update ChangeLog and release notes

ChangeLog
  1 +2023-07-09 Jay Berkenbilt <ejb@ql.org>
  2 +
  3 + * This release consists entirely of changes made by M. Holger.
  4 + Mostly this is changes to the private API, performance
  5 + enhancements, code cleanup, and reformatting to 100 columns
  6 + instead of 80. For qpdf development, we are starting to use
  7 + JetBrains CLion, so a lot of the changes are moving us toward a
  8 + cleaner development experience in that environment.
  9 +
  10 +2023-06-15 Jay Berkenbilt <ejb@ql.org>
  11 +
  12 + * Bug fix: when a the same page is copied multiple times, copy
  13 + the annotations rather than having multiple pages share an
  14 + annotation object. Thanks to M. Holger for the fix. Fixes #600.
  15 +
  16 +2023-06-14 Jay Berkenbilt <ejb@ql.org>
  17 +
  18 + * Add "FUTURE" build option for enabling experimental APIs. Do not
  19 + package qpdf built with the FUTURE option as there are no binary
  20 + compatibility or even source compatibility guarantees. The option
  21 + is intended for developers who want to ensure that future
  22 + potentially breaking changes are compatible with their code or
  23 + provide feedback on upcoming changes. At present, the only feature
  24 + enabled by FUTURE is a move constructor for QPDFObjectHandle.
  25 + While this shouldn't break any code, it would change details about
  26 + how many copies of a specific QPDFObjectHandle were in existence,
  27 + so it could potentially break code that was relying on internal
  28 + shared pointer reference counts. Thanks to M. Holger for the idea
  29 + and contribution.
  30 +
  31 +2023-05-25 Jay Berkenbilt <ejb@ql.org>
  32 +
  33 + * Add new method Buffer::copy and deprecate Buffer copy
  34 + constructor and assignment operator. Buffer copy operations are
  35 + expensive as they always involve copying the buffer content. Use
  36 + "buffer2 = buffer1.copy();" or "Buffer buffer2{buffer1.copy()};"
  37 + to make it explicit that copying is intended. This change was
  38 + contributed by M. Holger.
  39 +
1 2023-05-21 Jay Berkenbilt <ejb@ql.org> 40 2023-05-21 Jay Berkenbilt <ejb@ql.org>
2 41
3 * 11.4.0: release 42 * 11.4.0: release
manual/installation.rst
@@ -285,7 +285,7 @@ FUTURE @@ -285,7 +285,7 @@ FUTURE
285 installed qpdf libraries. Set this if you want to test your code 285 installed qpdf libraries. Set this if you want to test your code
286 with proposed QPDF API changes and provide feedback prior to the 286 with proposed QPDF API changes and provide feedback prior to the
287 inclusion of those changes in a release. Packagers should never 287 inclusion of those changes in a release. Packagers should never
288 - distribute backages built with this option. 288 + distribute packages built with this option.
289 289
290 QTEST_COLOR 290 QTEST_COLOR
291 Turn this on or off to control whether qtest uses color in its 291 Turn this on or off to control whether qtest uses color in its
manual/release-notes.rst
@@ -27,8 +27,40 @@ Planned changes for future 12.x (subject to change): @@ -27,8 +27,40 @@ Planned changes for future 12.x (subject to change):
27 it's possible that the new qpdf-provided conversion may override 27 it's possible that the new qpdf-provided conversion may override
28 your conversion. 28 your conversion.
29 29
  30 + - ``Buffer`` copy constructor and assignment operator will be
  31 + removed. ``Buffer`` copy operations are expensive as they always
  32 + involve copying the buffer content. Use ``buffer2 =
  33 + buffer1.copy();`` or ``Buffer buffer2{buffer1.copy()};`` to make
  34 + it explicit that copying is intended.
  35 +
30 .. x.y.z: not yet released 36 .. x.y.z: not yet released
31 37
  38 +11.5.0: July 9, 2023
  39 + - Bug Fixes
  40 +
  41 + - When copying the same page more than once, ensure that
  42 + annotations are copied and not shared among multiple pages.
  43 +
  44 + - Build Changes
  45 +
  46 + - Add new ``FUTURE`` build option. This option enables you to test
  47 + code against proposed changes to qpdf's API. See
  48 + :ref:`build-options` for details. Packagers: do not package qpdf
  49 + with the ``FUTURE`` option enabled as there are no API/ABI
  50 + compatibility guarantees when the option is turned on.
  51 +
  52 + - Library Enhancements
  53 +
  54 + - Add new method ``Buffer::copy`` and deprecate ``Buffer`` copy
  55 + constructor and assignment operator. ``Buffer`` copies are
  56 + expensive and should be done explicitly.
  57 +
  58 + - Miscellaneous Changes
  59 +
  60 + - The source code was reformatted to 100 columns instead of 80.
  61 + Numerous cosmetic changes and changes suggested by clang-tidy
  62 + were made. M. Holger did all the hard work.
  63 +
32 11.4.0: May 21, 2023 64 11.4.0: May 21, 2023
33 - CLI Enhancements 65 - CLI Enhancements
34 66