Releases: py-pdf/pypdf
Releases · py-pdf/pypdf
Version 1.28.6, 2022-09-08
This is a bugfix for the old 1.x branch of PyPDF2 that still supports Python 2. Please try to update to the latest PyPDF2 > 2.0.0
version to get way better text extraction, support for modern encryption, and much more.
What's Changed
New Contributors
Full Changelog: 1.28.5...1.28.6
Version 2.10.5, 2022-09-04
What's Changed
New Features (ENH)
- Process XRefStm (#1297)
- Auto-detect RTL for text extraction (#1309) by @pubpub-zz
Bug Fixes (BUG)
- Avoid scaling cropbox twice (#1314) by @yegorLitvinov
Robustness (ROB)
- Fix offset correction in revised PDF (#1318) by @pubpub-zz
- Crop data of /U and /O in encryption dictionary to 48 bytes (#1317) by @exiledkingcc
- MultiLine bfrange in cmap (#1299) by @pubpub-zz
- Cope with 2 digit codes in bfchar (#1310) by @pubpub-zz
- Accept '/annn' charset as ASCII code (#1316) by @pubpub-zz
- Log errors during Float / NumberObject initialization (#1315) by @pubpub-zz
- Cope with corrupted entries in xref table (#1300) by @pubpub-zz
Documentation (DOC)
- Migration guide (PyPDF2 1.x ➔ 2.x) (#1324)
- Creating a coverage report (#1319)
- Fix AnnotationBuilder.free_text example (#1311)
- Fix usage of page.scale by replacing it with page.scale_by (#1313) by @yegorLitvinov
Developer Experience (DEV)
- Only run coverage for PyPDF2
Maintenance (MAINT)
- PdfReaderProtocol (#1303)
- Throw PdfReadError if Trailer can't be read (#1298) by @ediamondscience
- Remove catching OverflowException (#1302)
Testing (TST)
- Catch Exception for sample-files repo (#1307)
New Contributors
- @ediamondscience made their first contribution in #1298
- @yegorLitvinov made their first contribution in #1313
- @markdlevy made their first contribution in #1311
Full Changelog: 2.10.4...2.10.5
Version 2.10.4, 2022-08-28
What's Changed
Robustness (ROB)
- Fix errors/warnings on no /Resources within extract_text (#1276) by @pubpub-zz
- Add required line separators in ContentStream ArrayObjects (#1281) by @pubpub-zz
Maintenance (MAINT)
- Use NameObject idempotency (#1290)
Testing (TST)
Packaging (PKG)
- Add minimum version for typing_extensions requirement (#1277) by @Shortfinga
New Contributors
- @Shortfinga made their first contribution in #1277
Full Changelog: 2.10.3...2.10.4
Version 2.10.3, 2022-08-21
What's Changed
Robustness (ROB)
- Decrypt returns empty bytestring (#1258) by @pubpub-zz
Developer Experience (DEV)
- Modify CI to better verify built package contents (#1244) by @MasterOdin
Maintenance (MAINT)
- Let PdfMerger._create_stream raise NotImplemented (#1251) and
remove 'mine' as PdfMerger always creates the stream (#1261) - password param of _security._alg32(...) is only a string, not bytes (#1259)
- Remove unreachable code in read_block_backwards (#1250) and _extract_text (#1262)
Testing (TST)
- Delete annotations (#1263)
- Close PdfMerger in tests (#1260)
- PdfReader.xmp_metadata workflow (#1257)
- Various PdfWriter (Layout, Bookmark deprecation) (#1249)
Full Changelog: 2.10.2...2.10.3
Version 2.10.2, 2022-08-15
Full Changelog: 2.10.1...2.10.2
Version 2.10.1, 2022-08-15
What's Changed
Bug Fixes (BUG)
- TreeObject.remove_child had a non-PdfObject assignment for Count (#1233, #1234)
- Fix stream truncated prematurely (#1223) by @pubpub-zz
Documentation (DOC)
- Fix docstring formatting (#1228)
Maintenance (MAINT)
- Split generic.py (#1229)
Testing (TST)
- Decrypt AlgV4 with owner password (#1239)
- AlgV5.generate_values (#1238)
- TreeObject.remove_child / empty_tree (#1235, #1236)
- create_string_object (#1232)
- Free-Text annotations (#1231)
- generic._base (#1230)
- Strict get fonts (#1226)
- Increase PdfReader coverage (#1219, #1225)
- Increase PdfWriter coverage (#1237)
- 100% coverage for utils.py (#1217)
- PdfWriter exception non-binary stream (#1218)
- Don't check coverage for deprecated code (#1216)
Full Changelog: 2.10.0...2.10.1
Version 2.10.0, 2022-08-07
What's Changed
New Features (ENH):
- "with" support for PdfMerger and PdfWriter (#1193) by @JianzhengLuo
- Add AnnotationBuilder.text(...) to build text annotations (#1202)
Bug Fixes (BUG):
- Allow IndirectObjects as stream filters (#1211)
Documentation (DOC):
- Font scrambling
- Page vs Content scaling (#1208)
- Example for orientation parameter of extract_text (#1206) by @pubpub-zz
- Fix AnnotationBuilder parameter formatting (#1204)
Developer Experience (DEV):
- Add flake8-print (#1203)
Maintenance (MAINT):
- Introduce WrongPasswordError / FileNotDecryptedError / EmptyFileError (#1201) by @chilledgeek
Full Changelog: 2.9.0...2.10.0
New Contributors 🎉
- @JianzhengLuo made their first contribution in #1193
- @chilledgeek made their first contribution in #1201
Full Changelog: 2.9.0...2.10.0
Version 2.9.0, 2022-07-31
What's Changed
New Features (ENH)
- Add ability to add hex encoded colors to outline items (#1186) by @mtd91429
- Add support for pathlib.Path in PdfMerger.merge (#1190) by @MartinThoma
- Add link annotation (#1189) by @MartinThoma
- Add capability to filter text extraction by orientation (#1175) by @pubpub-zz
Bug Fixes (BUG)
- Named Dest in PDF1.1 (#1174) by @pubpub-zz
- Incomplete Graphic State save/restore (#1172) by @pubpub-zz
Documentation (DOC)
- Update changelog url in package metadata (#1180) by @mkniewallner
- Mention camelot for table extraction (#1179) by @MartinThoma
- Mention pyHanko for signing PDF documents (#1178) by @MartinThoma
- We have CMAP support since a while (#1177) by @MartinThoma
Maintenance (MAINT)
- Consistent usage of warnings / log messages (#1164) by @MartinThoma
- Consistent terminology for outline items (#1156) by @mtd91429
New Contributors
- @mkniewallner made their first contribution in #1180 🎉
Full Changelog: 2.8.1...2.9.0
Version 2.8.1, 2022-07-25
What's Changed
Bug Fixes (BUG)
- u_hash in AlgV4.compute_key (#1170) by @exiledkingcc
Robustness (ROB)
- Fix loading of file from #134 (#1167)
- Cope with empty DecodeParams (#1165) by @pubpub-zz
Documentation (DOC)
- Typo in merger deprecation warning message (#1166) by @pubpub-zz
Maintenance (MAINT)
- Package updates; solve mypy strict remarks (#1163)
Testing (TST)
- Add test from #325 (#1169) by @pubpub-zz
Full Changelog: 2.8.0...2.8.1
Version 2.8.0, 2022-07-24
What's Changed
Thank you @pubpub-zz and @exiledkingcc for your contributions ❤️
New Features (ENH)
- Add writer.add_annotation, page.annotations, and generic.AnnotationBuilder (#1120)
Bug Fixes (BUG)
Robustness (ROB)
- Cope with utf16 character for space calculation (#1155)
- Cope with null params for FitH / FitV destination (#1152)
- Handle outlines without valid destination (#1076)
Developer Experience (DEV)
- Introduce _utils.logger_warning (#1148)
Maintenance (MAINT)
- Break up parse_to_unicode (#1162)
- Add diagnostic output to exception in read_from_stream (#1159)
- Reduce PdfReader.read complexity (#1151)
Testing (TST)
- Add workflow tests found by arc testing (#1154)
- Decrypt file which is not encrypted (#1149)
- Test CryptRC4 encryption class; test image extraction filters (#1147)
Full Changelog: 2.7.0...2.8.0