-
4.2.0 was binary incompatible in spite of there being no deletions or changes to any public methods. As such, we have to bump the ABI and are fixing some API breakage while we're at it. Previous 4.3.0 target is now 5.1.0.
-
This is a cosmetic change since both are accepted.
-
Detect a missing page range and assume 1-z.
-
Thanks to Jiri Popelka from Red Hat for sending the output of a Coverity run over qpdf.
-
s/Controls handing of object streams./Controls handling of object streams./
-
Space rather than newline after xref, missing /ID in trailer for encrypted file. This enables qpdf to handle some files that xpdf can handle. Adobe reader can't necessarily handle them.
-
Bug fixes for 4.2.0 force additional interfaces, so move most of the 4.2.0 items to 4.3.0.
-
Even though this case is not valid according to the spec, it has been seen, and caused an internal error.
-
Rework QPDFWriter to always track old object IDs and QPDFObjGen instead of int, thus not discarding the generation number. Switch to QPDF::getCompressibleObjGen() to properly handle the case of an old object eligible for compression that has a generation of other than zero.
-
In internal code and examples, replace calls to getObjectID() and getGeneration() with calls to getObjGen() where possible.
-
This is safer than getObjectID() and getGeneration() for many uses.
-
Most Linux distributions include qpdf now, so there is no need to distribute our own spec file.
-
Versions prior to 4.6 didn't allow gcc diagnostic pragmas with push and pop and to appear anywhere in the file. Just let the warning be there for those versions.
-
The latest automated mingw-w64 build's libstdc++-6.dll crashes with qpdf 4.1.0, but libstdc++-6.dll can be replaced with one from a newer build.
-
When copying dlls, make sure to only consider DLLs whose type matches the type of what is loading them.
-
Windows fix: QPDFObject::ParserCallbacks::terminateParsing() was not declared with QPDF_DLL.
-
Explicitly state how QPDF handles empty passwords when writing files. Apparently some libraries treat the empty string as the owner password as an instruction to generate a random password.
-
Prepare update for TODO for publication since there is useful information there for people looking at the repository.
-
Remove const qualifier from getTypeCode and get getTypeName methods of QPDFObjectHandle, make them work properly for indirect objects, and exercise them much better in the test suite.