Commit 7c88bb98a17d48c4c2901d32c1f72b615959536e

Authored by Jay Berkenbilt
1 parent f3583bc0

Word-smith release notes

Showing 1 changed file with 25 additions and 28 deletions
manual/release-notes.rst
... ... @@ -27,21 +27,22 @@ more detail.
27 27 include ``<qpdf/Constants.h>``, and replace ``QPDFObject::ot_``
28 28 with ``::ot_`` in your code.
29 29  
30   - - ``QPDFObjectHandle::replaceOrRemoveKey`` has been removed since
31   - it was identical to ``QPDFObjectHandle::replaceKey``.
  30 + - The deprecated ``QPDFObjectHandle::replaceOrRemoveKey`` method has been
  31 + removed since it was identical to ``QPDFObjectHandle::replaceKey``.
32 32  
33   - - ``JSON::checkDictionaryKeySeen`` has been removed. If ``JSON::parse``
34   - encounters duplicate keys the last value is silently accepted instead
35   - of throwing a runtime error.
  33 + - The deprecated ``JSON::checkDictionaryKeySeen`` function has been removed.
  34 + If ``JSON::parse`` encounters duplicate keys the last value is silently
  35 + accepted instead of throwing a runtime error. This is consistent with the
  36 + JSON specification.
36 37  
37   - - Deprecated versionless overload of ``QPDFObjectHandle::getJSON``
38   - has been removed.
  38 + - The deprecated versionless overload of ``QPDFObjectHandle::getJSON`` has
  39 + been removed.
39 40  
40   - - ``Buffer`` copy constructor and assignment operator have been
41   - removed. ``Buffer`` copy operations are expensive as they always
42   - involve copying the buffer content. Use ``buffer2 = buffer1.copy();``
43   - or ``Buffer buffer2{buffer1.copy()};`` to make it explicit that
44   - copying is intended.
  41 + - The deprecated ``Buffer`` copy constructor and assignment operator have
  42 + been removed. ``Buffer`` copy operations are expensive as they always
  43 + involve copying the buffer content. Use ``buffer2 = buffer1.copy();`` or
  44 + ``Buffer buffer2{buffer1.copy()};`` to make it explicit that copying is
  45 + intended.
45 46  
46 47 - ``QIntC.hh`` contained the typo ``substract`` in function names,
47 48 which has been fixed to ``subtract``.
... ... @@ -83,10 +84,9 @@ more detail.
83 84 copies the file ``check`` to ``out.pdf`` but may in future check ``out.pdf``.
84 85 Use ``qpdf ./check out.pdf`` or ``qpdf -- check out.pdf`` instead.
85 86  
86   -
87 87 - Bug fixes
88 88  
89   - - In object streams ignore objects with invalid offset. Report objects with invalid
  89 + - In object streams, ignore objects with invalid offset. Report objects with invalid
90 90 id or offset.
91 91  
92 92 - Library Enhancements
... ... @@ -98,7 +98,7 @@ more detail.
98 98 would have to write code specifically to do that, so if you're not
99 99 sure, then you shouldn't have to worry.
100 100  
101   - - Most ``QPDFObjectHandle`` accessor methods are now const qualified.
  101 + - Most ``QPDFObjectHandle`` accessor methods are now ``const`` qualified.
102 102  
103 103 - ``QPDFObjectHandle`` and all object helper classes are now explicitly convertible
104 104 to ``QPDFObjGen``, and therefore can be passed as parameter where a ``QPDFObjGen``
... ... @@ -108,28 +108,25 @@ more detail.
108 108  
109 109 - Build Changes
110 110  
111   - - If ``POINTERHOLDER_TRANSITION`` is not defined, define it to
112   - ``4``, which completely removes ``PointerHolder`` from the API.
113   - Stop including it from any headers that used to include it. This
114   - means code that hasn't completed its ``PointerHolder``
115   - transition will get errors unless it defines
116   - ``POINTERHOLDER_TRANSITION``, and any file that uses
117   - ``PointerHolder`` will have to explicitly include it rather than
118   - relying on other headers to bring it along. Additionally,
119   - ``qpdf/PointerHolder.hh`` is no longer included by any qpdf
120   - header files.
  111 + - If ``POINTERHOLDER_TRANSITION`` is not defined, it is now automatically
  112 + defined to ``4``, which completely removes ``PointerHolder`` from the API.
  113 + It is no longer included by any qpdf headers. This means code that hasn't
  114 + completed its ``PointerHolder`` transition will get errors unless it
  115 + defines ``POINTERHOLDER_TRANSITION``, and any file that uses
  116 + ``PointerHolder`` will have to explicitly include it rather than relying
  117 + on other headers to bring it along.
121 118  
122 119 - Other Changes
123 120  
124 121 - The internal implementation of objects has been extensively refactored, using
125   - std::variant to eliminate one level of indirection. This has saved one shared pointer
  122 + ``std::variant`` to eliminate one level of indirection. This has saved one shared pointer
126 123 per object with some improvement both in runtime and memory usage. A new class
127 124 ``BaseHandle`` has been added as common base class of both ``QPDFObjectHandle``
128 125 and ``QPDFObjectHelper`` to provide common functionality appropriate for all
129   - object-handle-like classes including e.g. the operator to convert to ``QPDFObjGen``.
  126 + object-handle-like classes such as the operator to convert to ``QPDFObjGen``.
130 127 ``BaseHandle`` is an implementation detail and not directly usable by library users.
131 128  
132   - - There has also been significant refactoring of how qpdf internally iterates over
  129 + - There has been significant refactoring of how qpdf internally iterates over
133 130 arrays and dictionaries.
134 131  
135 132 - The internal mechanism used to check object sizes for binary
... ...