Releases: py-pdf/pypdf
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
3.4.0
What's Changed
Version 3.4.0, 2023-02-05
NOTICE: pypdf changed the way it represents numbers parsed from PDF files.
pypdf<3.4.0 represented numbers as Decimal, pypdf>=3.4.0 represents them as
floats. Several other PDF libraries to this, as well as many PDF viewers.
We hope to fix issues with too high precision like this and get a speed boost.
In case your PDF documents rely on more than 18 decimals of precision you
should check if it still works as expected.
To clarify: This does not affect the text shown in PDF documents, even if the text are numbers.
It affects numbers used by the PDF document, e.g. when graphics are drawn on the PDF
or very exact positions are used. Typically, 5 decimals should be enough.
New Features (ENH)
- Enable merging forms with overlapping names (#1553) by @pubpub-zz
- Add 'over' parameter to merge_transformend_page & co (#1567) by @pubpub-zz
Bug Fixes (BUG)
- Fix getter of the PageObject.rotation property with an indirect object (#1602) by @mitchelljkotler
- Restore merge_transformed_page & co (#1567) by @pubpub-zz
- Replace decimal by float (#1563, #1608) by @pubpub-zz
Robustness (ROB)
- PdfWriter.remove_images: /Contents might not be in page_ref (#1598)
Developer Experience (DEV)
Tests (TST)
- Mark reader test as external (#1575) by @dkg
- Unlink test output once successfully written (#1579) by @dkg
New Contributors
- @mitchelljkotler made their first contribution in #1602
Full Changelog: 3.3.0...3.4.0
Version 3.3.0, 2023-01-22
What's Changed
New Features (ENH)
- Add page label support to PdfWriter (#1558) by @lorenzomanini
- Accept inline images with space before EI (#1552) by @pubpub-zz
- Add circle annotation support (#1556)
- Add polygon annotation support (#1557)
- Make merging pages produce a deterministic PDF (#1542, #1543) by @huonw
Bug Fixes (BUG)
- Fix error in cmap extraction (#1544) by @pubpub-zz
- Remove erroneous assertion check (#1564) by @pubpub-zz
- Fix dictionary access of optional page label keys (#1562)
Robustness (ROB)
Documentation (DOC)
- Document PaperSize class (#1550) by @SandroPanchame
Developer Experience (DEV)
New Contributors
- @lorenzomanini made their first contribution in #1558
- @rraval made their first contribution in #1521
- @huonw made their first contribution in #1543
Full Changelog: 3.2.1...3.3.0