-
This is for protection against future ABI breaking changes.
-
Significant enhancements to the lexer to improve EOF handling and to support comments and spaces as tokens. Various other minor issues were fixed as well.
-
This is useful only for debugging the linearization code.
-
Add options to enable the raw encryption key to be directly shown or specified. Thanks to Didier Stevens <didier.stevens@gmail.com> for the idea and contribution of one implementation of this idea.
-
The Apache License version 2.0 is now the primary license for qpdf. However, users may, at their option, continue to use Artistic version 2.0.
-
Tweak the message so that we inform the user that we are mitigating data loss.
-
While scanning the file looking for objects, limit the length of tokens we allow. This prevents us from getting caught up in reading a file character by character while digging through large streams.
-
Pushing member variables into a nested class enables addition of new member variables without breaking binary compatibility.
-
Reduce code duplication
-
* Add support for PCLm using setPCLm() and writePCLm() methods in QPDFWriter.hh and QPDFWriter.cc * Add a function writePCLmHeader() for PCLm header in QPDFWriter
-
There is no need for a --precheck-streams option. We can do the precheck without imposing any penalty, only re-encoding the stream if it fails the first time.
-
This commit adds several API methods that enable control over which types of filters QPDF will attempt to decode. It also adds support for /RunLengthDecode and /DCTDecode filters for both encoding and decoding.
-
Additional testing is added in later commits to be supported by additional changes in the library.
-
Also accept more errors than before.
-
Eliminate PCRE and find endobj not preceded by endstream. Be more lax about placement of endstream and endobj.
-
Preparing to refactor some pattern searching code to use these instead of their own memchr loops. This should simplify the code that replaces PCRE.
-
Sometimes we want to ignore bad tokens rather than having them throw an exception. A coverage case is commented out here and added in a later commit.
-
Also fix a bug resulting from incorrect use of PointerHolder because of this unused parameter.