-
… simplify logic. Update related test outputs and release notes.
-
Introduce new methods: `data()` to access buffer content, `empty()` to check buffer state, and `size()` to retrieve buffer size. Update unit tests to validate the behavior of these methods alongside existing functionality.
-
…g encryption and update related tests.
-
… shared helper retrieval, validation methods, and update usages across the codebase. Remove unused test coverage entries.
-
…king `validate()` for `names_dest` initialization
-
…or deterministic ID generation (fixes #1235).
-
cmake complains when building with -DZOPFLI-ON as opposed to =ON
-
qpdf permits replacing standard stream filters with user provided filters. #1457 incorrectly removed that option.
-
Introduced explicit checks for empty streams and refined filtering conditions for improved clarity and correctness.
-
Fix QPDFFormFieldObjectHelper::getChoices (fixes #1433)
-
Add additional sanity check during xref recovery
-
Return the display value if the choices entry is an array of strings rather than a single string. Test file is need-appearances.pdf modified to contain one array entry.
-
Do not copy duplicate pages during xref recovery.
-
Thanks to github user @cdosborn for the basic enhancement.
-
Only top-level XMP metadata is supposed to be left unencrypted. All other metadata is not treated specially.
-
Replace JetBrains-specific cmake profiles with CMakePresets.json
-
Plus sneak in some spell checks
-
... to remove the /Root /StructTreeRoot and /MarkInfo entries.
-
... containing objects with no white-space between them. To enforce the rule that objects end at the start-offset of the next object, each object is parsed in it own object stream. To facilitate this, a new private API input source is::OffsetBuffer has been added which only contains the object but reports offsets relative to the start of the object stream. This is adapted from OffsetInputSource by changing the direction of the offset, endowing it with its own BufferInputSource and striooing out checks duplicated in BufferInputSource. Fixes the expected failure in the test case added in #1266.
-
Only build strings when needed.
-
This was due to the use of last_object_description, which is not set for the object stream itself. Also, modify the messages introduced #1391 and #1392 to report the supposed offset of the objects.
-
Move methods responsible for loading or keeping track of objects to QPDF_objects.cc. The split was part of the reverted #1297. Reintroducing it now makes it easier/safer to keep the work to refactor the xref and object tables in sync with main.