-
Implements structural equivalence following ISO 32000-2 Annex J, with a recursion depth limit (default 10) in place of cycle detection. Handles numeric promotion, sparse arrays, streams, indirect references, and null/uninitialized normalization. Includes tests in libtests/objects.cc.
-
Add a new configurable limit `--max-stream-filters` to address excessive stream filters in damaged or specially constructed PDFs. Update related documentation, tests, and release notes to reflect this feature.
-
…pport for configurable global limits via `qpdf_global_get_uint32` and `qpdf_global_set_uint32`.
-
- Standardize error handling by replacing repetitive throw statements with helper functions. - Add test coverage for new helper functions in error handling. - Enhance maintainability and readability with concise utilities.
-
Simplify integer value retrieval by introducing a templated `value` method in the `Integer` class. Replace redundant exception handling logic across multiple functions with this unified approach. Streamline type conversions and improve readability.
-
If duplicate keys are encountered, overwrite earlier values with the latest value.
-
Also, reject them in strings.
-
Also. remove '.' as starting char in lsTop.
-
When the schema wants a variable-length array, allow a single item as well as allowing an array.
-
Call the parent container's item method before calling the child item's start method so we can easily know the current nesting level when nested items are added.
-
Bidirectional base64; will be used by JSON v2.