-
Expose functions to the C API to create new loggers and to setLogger and getLogger for QPDF and QPDFJob.
-
When a QPDF is destroyed, changing indirect objects to direct nulls makes them effectively disappear silently when they sneak into other places. Instead, we should treat this as an error. Adding a destroyed object type makes this possible.
-
Add copy_if_fallback and explain how it differs from copy_if_shared.
-
Also remove no-longer-needed #include
-
This results in measurable performance improvements to packaged binary libqpdf distributions. QTC remains available for library users and is still selectively enabled in CI.
-
When the schema wants a variable-length array, allow a single item as well as allowing an array.
-
Remove any ambiguity around whether old or new value is being returned.
-
This includes the output PDF, streams from --show-object and attachments from --save-attachment. This also enables --verbose and --progress to work with saving to stdout.
-
These mean to leave the original values alone. This is needed for reconstructing streams from JSON given that the stream data and stream dictionary may appear in any order in the JSON.
-
I decided these were confusing and inconsistent with how JSON works. They muddle the API rather than improving it.