Releases: py-pdf/pypdf
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
Version 3.2.1, 2023-01-08
What's Changed
Bug Fixes (BUG)
- Accept hierarchical fields (#1529) by @pubpub-zz
Documentation (DOC)
- Use google style docstrings (#1534)
- Fix linked markdown documents (#1537) by @abyesilyurt
Developer Experience (DEV)
- Update docs config (#1535)
Version 3.2.0, 2022-12-31
What's Changed
Performance Improvement (PI)
- Help the specializing adpative interpreter (#1522)
New Features (ENH)
- Add support for page labels (#1519)
Bug Fixes (BUG)
- upgrade clone_document_root (#1520) by @pubpub-zz
Miscellaneous
- DOC: Fix migration guide link by @abyesilyurt in #1516
- MAINT: Minor Improvements by @robbiebusinessacc in #1523
New Contributors
- @abyesilyurt made their first contribution in #1516
- @robbiebusinessacc made their first contribution in #1523
Full Changelog: 3.1.0...3.2.0
Version 3.1.0, 2022-12-23
What's Changed
Move PyPDF2 to pypdf (#1513). This now it's all lowercase, no number in the
name. For installation and for import. PyPDF2 will no longer receive updates.
The community should move back to its roots (pydf).
Full Changelog: 3.0.0...3.1.0
Version 3.0.0, 2022-12-22
What's Changed
BREAKING CHANGES
New Features (ENH)
- Add Cloning (#1371) by @pubpub-zz
- Allow int for indirect_reference in PdfWriter.get_object (#1490)
Documentation (DOC)
- How to read PDFs from S3 (#1509)
- Make MyST parse all links as simple hyperlinks (#1506) by @mbromet
- Changed 'latest' for 'stable' generated docs (#1495) by @olsonperrensen
- Adjust deprecation procedure (#1487)
Maintenance (MAINT)
New Contributors
- @olsonperrensen made their first contribution in #1495
- @thehale made their first contribution in #1498
- @mbromet made their first contribution in #1506
Full Changelog: 2.12.1...3.0.0
Version 2.12.1, 2022-12-10
What's Changed
Documentation (DOC)
Maintenance (MAINT)
Consistency changes:
- indirect_ref/ido ➔ indirect_reference, dest➔ page_destination (#1467) by @kygoben
- owner_pwd/user_pwd ➔ owner_password/user_password (#1483)
- position ➜ page_number in Merger.merge (#1482) by @Infus3d
- indirect_ref ➜ indirect_reference (#1484)
New Contributors
Full Changelog: 2.12.0...2.12.1
Version 2.12.0, 2022-12-10
What's Changed
Version 2.12.0, 2022-12-10
New Features (ENH)
- Add support to extract gray scale images (#1460) by @joeywang4
- Make PdfReader.get_object accept integer arguments (#1459) by @pubpub-zz
- Add 'threads' property to PdfWriter (#1458) by @pubpub-zz
- Add 'open_destination' property to PdfWriter (#1431) by @pubpub-zz
Bug Fixes (BUG)
- Scale PDF annotations (#1479) by @joshhendo
Robustness (ROB)
- Padding issue with AES encryption (#1469)
- Accept empty object as null objects (#1477) by @pubpub-zz
Documentation (DOC)
- Add module documentation the PaperSize class (#1447) by @MagnumBarrage
Maintenance (MAINT)
- Use 'page_number' instead of 'pagenum' (#1365)
- Add List of pages to PageRangeSpec (#1456) by @pubpub-zz
Testing (TST)
- Cleanup temporary files (#1454) by @pubpub-zz
- Mark test_tounicode_is_identity as external (#1449) by @heirecka
- Use Ubuntu 20.04 for running CI test suite (#1452) by @MasterOdin
New Contributors
- @heirecka made their first contribution in #1449
- @MagnumBarrage made their first contribution in #1447
- @joeywang4 made their first contribution in #1460
- @joshhendo made their first contribution in #1479
Full Changelog: 2.11.2...2.12.0
Version 2.11.2, 2022-11-20
What's Changed
New Features (ENH)
- Add remove_from_tree (#1432) by @pubpub-zz
- Add AnnotationBuilder.rectangle (#1388)
Bug Fixes (BUG)
- JavaScript executed twice (#1439) by @pubpub-zz
- ToUnicode stores /Identity-H instead of stream (#1433) by @pubpub-zz
- Declare Pillow as optional dependency (#1392)
Developer Experience (DEV)
- Link 'Full Changelog' automatically
- Modify read_string_from_stream to a benchmark (#1415)
- Improve error reporting of read_object (#1412) by @pubpub-zz
- Test Python 3.11 (#1404)
- Extend Flake8 ignore list (#1410)
- Use correct pytest markers (#1407)
- Move project configuration to pyproject.toml (#1382) by @singingwolfboy
Documentation (DOC)
- Fix typos in installation.md by @amyreyespdx in #1419
- Typos in PDF format documentation by @pavlidvg in #1438
New Contributors
- @singingwolfboy made their first contribution in #1391
- @amyreyespdx made their first contribution in #1419
- @pavlidvg made their first contribution in #1438
Full Changelog: 2.11.1...2.11.2
Version 2.11.1, 2022-10-09
What's Changed
Bug Fixes (BUG)
- td matrix (#1373) by @srogmann
- Cope with cmap from #1322 (#1372) by @pubpub-zz
Robustness (ROB)
- Cope with str returned from get_data in cmap (#1380) by @pubpub-zz
Documentation (DOC)
- Remove watermark PageObject declaration as it is already present inside for-loop (#1384) by @cs2sandeep
New Contributors
- @cs2sandeep made their first contribution in #1384
Full Changelog: 2.11.0...2.11.1