New Features (ENH)
- Allow multiple charsets for NameObject.read_from_stream (2585)
- Add support for /Kids in page labels (2562)
- Allow to update fields on many pages (2571)
- Tolerate PDF with invalid xref pointed objects (2335)
- Add Enforce from PDF2.0 in viewer_preferences (2511)
- Add += and -= operators to ArrayObject (2510)
Bug Fixes (BUG)
- Fix merge_page sometimes generating unknown operator 'QQ' (2588)
- Fix fields update where annotations are kids of field (2570)
- Process CMYK images without a filter correctly (2557)
- Extract text in layout mode without finding resources (2555)
- Prevent recursive loop in some PDF files (2505)
Robustness (ROB)
- Tolerate "truncated" xref (2580)
- Replace error by warning for EOD in RunLengthDecode/ASCIIHexDecode (2334)
- Rebuild xref table if one entry is invalid (2528)
- Robustify stream extraction (2526)
Documentation (DOC)
- Update release process for latest changes (2564)
- Encryption/decryption: Clone document instead of copying all pages (2546)
- Minor improvements (2542)
- Update annotation list (2534)
- Update references and formatting (2529)
- Correct threads reference, plus minor changes (2521)
- Minor readability increases (2515)
- Simplify PaperSize examples (2504)
- Minor improvements (2501)
Developer Experience (DEV)
- Remove unused dependencies (2572)
- Remove page labels PR link from message (2561)
- Fix changelog generator regarding whitespace and handling of "Other" group (2492)
- Add REL to known PR prefixes (2554)
- Release using the REL commit instead of git tag (2500)
- Unify code between PdfReader and PdfWriter (2497)
- Bump softprops/action-gh-release from 1 to 2 (2514)
Maintenance (MAINT)
- Ressources → Resources (and internal name childs) (2550)
- Fix typos found by codespell (2549)
- Update Read the Docs configuration (2538)
- Add root_object, _info and _ID to PdfReader (2495)
Testing (TST)
- Allow loading truncated images if required (2586)
- Fix download issues from 2562 (2578)
- Improve test_get_contents_from_nullobject to show real use-case (2524)
- Add missing test annotations (2507)
[Full Changelog](https://github.com/py-pdf/pypdf/compare/4.1.0...4.2.0)