ITADN
py-pdf/pypdf

版本发布 8

Version 6.6.0, 2026-01-096.6.0
? · 2026-01-09

## What's new ### Security (SEC) - Improve handling of partially broken PDF files (#3594) by @stefan6419846 ### Deprecations (DEP) - Block common page content modifications when assigned to reader (#3582) by @stefan6419846 ### New Features (ENH) - Embellishments to generated text appearance streams (#3571) by @PJBrs ### Bug Fixes (BUG) - Do not consider multi-byte BOM-like sequences as BOMs (#3589) by @stefan6419846 ### Robustness (ROB) - Avoid empty FlateDecode outputs without warning (#3579) by @stefan6419846 ### Documentation (DOC) - Add outlines documentation and link it in User Guide (#3511) by @mainuddin-md ### Developer Experience (DEV) - Add PyPy 3.11 to test matrix and benchmarks (#3574) by @rassie ### Maintenance (MAINT) - Fix compatibility with Pillow >= 12.1.0 (#3590) by @stefan6419846 [Full Changelog](https://github.com/py-pdf/pypdf/compare/6.5.0...6.6.0)

Version 6.3.0, 2025-11-166.3.0
? · 2025-11-16

## What's new ### New Features (ENH) - Wrap and align text in flattened PDF forms (#3465) by @PJBrs ### Bug Fixes (BUG) - Fix missing "PreventGC" when cloning (#3520) by @patrick91 - Preserve JPEG image quality by default (#3516) by @Lucas-C [Full Changelog](https://github.com/py-pdf/pypdf/compare/6.2.0...6.3.0)

Version 6.1.1, 2025-09-286.1.1
? · 2025-09-28

## What's new ### Bug Fixes (BUG) - Insert new embedded files in a sorted manner (#3477) by @stefan6419846 - Fix name tree handling for embedded files with Kids-based inputs (#3475) by @stefan6419846 - Make embedding files not break PDF/A-3 compliance (#3472) by @stefan6419846 ### Documentation (DOC) - Document AFRelationship handling for PDF/A and provide constants (#3478) by @stefan6419846 [Full Changelog](https://github.com/py-pdf/pypdf/compare/6.1.0...6.1.1)

Version 6.1.0, 2025-09-216.1.0
? · 2025-09-21

## What's new ### New Features (ENH) - Enhance XMP metadata handling with creation and setter methods (#3410) by @Arya-A-Nair - Add all font metrics for base 14 Type 1 PDF fonts (#3363) by @PJBrs - Allow deleting embedded files (#3461) by @stefan6419846 - Add support for Python in FIPS mode for document identifier (#3438) by @xnox ### Bug Fixes (BUG) - Fix handling of UTF-16 encoded destination titles (#3463) by @stefan6419846 - Guard empty input to prevent IndexError (#3448) by @KyleJung0828 ### Developer Experience (DEV) - Fix type hint for XMP metadata setter to add bytes type (#3464) by @stefan6419846 [Full Changelog](https://github.com/py-pdf/pypdf/compare/6.0.0...6.1.0)

Version 6.0.0, 2025-08-116.0.0
? · 2025-08-11

## What's new ### Security (SEC) - Limit decompressed size for FlateDecode filter (#3430) by @stefan6419846 ### Deprecations (DEP) - Drop Python 3.8 support (#3412) by @stefan6419846 ### New Features (ENH) - Move BlackIs1 functionality to tiff_header (#3421) by @j-t-1 ### Robustness (ROB) - Skip Go-To actions without a destination (#3420) by @badGarnet ### Developer Experience (DEV) - Update code style related libraries (#3414) by @stefan6419846 - Update mypy to 1.17.0 (#3413) by @stefan6419846 - Stop testing on Python 3.8 and start testing on Python 3.14 (#3411) by @stefan6419846 ### Maintenance (MAINT) - Cleanup deprecations (#3424) by @stefan6419846 [Full Changelog](https://github.com/py-pdf/pypdf/compare/5.9.0...6.0.0)

Version 5.9.0, 2025-07-275.9.0
? · 2025-07-27

## What's new ### New Features (ENH) - Automatically preserve links in added pages (#3298) by @larsga - Allow writing/updating all properties of an embedded file (#3374) by @Arya-A-Nair ### Bug Fixes (BUG) - Fix XMP handling dropping indirect references (#3392) by @stefan6419846 ### Robustness (ROB) - Deal with DecodeParms being empty list (#3388) by @stefan6419846 ### Documentation (DOC) - Document how to read and modify XMP metadata (#3383) by @stefan6419846 [Full Changelog](https://github.com/py-pdf/pypdf/compare/5.8.0...5.9.0)

Version 5.8.0, 2025-07-135.8.0
? · 2025-07-13

## What's new ### New Features (ENH) - Implement flattening for writer (#3312) by @PJBrs ### Bug Fixes (BUG) - Unterminated object when using PdfWriter with incremental=True (#3345) by @m32 ### Robustness (ROB) - Resolve some image extraction edge cases (#3371) by @stefan6419846 - Ignore faulty trailing newline during RLE decoding (#3355) by @henningkoertelgmg - Gracefully handle odd-length strings in parse_bfchar (#3348) by @stefan6419846 ### Developer Experience (DEV) - Modernize license specifiers (#3338) by @stefan6419846 ### Maintenance (MAINT) - Reduce max-complexity of tool.ruff.lint.mccabe (#3365) by @j-t-1 - Refactor text extraction code by @MartinThoma [Full Changelog](https://github.com/py-pdf/pypdf/compare/5.7.0...5.8.0)

Version 5.6.1, 2025-06-225.6.1
? · 2025-06-22

## What's new ### New Features (ENH) - Add PDF/A XMP metadata support (#3314) by @Arya-A-Nair ### Robustness (ROB) - Deal with annotations not being lists on merge (#3321) by @stefan6419846 - Handle NullObject for cmap encoding Differences entry (#3317) by @stefan6419846 ### Developer Experience (DEV) - Update ruff to 0.12.0 (#3316) by @stefan6419846 [Full Changelog](https://github.com/py-pdf/pypdf/compare/5.6.0...5.6.1)