-
Add details about the new `qpdf::global::inspection_mode` method to the design document, explaining its purpose, functionality, and limitations. Update release notes to highlight its introduction and describe the changes it brings for inspecting and repairing damaged PDF files.
-
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
-
It is the user's responsibility to autoload bashcompinit. If we do it, we may overwrite a custom complete function. If we don't do it at all, it won't work out of the box. This fixes debian bug 1111509, reported by Vincent Lefèvre.
-
Reported by Stephane Chazelas. Potentially sensitive arguments could be leaked to the environment during completion computation.
-
… 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).
-
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.