Releases: py-pdf/pypdf
Releases · py-pdf/pypdf
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)
Maintenance (MAINT)
Version 3.6.0, 2023-03-18
What's Changed
New Features (ENH)
- Extend PdfWriter.append() to PageObjects (#1704) by @pubpub-zz
- Support qualified names in update_page_form_field_values (#1695) by @xi
Robustness (ROB)
- Tolerate streams without length field (#1717) by @pubpub-zz
- Accept DictionaryObject in /D of NamedDestination (#1720) by @pubpub-zz
- Widths def in cmap calls IndirectObject (#1719) by @pubpub-zz
New Contributors
Full Changelog: 3.5.2...3.6.0
3.5.2
What's Changed
Bug Fixes (BUG)
- compress_content_stream not readable in Adobe Acrobat (#1698) by @pubpub-zz
- Pass logging parameters correctly in set_need_appearances_writer (#1697) by @rolisz
- Write /Root/AcroForm in set_need_appearances_writer (#1639) by @cryzed
Robustness (ROB)
- Allow more whitespaces within linearized file (#1701) by @pubpub-zz
New Contributors
Full Changelog: 3.5.1...3.5.2
Version 3.5.1, 2023-03-05
What's Changed
Robustness (ROB)
- Some attributes not copied in DictionaryObject._clone (#1635) by @pubpub-zz
- Allow merging multiple time pages with annots (#1624) by @pubpub-zz
Testing (TST)
- Replace pytest.mark.external by enable_socket (#1657)
Documentation (DOC)
- Fix misuse of the word 'operand' in the docs (#1684) by @joshuagerstein
New Contributors
- @joshuagerstein made their first contribution in #1684
Full Changelog: 3.5.0...3.5.1
Version 3.5.0, 2023-02-26
What's Changed
New Features (ENH)
- Add reader.attachments public interface (#1611, #1661) by @pubpub-zz
- Add PdfWriter.remove_objects_from_page(page: PageObject, to_delete: ObjectDeletionFlag) (#1648) by @pubpub-zz
- Allow free-text annotation to have transparent border/background (#1664)
Bug Fixes (BUG)
- Allow decryption with empty password for AlgV5 (#1663) by @christopher5106
- Let PdfWriter.pages return PageObject after calling
clone_document_from_reader()
(#1613) by @pubpub-zz - Invalid font pointed during merge_resources (#1641) by @pubpub-zz
Robustness (ROB)
- Cope with invalid objects in IndirectObject.clone (#1637) by @pubpub-zz
- Improve tolerance to invalid Names/Dests (#1658) by @pubpub-zz
- Decode encoded values in get_fields (#1636) by @pubpub-zz
- Let PdfWriter.merge cope with missing "/Fields" (#1628) by @pubpub-zz
Documentation (DOC)
- paramter -> parameter (#1634) by @engpetermwangi
- merge_transformed_page() (#1647) by @paternal
Tests (TST)
- Mark new external tests appropriately (#1632) by @dkg
- Add tests for page labels (#1642) by @pubpub-zz
New Contributors
- @engpetermwangi made their first contribution in #1634
- @paternal made their first contribution in #1647
- @christopher5106 made their first contribution in #1663
Full Changelog: 3.4.1...3.5.0
3.4.1
What's Changed
Bug Fixes (BUG)
- Switch from trimbox to cropbox when merging pages (#1622)
- Text extraction not working with one glyph to char sequence (#1620) by @pubpub-zz
Robustness (ROB)
- Fix 2 cases of "object has no attribute 'indirect_reference'" (#1616) by @pubpub-zz
Testing (TST)
- Add multiple retry on get_url for external PDF downloads (#1626) by @pubpub-zz
Documentation (DOC)
- Complete unfinished sentence (#1617) by @daankoning
New Contributors
- @daankoning made their first contribution in #1617
Full Changelog: 3.4.0...3.4.1