-
Move all stream-specific methods to new class qpdf::Stream
-
Move all array-specific methods to new class qpdf::Array.
-
Move all dictionary specific methods to BaseDictionary. Create new subclass Dictionary to allow QPDFObjectHandle to access the moved methods.
-
Replace data member oh with accessors. Remove redundant overloads from QPDFObjGen::set.
-
The new class is only usable as base classes and does not support direct instantiation or upcasting. Add operators to convert to bool, QPDFObjectHandle and QPDFObjGen. Derive QPDFObjectHandle from BaseHandle and make final.
-
Remove more deprecated API
-
Refine QPDFParser error handling
-
#1349 introduced a limit on the maximum size of arrays and dictionaries contained in objects that generate errors during parsing, and #1354 reduced that limit to 5000 objects. However, the limit was only imposed once a further error was encountered. Stop adding objects to containers once the limit is reached. Fixes oss-fuzz issue 398060137
-
Tune JSON::JSON_string
-
Fix typo in usage for fix-qdf
-
Deprecate QPDFTokenizer push mode
-
Remove member encoded and encode strings only when required. Encoded is only used when writing JSON. Since most JSON writing is now done on the fly without creating a JSON representation, creating and storing the encoded string in almost all cases no longer serves any purpose.
-
Push mode is not used by qpdf and is not tested. It is difficult to see a legitimate use for it. Continuing to support it creates unnecessary constraints and effort when adapting the tokenizer.
-
Discontinue ChangeLog; update release notes as you go
-
In JSON::parse allow duplicate dictionary keys
-
Break ABI
-
If duplicate keys are encountered, overwrite earlier values with the latest value.
-
Except for virtual functions to avoid the need for users to update code.
-
Also, move Buffer::Members definition to Buffer.cc
-
Also add debugging information so we can save time if $^O used in GitHub Actions changes again.
-
This is necessary in case paths contain colons on Windows.
-
Fix build against a standard zopfli install
-
Fix the logic to accept a top-level `zopfli.h` header, as that is the location used by upstream's build system.