-
This results in measurable performance improvements to packaged binary libqpdf distributions. QTC remains available for library users and is still selectively enabled in CI.
-
It turns out that QUtil::get_env is particularly expensive on Windows if there is a large environment. This may be true on other platforms as well.
-
This is a guess...I'm not sure exactly why there are linker issues or how to reproduce them.
-
Code tidy: remove redundant calls to smart_ptrs get() method
-
Add QPDF::getObject to replace getObjectByObjGen and getObjectByID
-
Inline QPDFObjectHandle::getObjGen etc
-
For consistency with similar methods, e.g. replaceObject.
-
Also, make QPDFObjectHandle::isIndirect const.
-
Now --json-output just changes defaults. Allow output file with --json.
-
from "qpdf-v2" to "qpdf": [..., ...]
-
Add additional parameters that will be needed to call QPDF::writeJSON in partial mode.
-
Code tidy : replace 0 with nullptr or true
-
Over time, qpdf's grade has dropped on lgtm, but they are not transparent about how grades are assigned. Fixing current alerts, in my opinion, reduces clarity and maintainability of the code in the name of performance in non-critical sections of code. Some analysis by m-holger suggests that fixing some of the current alerts actually degrades performance (slightly) while fixing others results in insignificant improvements. The quality of qpdf can be measured in other ways, such as its extensive test suite, documentation, and long track record of reliably manipulating PDFs with high performance, few bugs, and few external dependencies. The lgtm rating is a distraction at best.
-
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.