v8.8.0
Added new
pikepdf.canvas
module with rudimentary content stream creation functions.
v8.7.1
Fixed
pikepdf.Matrix.rotated()
so it now rotates in the advertised direction.
v8.7.0
pikepdf.PdfMatrix
is now deprecated, in favor ofpikepdf.Matrix
. The former, unfortunately, implemented some operations backwards compared to the PDF reference manual. The new class fixes these issues, and adds more functionality, promoting transformation matrix to first class objects.PdfMatrix
is now deprecated and will be removed in the next major release.Improve behavior around truthiness of
pikepdf.Name
.
v8.6.0
Implemented Page.artbox and Page.bleedbox to access these page dimension boxes.
v8.5.3
Fixed exception on certain
PdfImage.__repr__
when the image’s mode was invalid.Fixed some minor issues that caused code coverage to miss some covered lines.
Removed some unused code.
v8.5.2
Rebuilt wheels with libqpdf 11.6.3, which solves a potential data loss issue, albeit in rare circumstances. See QPDF issue #1050.
Fixed unclear return values of pikepdf._core.set/get* functions. The set functions now return the current value.
Fixed minor typing issues.
v8.5.1
Added building of Python 3.12 aarch64 images.
Added building of musllinux_1_2 aarch64 images.
Tweaked exception handler of
atomic_overwrite
.
v8.5.0
We now require Pillow 10.0.1, due a serious security vulnerability in all earlier versions of that dependency. The vulnerability concerns WebP images, which are likely not involved in PDF processing, but we have updated the dependency anyway as a precaution. As a consequence, we no longer build binary wheels for PyPy 3.8. CPython 3.8 is still supported on all platforms.
The embedded files/attachments API now supports describing the relationship of the attached file (AFRelationship).
v8.4.1
Fixed an issue with a monochrome that decoded with colors inverted. #517
v8.4.0
Added support for musllinux_1_2 (Alpine Linux 3.16) on x64.
v8.3.2
Added _core.pyi typing hints, which were missing from wheels.
v8.3.1
Fixed saving file opened from BytesIO object on Windows. #510
v8.3.0
Mark Python 3.12 as supported and release wheels for it.
v8.2.3
Added a build test for Python 3.12 pre-release versions.
Marked a test as xfail that currently fails on Python 3.12.
v8.2.2
Added docs/ directory back to source distribution. #503
v8.2.1
Fixed a build issue where pikepdf would install its C++ source files into the site-packages directory. #447
v8.2.0
Removed uses of deprecated function datetime.utcnow(). #499
Adjusted timeline of potentially flaky hypothesis test.
Various documentation fixes. Thanks @m-holger.
PyPy 3.10 is now supported on some platforms.
PyPy 3.8 support will be dropped in the next major release.
v8.1.1
Fixed a Unicode test that randomly fails on Windows.
v8.1.0
Not released due to build failure.
Fixed sdist, which was mysteriously missing some files that were previously included. #490
Some documentation and README updates to improve visibility of release notes. #488
Fixed issue where an output file could be corrupted if the process was interrupted while writing. #462
v8.0.0
master branch renamed to main.
QPDF 11.5.0 is now required.
Some other Python dependencies have been updated.
Dropped setuptools-scm in favor of a manually set version number and script to update it. This change was necessary to support delegating part of the build to Cirrus CI.
Adjusted stream preview (with
__repr__
) so it does not attempt to decompress very long streams.Fixed error when attempting to convert XMP metadata to DocumentInfo when the author was omitted.
Added a method to add items to the document table of contents.
Previously, we built all Apple Silicon (aarch64) wheels as a manual step, causing errors and delays in their release compared to other wheels. We now build them automatically on Cirrus CI.
Changed to building manylinux-aarch64 wheels on Cirrus CI.
Since Pillow (Python imaging library), a major dependency, has dropped support for 32-bit wheels on Windows and Linux, we have done the same. You can still build 32-bit versions from source.
Some documentation changes and improvements. Thanks @m-holger.