-
Modernise constructors, make classes final, etc.
-
Remove remaining QPDFTokenizer private methods. Remove QPDFTokenizer privileged access to Tokenizer.
-
Add new private Util.hh header to define inline functions and expose as ordinary functions in QUtil.
-
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.
-
#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
-
Except for virtual functions to avoid the need for users to update code.
-
This improves indentation of long strings. This commit also fixes some trailing whitespace in ChangeLog.
-
This requires a special build option.
-
Fixes oss-fuzz cases 376305073, 389974979 and 391974927.
-
Also, fix disabling of preserve_encryption to be ignore stream_decode_level, but disable preserve_encryption if compress_streams is false. Fixes #1286
-
This reverts commit ff2a78f579ebdd06b417e34260a17dba06e71137, reversing changes made to 8f54319f7a6514110f4b05cbbf1cb1c9fc8cb6a0.
-
This reverts commit 0e92cf6bf399249c603c3d0212e898fd29e71fcd, reversing changes made to 7d34b89a69e8e89c098dd373442f7df809c28eff.
-
This reverts commit c648b9a018105a3c30b3e7f3c5f8a058d3ddd92c, reversing changes made to 12b67a3227df6b6df3a4f5f098e11cce173ff7d5.
-
Also, make obj_cache private and rename to table.