47ae5804bc- update to 9.4.2: * Internal type assertion error messages from qpdf that previously triggered a RuntimeError will now raise a PdfError. Generally these errors only occur in corrupted files. * When we are updating XMP in the processing of saving, errors from updating XML are wrapped differently to clarify the context in which the error occurs. * Fixed a process abort in JBIG2 handling related to cleanup of Python objects owned by C++ code. * Fixed inconsistent behavior when setting metadata records to an empty value. :issue:622 * Added missing Python 3.13 wheels for a few platforms that were missing them, mainly ARM Linux, musllinux/Alpine, and Windows. * Since Homebrew has ended support for macOS 12, macOS 13 is now the minimum requirement for Intel macOS. * Suppressed some spurious warnings during build tests. * Integrated OSS Fuzz. * Prevented generation of PDF date strings with invalid trailing apostrophes, while still accepting them. * Improved error message on parsing invalid date strings. * Dropped support for Python 3.8 (end of life October 2024). * Fixed some inconsistencies with the pikepdf.Rectangle class. * Python 3.13 with free-threading added to test matrix. * Removed wheel package as build requirement since modern packing no longer needs it. * Updated C++/Python exception translation to new pybind11 2.12.0+ protocol, fixing possible undefined behavior in multithreaded applications. * pybind11 2.12.0 is now required. * qpdf 11.9.1 is now used to build wheels.Dirk Mueller2024-11-21 10:04:58 +00:00
6d9456f89d- update to 8.15.1: * Reformat with ruff. * Various updates to build procedures and wheel generationDirk Mueller2024-05-02 08:23:42 +00:00
aac6f6daebAccepting request 1167774 from devel:languages:pythonAna Guerrero2024-04-15 18:18:10 +00:00
cb103c3b50- update to 8.15.0: * Rebuild wheels with QPDF 11.9.0. * Relaxed dependency requirements on lxml, now that that project is publishing wheels for less common platforms again.Dirk Mueller2024-04-15 09:03:28 +00:00
6d9e9960f9Accepting request 1163291 from devel:languages:pythonAna Guerrero2024-03-28 12:55:35 +00:00
d52ca3622a- update to 8.14.0: * Added QPDF_FUTURE environment variable for compile time testing of new QPDF features. * Added new code to suppress console window from appearing on Windows in some situations when decoding JBIG2. * Updated GitHub Actions versions.Dirk Mueller2024-03-28 10:44:05 +00:00
1c61ad703aAccepting request 1158438 from devel:languages:pythonAna Guerrero2024-03-17 21:14:49 +00:00
096a847e66- update to 8.13.0: * Enabled PyPy 3.10 support. * Rebuilt wheels with QPDF 11.8.0. * Improved test coverage slightly. * Minor performance improvement when using file streams. * Minor update to metadata documentation.Dirk Mueller2024-03-16 10:01:09 +00:00
d162769d1bAccepting request 1157520 from devel:languages:pythonAna Guerrero2024-03-13 21:20:51 +00:00
e04fdebdf9Accepting request 1141499 from devel:languages:pythonAna Guerrero2024-01-25 17:42:05 +00:00
23530bcbd1- update to 8.11.2: * Fixed handling of XMP metadata when metadata contains objects in a default namespace. * Replaced all relative imports with absolute imports. * Rebuilt with QPDF 11.7.0. * Added support for setting page boxes to a rectangle directly, e.g. `page.mediabox = rectangle` - previously rectangle had to manually converted to an array. * Fixed rendering of PDF and individual pages in Jupyter/IPython. Newer versions of these tools are now pickier about what types of data they render, and don't render PDFs directly; we now provide SVG which works well. Requires installation of MuPDF as before. * Fixed rendering of inline images in Jupyter/IPython, which was not implemented. * Fixed build process to use new artifacts v4 actions on GitHub.Dirk Mueller2024-01-22 22:45:36 +00:00
3fd7404c16Accepting request 1135318 from devel:languages:pythonAna Guerrero2023-12-28 22:02:03 +00:00
0dfda51f24- update to 8.10.1: * Rebuilt with QPDF 11.6.4. * Replaced use of a custom C++ logger with sharing QPDF's. It is still relayed to the Python logger. * Added a simpler API for adding attachments from bytes data. * Deprecated use of Object.parse(str) in favor of Object.parse(bytes). The former, unfortunately, implemented some operations backwards are used in a page with multiple compression filters * Documentation updates.Dirk Mueller2023-12-27 14:01:56 +00:00
dde5110848Accepting request 1133036 from devel:languages:pythonAna Guerrero2023-12-14 21:03:29 +00:00
2f65cbf3f6Accepting request 1132933 from home:jonapapMartin Hauke2023-12-14 09:41:02 +00:00
3270c54b3cAccepting request 1132902 from home:ecsos:pythonDirk Mueller2023-12-14 08:09:20 +00:00
8806678452Accepting request 1119887 from devel:languages:pythonAna Guerrero2023-10-24 18:09:14 +00:00
85a4cd8f15Accepting request 1119380 from home:uncomfyhalomacro:branches:devel:languages:pythonMarkéta Machová2023-10-24 07:53:18 +00:00
c9db95fd7dAccepting request 1100657 from devel:languages:pythonAna Guerrero2023-07-26 11:23:43 +00:00
c44f037cb5- update to 8.2.1: * Support for Python 3.7 is dropped. * Added Page.form_xobjects, which returns all Form XObjects that are used in a page * Fixed an issue with extracting images that were compressed with multiple compression filters * Improved Object.repr() to avoid printing the entire contents of large object trees such as those in PDFs with structural element trees. * 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. * Adjusted stream preview (with __repr__) so it does not attempt to decompress very long * Removed uses of deprecated function datetime.utcnow() * Adjusted timeline of potentially flaky hypothesis test. * PyPy 3.10 is now supported on some platforms. * PyPy 3.8 support will be dropped in the next major releaseDirk Mueller2023-07-24 07:54:45 +00:00
b5de9d078f- update to 6.2.8.post1: * Drop PyPy3.7 from wheel builds, since dependencies (lxml, Pillow) no longer provide it. * Fixed some tests that randomly failed on Windows due to newline handling issues.Dirk Mueller2023-05-10 06:40:18 +00:00
5b6c316af5- update to 6.2.7: * Removed a debug message during mmap. * Fixed errors when using AccessMode.mmap * Fixed noisy log message. * Made some flakey tests less flakey. * Fixed deprecated information in setup.cfg. Thanks @mgorny. * Rebuild binary wheels using zlib 1.2.13. Source build unchanged.Dirk Mueller2023-01-02 19:10:56 +00:00
426bf2fb90- update to 5.1.0: * Rebuild against QPDF 10.6.3. * Improvements to Makefile for Apple Silicon wheels. * Fix issue where Pdf.check() would report a failure if JBIG2 decoder was not installed and the PDF contains JBIG2 content. * 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. * Fixed gcc linker error with linking to a source-compiled version of qpdf. Thanks @jerkenbilt. * Fixed dead/obsolete link to old QPDF manual. Thanks @m-holger. * Rebuild binary wheels against qpdf 10.5.0. Note 10.6.0 has been released but requires further changes so does not work yet. * Removed some workarounds to support now-unsupported versions of pybind11. * Adjusted hypothesis test settings so it does not randomly fail on PyPy. * Mention vector vs raster images in documentation. * JBIG2 decoding is now more tightly integrated. In particular, we can now decode more types of JBIG2 image and they can be decoded using either the object or image interface. * Switch to tomli for TOML parsing. * Refactor image tests to use hypothesis more effectively and use more random issues, fixing many errors along the way. * Fixed two instances of a Python object being copied without the GIL held. May have caused some instability. Thanks @rwgk. * Further improvements to handling of 2- and 4-bit per component images. Major refactoring of relevant code and improved testing. * Mark pybind11 2.9 as supported. Thanks @QuLogic. * Improved support for images with bits per component set to values between 2 and 7 inclusive.Dirk Mueller2022-03-27 18:26:34 +00:00