-
Fixes #1620
-
Improve handling of root object `/Type` entries
-
- Automatically repair missing or invalid `/Type` entries by setting them to `/Catalog`, unless in inspection mode. - Update related documentation and warnings to reflect this behavior.
-
Update signer's email in README.md for accuracy.
-
Refactor QPDFAcroFormDocumentHelper
-
…r improved clarity and safety. Update related methods and references accordingly.
-
…ed modularity and reusability. - Move methods from `QPDFAcroFormDocumentHelper` to `AcroForm` (`validate`, `invalidateCache`, `addFormField`, and more) to reduce duplication. - Update function calls and improve encapsulation by leveraging `AcroForm`. - Enhance comments and align with PDF specifications for better clarity.
-
…ion and improve code clarity.
-
- Move AcroForm-related methods (`analyze`, `traverseField`, `getOrCreateAcroForm`, etc.) from `QPDFAcroFormDocumentHelper` to the `AcroForm` class. - Update method calls across files to reflect changes. - Improve comments for methods to align with PDF specifications.
-
…s for consistency with refactored AcroForm structure.
-
…ion and leveraging shared components.
-
- Update class name and references in `FormField.hh` and `QPDFFormFieldObjectHelper.cc`. - Enhance comments to align with PDF specification, providing clearer descriptions of class functionality and attributes.
-
Add a limit on the maximum number of filters allowed when filtering streams.
-
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.
-
Document new `inspection_mode` in design and release notes
-
Introduce `qpdf::global::inspection_mode` for analyzing and repairing damaged PDFs with a restricted feature set. Update relevant code to enforce restrictions and add supporting test cases.
-
Add details about the new `qpdf::global::inspection_mode` method to the design document, explaining its purpose, functionality, and limitations. Update release notes to highlight its introduction and describe the changes it brings for inspecting and repairing damaged PDF files.
-
Introduce `global` namespace for managing qpdf global options and lim…
-
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
-
- Add warning with associated documentation links. - Update tests to reflect the new warning messages.
-
- Introduce `limits_error` method in `QPDFParser` for centralized limit-related error handling. - Enhance warnings and error messages with detailed limit identifiers (e.g., `parser-max-nesting`). - Refactor limit checks to improve maintainability and ensure uniformity in error reporting. - Update tests and output to reflect adjusted error handling approach.
-
…ted tests, documentation, and references across the codebase.
-
Enhance the `global` namespace by introducing `limit_errors` for tracking the number of exceeded limits. Update related tests and documentation to ensure functionality and clarity.
-
…pport for configurable global limits via `qpdf_global_get_uint32` and `qpdf_global_set_uint32`.
-
Document new release signing procedure
-
Check for C++-17 header compatibility in CI (fixes #1567)
-
Maintainer comment
-
Thanks to qooxzuub for the suggested update.
-
It is the user's responsibility to autoload bashcompinit. If we do it, we may overwrite a custom complete function. If we don't do it at all, it won't work out of the box. This fixes debian bug 1111509, reported by Vincent Lefèvre.
-
Reported by Stephane Chazelas. Potentially sensitive arguments could be leaked to the environment during completion computation.
-
Refactor error handling and simplify logic across multiple pipelines
-
- Replace `std::logic_error` and `std::runtime_error` with `util::assertion` and `util::no_ci_rt_error_if` for consistent error handling.
-
Refactor error handling in `Pipeline` and `QPDFXRefEntry`
-
…update `CMakeLists.txt` accordingly.