py-pdf/pypdf (pypdf)
### [`v5.1.0`](https://redirect.github.com/py-pdf/pypdf/blob/HEAD/CHANGELOG.md#Version-510-2024-10-27)
[Compare Source](https://redirect.github.com/py-pdf/pypdf/compare/5.0.1...5.1.0)
##### New Features (ENH)
- Add `layout_mode_font_height_weight` argument to `PageObject.extract_text()` ([#2920](https://redirect.github.com/py-pdf/pypdf/issues/2920))
##### Bug Fixes (BUG)
- Fix font specificier for FreeText annotation ([#2893](https://redirect.github.com/py-pdf/pypdf/issues/2893))
- Line breaks are not generated due to incorrect calculation of text leading ([#2890](https://redirect.github.com/py-pdf/pypdf/issues/2890))
- Improve handling of spaces in text extraction ([#2882](https://redirect.github.com/py-pdf/pypdf/issues/2882))
##### Robustness (ROB)
- Soft failure for flate encode image mode 1 with wrong LUT size ([#2900](https://redirect.github.com/py-pdf/pypdf/issues/2900))
##### Documentation (DOC)
- Use latest package versions ([#2907](https://redirect.github.com/py-pdf/pypdf/issues/2907))
- Correct example of reading FileAttachment annotation ([#2906](https://redirect.github.com/py-pdf/pypdf/issues/2906))
##### Developer Experience (DEV)
- Update pinned requirements ([#2918](https://redirect.github.com/py-pdf/pypdf/issues/2918))
- Make make_release.py compatible with Windows environment ([#2894](https://redirect.github.com/py-pdf/pypdf/issues/2894))
##### Maintenance (MAINT)
- Remove references to outdated Python versions ([#2919](https://redirect.github.com/py-pdf/pypdf/issues/2919))
- Generalize the method of obtaining space_code ([#2891](https://redirect.github.com/py-pdf/pypdf/issues/2891))
- Unnecessary character mapping process ([#2888](https://redirect.github.com/py-pdf/pypdf/issues/2888))
- New LZW decoding implementation ([#2887](https://redirect.github.com/py-pdf/pypdf/issues/2887))
##### Testing (TST)
- Add LzwCodec for encoding ([#2883](https://redirect.github.com/py-pdf/pypdf/issues/2883))
##### Code Style (STY)
- Capitalize error messages ([#2903](https://redirect.github.com/py-pdf/pypdf/issues/2903))
- Modify error messages in PdfWriter ([#2902](https://redirect.github.com/py-pdf/pypdf/issues/2902))
[Full Changelog](https://redirect.github.com/py-pdf/pypdf/compare/5.0.1...5.1.0)
### [`v5.0.1`](https://redirect.github.com/py-pdf/pypdf/blob/HEAD/CHANGELOG.md#Version-501-2024-09-29)
[Compare Source](https://redirect.github.com/py-pdf/pypdf/compare/5.0.0...5.0.1)
##### New Features (ENH)
- Add `full` parameter to PdfWriter constructor ([#2865](https://redirect.github.com/py-pdf/pypdf/issues/2865))
##### Bug Fixes (BUG)
- Update pyproject.toml with minimum Python version of 3.8 ([#2859](https://redirect.github.com/py-pdf/pypdf/issues/2859))
- Cope with unbalanced delimiters in dictionary object ([#2878](https://redirect.github.com/py-pdf/pypdf/issues/2878))
- Cope with encoding with too many differences ([#2873](https://redirect.github.com/py-pdf/pypdf/issues/2873))
- Missing spaces in extract_text() method ([#1328](https://redirect.github.com/py-pdf/pypdf/issues/1328)) ([#2868](https://redirect.github.com/py-pdf/pypdf/issues/2868))
- Tolerate truncated files and no warning when jumping startxref ([#2855](https://redirect.github.com/py-pdf/pypdf/issues/2855))
##### Robustness (ROB)
- Repair PDF with invalid Root object ([#2880](https://redirect.github.com/py-pdf/pypdf/issues/2880))
- Continue parsing dictionary object when error is detected ([#2872](https://redirect.github.com/py-pdf/pypdf/issues/2872))
- Merge documents with invalid pages in named destinations ([#2857](https://redirect.github.com/py-pdf/pypdf/issues/2857))
- Tolerate comments in arrays ([#2856](https://redirect.github.com/py-pdf/pypdf/issues/2856))
##### Developer Experience (DEV)
- Use latest Python version for benchmarking ([#2879](https://redirect.github.com/py-pdf/pypdf/issues/2879))
##### Maintenance (MAINT)
- Add tests to source distributions ([#2874](https://redirect.github.com/py-pdf/pypdf/issues/2874))
- Refactor \_update_field_annotation ([#2862](https://redirect.github.com/py-pdf/pypdf/issues/2862))
[Full Changelog](https://redirect.github.com/py-pdf/pypdf/compare/5.0.0...5.0.1)
### [`v5.0.0`](https://redirect.github.com/py-pdf/pypdf/blob/HEAD/CHANGELOG.md#Version-500-2024-09-15)
[Compare Source](https://redirect.github.com/py-pdf/pypdf/compare/4.3.1...5.0.0)
This version drops support for Python 3.7 (not maintained since July 2023), PdfMerger (use PdfWriter instead) and AnnotationBuilder (use annotations instead).
##### Deprecations (DEP)
- Remove the deprecated PfdMerger and AnnotationBuilder classes and other deprecations cleanup ([#2813](https://redirect.github.com/py-pdf/pypdf/issues/2813))
- Drop Python 3.7 support ([#2793](https://redirect.github.com/py-pdf/pypdf/issues/2793))
##### New Features (ENH)
- Add capability to remove /Info from PDF ([#2820](https://redirect.github.com/py-pdf/pypdf/issues/2820))
- Add incremental capability to PdfWriter ([#2811](https://redirect.github.com/py-pdf/pypdf/issues/2811))
- Add UniGB-UTF16 encodings ([#2819](https://redirect.github.com/py-pdf/pypdf/issues/2819))
- Accept utf strings for metadata ([#2802](https://redirect.github.com/py-pdf/pypdf/issues/2802))
- Report PdfReadError instead of RecursionError ([#2800](https://redirect.github.com/py-pdf/pypdf/issues/2800))
- Compress PDF files merging identical objects ([#2795](https://redirect.github.com/py-pdf/pypdf/issues/2795))
##### Bug Fixes (BUG)
- Fix sheared image ([#2801](https://redirect.github.com/py-pdf/pypdf/issues/2801))
##### Robustness (ROB)
- Robustify .set_data() ([#2821](https://redirect.github.com/py-pdf/pypdf/issues/2821))
- Raise PdfReadError when missing /Root in trailer ([#2808](https://redirect.github.com/py-pdf/pypdf/issues/2808))
- Fix extract_text() issues on damaged PDFs ([#2760](https://redirect.github.com/py-pdf/pypdf/issues/2760))
- Handle images with empty data when processing an image from bytes ([#2786](https://redirect.github.com/py-pdf/pypdf/issues/2786))
##### Developer Experience (DEV)
- Fix coverage uploads ([#2832](https://redirect.github.com/py-pdf/pypdf/issues/2832))
- Test against Python 3.13 ([#2776](https://redirect.github.com/py-pdf/pypdf/issues/2776))
[Full Changelog](https://redirect.github.com/py-pdf/pypdf/compare/4.3.1...5.0.0)
Configuration
📅 Schedule: Branch creation - "after 6pm every weekday,every weekend" in timezone Australia/Sydney, Automerge - "after 6pm every weekday,every weekend" in timezone Australia/Sydney.
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
4.3.1
->5.1.0
Release Notes
py-pdf/pypdf (pypdf)
### [`v5.1.0`](https://redirect.github.com/py-pdf/pypdf/blob/HEAD/CHANGELOG.md#Version-510-2024-10-27) [Compare Source](https://redirect.github.com/py-pdf/pypdf/compare/5.0.1...5.1.0) ##### New Features (ENH) - Add `layout_mode_font_height_weight` argument to `PageObject.extract_text()` ([#2920](https://redirect.github.com/py-pdf/pypdf/issues/2920)) ##### Bug Fixes (BUG) - Fix font specificier for FreeText annotation ([#2893](https://redirect.github.com/py-pdf/pypdf/issues/2893)) - Line breaks are not generated due to incorrect calculation of text leading ([#2890](https://redirect.github.com/py-pdf/pypdf/issues/2890)) - Improve handling of spaces in text extraction ([#2882](https://redirect.github.com/py-pdf/pypdf/issues/2882)) ##### Robustness (ROB) - Soft failure for flate encode image mode 1 with wrong LUT size ([#2900](https://redirect.github.com/py-pdf/pypdf/issues/2900)) ##### Documentation (DOC) - Use latest package versions ([#2907](https://redirect.github.com/py-pdf/pypdf/issues/2907)) - Correct example of reading FileAttachment annotation ([#2906](https://redirect.github.com/py-pdf/pypdf/issues/2906)) ##### Developer Experience (DEV) - Update pinned requirements ([#2918](https://redirect.github.com/py-pdf/pypdf/issues/2918)) - Make make_release.py compatible with Windows environment ([#2894](https://redirect.github.com/py-pdf/pypdf/issues/2894)) ##### Maintenance (MAINT) - Remove references to outdated Python versions ([#2919](https://redirect.github.com/py-pdf/pypdf/issues/2919)) - Generalize the method of obtaining space_code ([#2891](https://redirect.github.com/py-pdf/pypdf/issues/2891)) - Unnecessary character mapping process ([#2888](https://redirect.github.com/py-pdf/pypdf/issues/2888)) - New LZW decoding implementation ([#2887](https://redirect.github.com/py-pdf/pypdf/issues/2887)) ##### Testing (TST) - Add LzwCodec for encoding ([#2883](https://redirect.github.com/py-pdf/pypdf/issues/2883)) ##### Code Style (STY) - Capitalize error messages ([#2903](https://redirect.github.com/py-pdf/pypdf/issues/2903)) - Modify error messages in PdfWriter ([#2902](https://redirect.github.com/py-pdf/pypdf/issues/2902)) [Full Changelog](https://redirect.github.com/py-pdf/pypdf/compare/5.0.1...5.1.0) ### [`v5.0.1`](https://redirect.github.com/py-pdf/pypdf/blob/HEAD/CHANGELOG.md#Version-501-2024-09-29) [Compare Source](https://redirect.github.com/py-pdf/pypdf/compare/5.0.0...5.0.1) ##### New Features (ENH) - Add `full` parameter to PdfWriter constructor ([#2865](https://redirect.github.com/py-pdf/pypdf/issues/2865)) ##### Bug Fixes (BUG) - Update pyproject.toml with minimum Python version of 3.8 ([#2859](https://redirect.github.com/py-pdf/pypdf/issues/2859)) - Cope with unbalanced delimiters in dictionary object ([#2878](https://redirect.github.com/py-pdf/pypdf/issues/2878)) - Cope with encoding with too many differences ([#2873](https://redirect.github.com/py-pdf/pypdf/issues/2873)) - Missing spaces in extract_text() method ([#1328](https://redirect.github.com/py-pdf/pypdf/issues/1328)) ([#2868](https://redirect.github.com/py-pdf/pypdf/issues/2868)) - Tolerate truncated files and no warning when jumping startxref ([#2855](https://redirect.github.com/py-pdf/pypdf/issues/2855)) ##### Robustness (ROB) - Repair PDF with invalid Root object ([#2880](https://redirect.github.com/py-pdf/pypdf/issues/2880)) - Continue parsing dictionary object when error is detected ([#2872](https://redirect.github.com/py-pdf/pypdf/issues/2872)) - Merge documents with invalid pages in named destinations ([#2857](https://redirect.github.com/py-pdf/pypdf/issues/2857)) - Tolerate comments in arrays ([#2856](https://redirect.github.com/py-pdf/pypdf/issues/2856)) ##### Developer Experience (DEV) - Use latest Python version for benchmarking ([#2879](https://redirect.github.com/py-pdf/pypdf/issues/2879)) ##### Maintenance (MAINT) - Add tests to source distributions ([#2874](https://redirect.github.com/py-pdf/pypdf/issues/2874)) - Refactor \_update_field_annotation ([#2862](https://redirect.github.com/py-pdf/pypdf/issues/2862)) [Full Changelog](https://redirect.github.com/py-pdf/pypdf/compare/5.0.0...5.0.1) ### [`v5.0.0`](https://redirect.github.com/py-pdf/pypdf/blob/HEAD/CHANGELOG.md#Version-500-2024-09-15) [Compare Source](https://redirect.github.com/py-pdf/pypdf/compare/4.3.1...5.0.0) This version drops support for Python 3.7 (not maintained since July 2023), PdfMerger (use PdfWriter instead) and AnnotationBuilder (use annotations instead). ##### Deprecations (DEP) - Remove the deprecated PfdMerger and AnnotationBuilder classes and other deprecations cleanup ([#2813](https://redirect.github.com/py-pdf/pypdf/issues/2813)) - Drop Python 3.7 support ([#2793](https://redirect.github.com/py-pdf/pypdf/issues/2793)) ##### New Features (ENH) - Add capability to remove /Info from PDF ([#2820](https://redirect.github.com/py-pdf/pypdf/issues/2820)) - Add incremental capability to PdfWriter ([#2811](https://redirect.github.com/py-pdf/pypdf/issues/2811)) - Add UniGB-UTF16 encodings ([#2819](https://redirect.github.com/py-pdf/pypdf/issues/2819)) - Accept utf strings for metadata ([#2802](https://redirect.github.com/py-pdf/pypdf/issues/2802)) - Report PdfReadError instead of RecursionError ([#2800](https://redirect.github.com/py-pdf/pypdf/issues/2800)) - Compress PDF files merging identical objects ([#2795](https://redirect.github.com/py-pdf/pypdf/issues/2795)) ##### Bug Fixes (BUG) - Fix sheared image ([#2801](https://redirect.github.com/py-pdf/pypdf/issues/2801)) ##### Robustness (ROB) - Robustify .set_data() ([#2821](https://redirect.github.com/py-pdf/pypdf/issues/2821)) - Raise PdfReadError when missing /Root in trailer ([#2808](https://redirect.github.com/py-pdf/pypdf/issues/2808)) - Fix extract_text() issues on damaged PDFs ([#2760](https://redirect.github.com/py-pdf/pypdf/issues/2760)) - Handle images with empty data when processing an image from bytes ([#2786](https://redirect.github.com/py-pdf/pypdf/issues/2786)) ##### Developer Experience (DEV) - Fix coverage uploads ([#2832](https://redirect.github.com/py-pdf/pypdf/issues/2832)) - Test against Python 3.13 ([#2776](https://redirect.github.com/py-pdf/pypdf/issues/2776)) [Full Changelog](https://redirect.github.com/py-pdf/pypdf/compare/4.3.1...5.0.0)Configuration
📅 Schedule: Branch creation - "after 6pm every weekday,every weekend" in timezone Australia/Sydney, Automerge - "after 6pm every weekday,every weekend" in timezone Australia/Sydney.
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.