Releases: py-pdf/pypdf
Releases · py-pdf/pypdf
Version 3.12.0, 2023-07-02
What's Changed
We finally fully support modern cryptography for encrypting and decrypting PDF files.
A big thank you to @exiledkingcc who did this work a while a go 🙏
New Features (ENH)
- Add AES support for encrypting PDF files (#1918, #1935, #1936, #1938) by @exiledkingcc
- Add page deletion feature to PdfWriter (#1843) by @pubpub-zz
Bug Fixes (BUG)
- PdfReader.get_fields() attempts to delete non-existing index "/Off" (#1933) by @dmjohnsson23
- Remove unused objects when cloning_from (#1926) by @pubpub-zz
- Add the TK.SIZE into the trailer (#1911) by @talcher
- add_named_destination() maintains named destination list sort order (#1930) by @robertkearns
New Contributors
- @postmeback made their first contribution in #1920
- @talcher made their first contribution in #1911
- @jolheiser made their first contribution in #1921
- @robertkearns made their first contribution in #1931
- @dmjohnsson23 made their first contribution in #1933
Full Changelog: 3.11.1...3.12.0
Version 3.11.1, 2023-06-25
What's Changed
Bug Fixes (BUG)
- Cascaded filters in image objects (#1913) by @pubpub-zz
- Append pdf with named destination using numbers for pages (#1858) by @pubpub-zz
- Ignore "/B" fields only on pages in PdfWriter.append() (#1875) by @pubpub-zz
Version 3.11.0, 2023-06-23
What's Changed
New Features (ENH)
- Add page_number property (#1856) by @pubpub-zz
Bug Fixes (BUG)
- File expansion when updating with Page Contents (#1906) by @pubpub-zz
- Missing Alternate in indexed/ICCbased colorspaces (#1896) by @pubpub-zz
Version 3.10.0, 2023-06-18
What's Changed
This release is focused around improving pypdf's capabilities around handling images,
but pypdf should now also deal better with forms.
A big thank you to @pubpub-zz who went above and beyond in this release 👏 🤗
New Features (ENH)
- Extend images interface by returning an ImageFile(File) class (#1848) by @pubpub-zz
- Add capability to replace image (#1849) by @pubpub-zz
- Extraction of inline images (#1850) by @pubpub-zz
- Add set_data to EncodedStreamObject (#1854) by @pubpub-zz
Bug Fixes (BUG)
- Fix RGB FlateEncode Images(PNG) and transparency (#1834) - Add capability to replace image (#1849) by @pubpub-zz
- Generate static appearance for fields (#1864) by @pubpub-zz
New Contributors
- @adamchainz made their first contribution in #1885
- @jpmedras made their first contribution in #1890
- @Ineffable22 made their first contribution in #1861
- @harshhes made their first contribution in #1886
Full Changelog: 3.9.1...3.10.0
3.9.1
What's Changed
Deprecations (DEP)
- Deprecate PdfMerger (#1866) by @pubpub-zz
Bug Fixes (BUG)
- Ignore UTF-8 decode errors (#1865) by @talibhmukadam
Robustness (ROB)
- Handle missing /Type entry in Page tree (#1859) by @pubpub-zz
New Contributors
- @talibhmukadam made their first contribution in #1865
Full Changelog: 3.9.0...3.9.1
Version 3.9.0, 2023-05-21
What's Changed
New Features (ENH)
- Simplify metadata input (Document Information Dictionary) (#1851) by @pubpub-zz
- Extend cmap compatibilty to GBK_EUC_H/V (#1812) by @pubpub-zz
Bug Fixes (BUG)
- Prevent infinite loop when no character follows after a comment (#1828) by @exiledkingcc
- get_contents does not return ContentStream (#1847) by @pubpub-zz
- Accept XYZ destination with zoom missing (default to zoom=0.0) (#1844) by @pubpub-zz
- Cope with 1 Bit images (#1815) by @pubpub-zz
Robustness (ROB)
- Handle missing /Type entry in Page tree (#1845) by @pubpub-zz
Documentation (DOC)
- Expand file size explanations (#1835) by @DIvkov575
- Add comparison with pdfplumber (#1837) by @RitchieP
Maintenance (MAINT)
- Add R parameter to generate_values (#1820) by @exiledkingcc
- Prepare for adding AES enryption support (#1818) by @exiledkingcc
Code Style (STY):
New Contributors
- @RitchieP made their first contribution in #1837
- @jsonn made their first contribution in #1839
- @DIvkov575 made their first contribution in #1835
Full Changelog: 3.8.1...3.9.0
Version 3.8.1, 2023-04-23
What's Changed
Bug Fixes (BUG)
- Convert color space before saving (#1802)
Documentation (DOC)
- PDF/A (#1807)
- Use append instead of add_page (#1806) by @neversphere
- Document core mechanics of pypdf (#1783)
New Contributors
- @neversphere made their first contribution in #1806
Full Changelog: 3.8.0...3.8.1
Version 3.8.0, 2023-04-16
What's Changed
New Features (ENH)
- Add transform method to Transformation class (#1765) by @rrthomas
- Cope with UC2 fonts in text_extraction (#1785) by @pubpub-zz
Robustness (ROB)
- Invalid startxref pointing 1 char before (#1784) by @pubpub-zz
Maintenance (MAINT)
- Mark code handling old parameters as deprecated (#1798)
New Contributors
Full Changelog: 3.7.1...3.8.0
3.7.1
What's Changed
Security (SEC)
- Warn about PDF encryption security (#1755)
Robustness (ROB)
- Prevent loop in Cloning (#1770) by @pubpub-zz
- Capture UnicodeDecodeError at PdfReader.pdf_header (#1768) by @pubpub-zz
Documentation (DOC)
Developer Experience (DEV)
- Make make_changelog.py idempotent
Maintenance (MAINT)
- Move generation of file identifiers to a method (#1760)
Testing (TST)
- Add xmp test (#1775)
New Contributors
Full Changelog: 3.7.0...3.7.1
Version 3.7.0, 2023-03-26
What's Changed
Security (SEC)
- Use Python's secrets module instead of random module (#1748)
New Features (ENH)
- Add AnnotationBuilder.highlight text markup annotation (#1740)
- Add AnnotationBuilder.popup (#1665) by @pubpub-zz
- Add AnnotationBuilder.polyline annotation support (#1726)
- Add clone_from parameter in PdfWriter constructor (#1703) by @pubpub-zz
Bug Fixes (BUG)
- 'DictionaryObject' object has no attribute 'indirect_reference' (#1729) by @pubpub-zz
Robustness (ROB)
- Handle params NullObject in decode_stream_data (#1738) by @pubpub-zz
Documentation (DOC)
- Project scope (#1743)