v5.6.1
Made treatment of CCITT image photometry ignore
BlackIs1
, since this seems more consistent with other programs.
v5.6.0
Improved support for extracting the contents of inline images.
Marked some “always should have been private” functions as deprecated with removal planned for v6, mainly in pikepdf.models.image.
Fixed all Python documentation style inconsistencies.
v5.5.0
Fixed undefined behavior on creating NameTree on direct object. Thanks @willangley.
Fixed sdist with coverage build.
Added support for specifying QPDF’s library build directory, for compatibility with QPDF’s transition to cmake.
QPDF_*
environment variables will modify build paths even whenCFLAGS
is defined.Fixed rare case where GIL was not held while discarding a certain exception.
Now using cibuildwheel 2.9.0.
Many typo fixes. Thanks @PabloAlexis611.
v5.4.2
Fixed
Pages.__eq__
not returning NotImplemented when it ought to.Fixed possible problems with
NameTree
andNumberTree.__eq__
operators.Changed to SPDX license headers throughout.
v5.4.1
Chores. Fixed ReadTheDocs build, updated versions, fixed a test warning, improved coverage, modernized type annotations.
v5.4.0
New feature:
pikepdf.Job
bindings to QPDFJob API.New feature:
pikepdf.NumberTree
to support manipulation of number trees, mainly for applying custom page labels.Many improvements to
pikepdf.NameTree
including the ability to instantiate a new name tree.Several memory leaks were fixed.
Rebuilt against pybind11 2.10.0.
v5.3.2
Build system requires changed to setuptools-scm 7.0.5, which includes a fix to an issue where pikepdf source distribution reported a version of “0.0” when installed.
v5.3.1
Fixed issue with parsing inline images, causing loss of data after inline images were encountered in a content stream. The issue only affects content streams parsed with
parse_content_stream
; saved PDFs were not affected. #299Build system requires changed to setuptools-scm 7.0.3, and setuptools-scm-git-archive is now longer required.
v5.3.0
Binary wheels for Linux aarch64 are now being rolled automatically. 🎉
Refactor JBIG2 handling to make JBIG2 decoders more testable and pluggable.
Fixed some typing issues around
ObjectHelper
.Exposed some pikepdf settings that were attached to the private
_qpdf
module in a newpikepdf.settings
module.
v5.2.0
Avoid a few versions of setuptools_scm that were found to cause build issues. #359
Improved an unhelpful error message when attemping to save a file with invalid encryption settings. #341
Added a workaround for XMP metadata blocks that are missing the expected namespace tag. #349
Minor improvements to code coverage, type checking, and removed some deprecated private methods.
v5.1.5
Fixed removal of necessary package
packaging
. Needed for import.
v5.1.4
Reorganized release notes so they are better presented in Sphinx documentation.
Remove all upper bound version constraints.
Replace documentation package sphinx-panels with sphinx-design. Downstream maintainers will need to adjust this in documentation.
Removed use of deprecated pkg_resources and replaced with importlib (and, where necessary for backward compatibility, importlib_metadata).
Fixed some broken links in the documentation and READMEs.
v5.1.3
Fixed issue with saving files that contained JBIG2 images with null DecodeParms. #317
Use cibuildwheel 2.4.0 and update settings to publish PyPy 3.8 binary wheels for manylinux platforms.
v5.1.2
Fixed test suite failures with Pillow 9.1.0. #328
v5.1.1
v5.1.0
Rebuild against QPDF 10.6.3.
Improvements to Makefile for Apple Silicon wheels.
v5.0.1
Fixed issue where Pdf.check() would report a failure if JBIG2 decoder was not installed and the PDF contains JBIG2 content.
v5.0.0
Some errors and inconsistencies are in the “pdfdoc” encoding provided by pikepdf have been corrected, in conjunction with fixes in libqpdf.
libqpdf 10.6.2 is required.
Previously, looking up the number of a page, given the page, required a linear search of all pages. We now use a newer QPDF API that allows quicker lookups.