Update dependency PyPDF2 to v1.28.6
This MR contains the following updates:
Package | Update | Change |
---|---|---|
PyPDF2 (changelog) | minor |
==1.26.0 -> ==1.28.6
|
Release Notes
py-pdf/PyPDF2
v1.28.6
: 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
- BUG: Adjust 'super' calls for Python 2 by @omit66 in https://github.com/py-pdf/PyPDF2/pull/1335
New Contributors
- @omit66 made their first contribution in https://github.com/py-pdf/PyPDF2/pull/1335
Full Changelog: https://github.com/py-pdf/PyPDF2/compare/1.28.5...1.28.6
v1.28.5
: Version 1.28.5, 2022-07-21
What's Changed
- BUG: Add missing deprecated EncodedStreamObject functions by @MasterOdin in https://github.com/py-pdf/PyPDF2/pull/1140
Full Changelog: https://github.com/py-pdf/PyPDF2/compare/1.28.4...1.28.5
v1.28.4
: Version 1.28.4, 2022-05-29
What's Changed
Bug Fixes (BUG):
- XmpInformation._converter_date was unusable (#921)
Full Changelog: https://github.com/py-pdf/PyPDF2/compare/1.28.3...1.28.4
Full Changelog: https://github.com/py-pdf/PyPDF2/compare/1.28.3...1.28.4
v1.28.3
: Version 1.28.3, 2022-05-28
What's Changed
Deprecations (DEP)
- PEP8 renaming (#905)
Bug Fixes (BUG)
Full Changelog: https://github.com/py-pdf/PyPDF2/compare/1.28.2...1.28.3
v1.28.2
: Version 1.28.2, 2022-05-23
What's Changed
Bug Fixes (BUG)
- PendingDeprecationWarning for getContents (#893)
- PendingDeprecationWarning on using PdfMerger (#891)
Full Changelog: https://github.com/py-pdf/PyPDF2/compare/1.28.1...1.28.2
v1.28.1
: Version 1.28.1, 2022-05-22
What's Changed
Bug Fixes (BUG)
- Incorrectly show deprecation warnings on internal usage (#887)
Maintenance (MAINT)
Full Changelog: https://github.com/py-pdf/PyPDF2/compare/1.28.0...1.28.1
v1.28.0
: Version 1.28.0, 2022-05-22
Version 1.28.0, 2022-05-22
This release adds a lot of deprecation warnings in preparation of the PyPDF2 2.0.0 release. The changes are mostly using snake_case function-, method-, and variable-names as well as using properties instead of getter-methods.
Maintenance (MAINT):
- Remove IronPython Fallback for zlib (#868)
Full Changelog: https://github.com/py-pdf/PyPDF2/compare/1.27.12...1.27.13
Deprecations (DEP)
- Make the
PyPDF2.utils
module private - Rename of core classes:
- PdfFileReader ➔ PdfReader
- PdfFileWriter ➔ PdfWriter
- PdfFileMerger ➔ PdfMerger
- Use PEP8 conventions for function names and parameters
- If a property and a getter-method are both present, use the property
Details
In many places:
- getObject ➔ get_object
- writeToStream ➔ write_to_stream
- readFromStream ➔ read_from_stream
PyPDF2.generic
- readObject ➔ read_object
- convertToInt ➔ convert_to_int
- DocumentInformation.getText ➔ DocumentInformation._get_text : This method should typically not be used; please let me know if you need it.
PdfReader class:
-
reader.getPage(pageNumber)
➔reader.pages[page_number]
-
reader.getNumPages()
/reader.numPages
➔len(reader.pages)
- getDocumentInfo ➔ metadata
- flattenedPages attribute ➔ flattened_pages
- resolvedObjects attribute ➔ resolved_objects
- xrefIndex attribute ➔ xref_index
- getNamedDestinations / namedDestinations attribute ➔ named_destinations
- getPageLayout / pageLayout ➔ page_layout attribute
- getPageMode / pageMode ➔ page_mode attribute
- getIsEncrypted / isEncrypted ➔ is_encrypted attribute
- getOutlines ➔ get_outlines
- readObjectHeader ➔ read_object_header (TODO: read vs get?)
- cacheGetIndirectObject ➔ cache_get_indirect_object (TODO: public vs private?)
- cacheIndirectObject ➔ cache_indirect_object (TODO: public vs private?)
- getDestinationPageNumber ➔ get_destination_page_number
- readNextEndLine ➔ read_next_end_line
- _zeroXref ➔ _zero_xref
- _authenticateUserPassword ➔ _authenticate_user_password
- _pageId2Num attribute ➔ _page_id2num
- _buildDestination ➔ _build_destination
- _buildOutline ➔ _build_outline
- _getPageNumberByIndirect(indirectRef) ➔ _get_page_number_by_indirect(indirect_ref)
- _getObjectFromStream ➔ _get_object_from_stream
- _decryptObject ➔ _decrypt_object
- _flatten(..., indirectRef) ➔ _flatten(..., indirect_ref)
- _buildField ➔ _build_field
- _checkKids ➔ _check_kids
- _writeField ➔ _write_field
- _write_field(..., fieldAttributes) ➔ _write_field(..., field_attributes)
- _read_xref_subsections(..., getEntry, ...) ➔ _read_xref_subsections(..., get_entry, ...)
PdfWriter class:
-
writer.getPage(pageNumber)
➔writer.pages[page_number]
-
writer.getNumPages()
➔len(writer.pages)
- addMetadata ➔ add_metadata
- addPage ➔ add_page
- addBlankPage ➔ add_blank_page
- addAttachment(fname, fdata) ➔ add_attachment(filename, data)
- insertPage ➔ insert_page
- insertBlankPage ➔ insert_blank_page
- appendPagesFromReader ➔ append_pages_from_reader
- updatePageFormFieldValues ➔ update_page_form_field_values
- cloneReaderDocumentRoot ➔ clone_reader_document_root
- cloneDocumentFromReader ➔ clone_document_from_reader
- getReference ➔ get_reference
- getOutlineRoot ➔ get_outline_root
- getNamedDestRoot ➔ get_named_dest_root
- addBookmarkDestination ➔ add_bookmark_destination
- addBookmarkDict ➔ add_bookmark_dict
- addBookmark ➔ add_bookmark
- addNamedDestinationObject ➔ add_named_destination_object
- addNamedDestination ➔ add_named_destination
- removeLinks ➔ remove_links
- removeImages(ignoreByteStringObject) ➔ remove_images(ignore_byte_string_object)
- removeText(ignoreByteStringObject) ➔ remove_text(ignore_byte_string_object)
- addURI ➔ add_uri
- addLink ➔ add_link
- getPage(pageNumber) ➔ get_page(page_number)
- getPageLayout / setPageLayout / pageLayout ➔ page_layout attribute
- getPageMode / setPageMode / pageMode ➔ page_mode attribute
- _addObject ➔ _add_object
- _addPage ➔ _add_page
- _sweepIndirectReferences ➔ _sweep_indirect_references
PdfMerger class
-
__init__
parameter: strict=True ➔ strict=False (the PdfFileMerger still has the old default) - addMetadata ➔ add_metadata
- addNamedDestination ➔ add_named_destination
- setPageLayout ➔ set_page_layout
- setPageMode ➔ set_page_mode
Page class:
- artBox / bleedBox/ cropBox/ mediaBox / trimBox ➔ artbox / bleedbox/ cropbox/ mediabox / trimbox
- getWidth, getHeight ➔ width / height
- getLowerLeft_x / getUpperLeft_x ➔ left
- getUpperRight_x / getLowerRight_x ➔ right
- getLowerLeft_y / getLowerRight_y ➔ bottom
- getUpperRight_y / getUpperLeft_y ➔ top
- getLowerLeft / setLowerLeft ➔ lower_left property
- upperRight ➔ upper_right
- mergePage ➔ merge_page
- rotateClockwise / rotateCounterClockwise ➔ rotate_clockwise
- _mergeResources ➔ _merge_resources
- _contentStreamRename ➔ _content_stream_rename
- _pushPopGS ➔ _push_pop_gs
- _addTransformationMatrix ➔ _add_transformation_matrix
- _mergePage ➔ _merge_page
XmpInformation class:
- getElement(..., aboutUri, ...) ➔ get_element(..., about_uri, ...)
- getNodesInNamespace(..., aboutUri, ...) ➔ get_nodes_in_namespace(..., aboutUri, ...)
- _getText ➔ _get_text
utils.py:
- matrixMultiply ➔ matrix_multiply
- RC4_encrypt is moved to the security module
What's Changed
- MAINT: Remove IronPython Fallback for zlib by @MartinThoma in https://github.com/py-pdf/PyPDF2/pull/868
- DEP: Class, variable, and module names by @MartinThoma in https://github.com/py-pdf/PyPDF2/pull/867
Full Changelog: https://github.com/py-pdf/PyPDF2/compare/1.27.12...1.28.0
v1.27.12
: Version 1.27.12, 2022-05-02
What's Changed
Bug Fixes (BUG)
- _rebuild_xref_table expects trailer to be a dict (#857)
Documentation (DOC)
- Security Policy
Full Changelog: https://github.com/py-pdf/PyPDF2/compare/1.27.11...1.27.12
v1.27.11
: Version 1.27.11, 2022-05-02
What's Changed
Bug Fixes (BUG)
- Incorrectly issued xref warning/exception (#855)
Full Changelog: https://github.com/py-pdf/PyPDF2/compare/1.27.10...1.27.11
v1.27.10
: Version 1.27.10, 2022-05-01
What's Changed
Robustness (ROB)
- Handle missing destinations in reader (#840)
- warn-only in readStringFromStream (#837)
- Fix corruption in startxref or xref table (#788 and #830)
Documentation (DOC)
- Project Governance (#799)
- History of PyPDF2
- PDF feature/version support (#816)
- More details on text parsing issues (#815)
Developer Experience (DEV)
- Add benchmark command to Makefile
- Ignore IronPython parts for code coverage (#826)
Maintenance (MAINT)
- Split pdf module (#836)
- Separated CCITTFax param parsing/decoding (#841)
- Update requirements files
Testing (TST)
- Use external repository for larger/more PDFs for testing (#820)
- Swap incorrect test names (#838)
- Add test for PdfFileReader and page properties (#835)
- Add tests for PyPDF2.generic (#831)
- Add tests for utils, form fields, PageRange (#827)
- Add test for ASCII85Decode (#825)
- Add test for FlateDecode (#823)
- Add test for filters.ASCIIHexDecode (#822)
Code Style (STY)
- Apply pre-commit (black, isort) + use snake_case variables (#832)
- Remove debug code (#828)
- Documentation, Variable names (#839)
New Contributors
- @pubpub-zz made their first contribution in https://github.com/py-pdf/PyPDF2/pull/788
Full Changelog: https://github.com/py-pdf/PyPDF2/compare/1.27.9...1.27.10
v1.27.9
: Version 1.27.9, 2022-04-24
What's Changed
A change I would like to highlight is the performance improvement for large PDF files (#808 by @dsk7)
New Features (ENH)
- Add papersizes (#800)
- Allow setting permission flags when encrypting (#803)
- Allow setting form field flags (#802)
Bug Fixes (BUG)
- TypeError in xmp._converter_date (#813)
- Improve spacing for text extraction (#806)
- Fix PDFDocEncoding Character Set (#809)
Robustness (ROB)
Documentation (DOC)
Developer Experience (DEV)
- Add Benchmark for Performance Testing (#781)
Maintenance (MAINT)
- Validate PDF magic byte in strict mode (#814)
- Make PdfFileMerger.addBookmark() behave life PdfFileWriters' (#339)
- Quadratic runtime while parsing reduced to linear (#808)
Testing (TST)
- Newlines in text extraction (#807)
New Contributors
- @dsk7 made their first contribution in https://github.com/py-pdf/PyPDF2/pull/808
- @khalida made their first contribution in https://github.com/py-pdf/PyPDF2/pull/339
Full Changelog: https://github.com/py-pdf/PyPDF2/compare/1.27.8...1.27.9
v1.27.8
: Version 1.27.8, 2022-04-21
What's Changed
Bug Fixes (BUG)
- Use 1MB as offset for readNextEndLine (#321)
- 'PdfFileWriter' object has no attribute 'stream' (#787)
Robustness (ROB)
- Invalid float object; use 0 as fallback (#782)
Documentation (DOC)
- Robustness (#785)
New Contributors
- @akolpakov made their first contribution in https://github.com/py-pdf/PyPDF2/pull/321
Full Changelog: https://github.com/py-pdf/PyPDF2/compare/1.27.7...1.27.8
v1.27.7
: Version 1.27.7, 2022-04-19
What's Changed
Bug Fixes (BUG)
- Import exceptions from PyPDF2.errors in PyPDF2.utils (#780)
Code Style (STY)
- Naming in 'make_changelog.py'
Full Changelog: https://github.com/py-pdf/PyPDF2/compare/1.27.6...1.27.7
v1.27.6
: Version 1.27.6, 2022-04-18
What changed
Deprecations (DEP)
- Remove support for Python 2.6 and older (#776)
New Features (ENH)
- Extract document permissions (#320)
Bug Fixes (BUG)
- Clip by trimBox when merging pages, which would otherwise be ignored (#240)
- Add overwriteWarnings parameter PdfFileMerger (#243)
- IndexError for getPage() of decryped file (#359)
- Handle cases where decodeParms is an ArrayObject (#405)
- Updated PDF fields don't show up when page is written (#412)
- Set Linked Form Value (#414)
- Fix zlib -5 error for corrupt files (#603)
- Fix reading more than last1K for EOF (#642)
- Acciental import
Robustness (ROB)
- Allow extra whitespace before "obj" in readObjectHeader (#567)
Documentation (DOC)
Developer Experience (DEV)
- Add issue templates (#765)
- Add tool to generate changelog
Maintenance (MAINT)
- Use grouped constants instead of string literals (#745)
- Add error module (#768)
- Use decorators for @staticmethod (#775)
- Split long functions (#777)
Testing (TST)
- Run tests in CI once with -OO Flags (#770)
- Filling out forms (#771)
- Add tests for Writer (#772)
- Error cases (#773)
- Check Error messages (#769)
- Regression test for issue #88
- Regression test for issue #327
Code Style (STY)
- Make variable naming more consistent in tests
New Contributors
- @denis-osipov made their first contribution in https://github.com/py-pdf/PyPDF2/pull/359
- @malthejorgensen made their first contribution in https://github.com/py-pdf/PyPDF2/pull/567
- @forrestv made their first contribution in https://github.com/py-pdf/PyPDF2/pull/240
- @andrecp made their first contribution in https://github.com/py-pdf/PyPDF2/pull/243
- @jc275 made their first contribution in https://github.com/py-pdf/PyPDF2/pull/405
- @rltpoa made their first contribution in https://github.com/py-pdf/PyPDF2/pull/642
- @vb64 made their first contribution in https://github.com/py-pdf/PyPDF2/pull/628
- @thijsbrouwers made their first contribution in https://github.com/py-pdf/PyPDF2/pull/603
- @malvidin made their first contribution in https://github.com/py-pdf/PyPDF2/pull/414
- @mwhit74 made their first contribution in https://github.com/py-pdf/PyPDF2/pull/412
Full Changelog: https://github.com/py-pdf/PyPDF2/compare/1.27.5...1.27.6
v1.27.5
: Version 1.27.5, 2022-04-15
Security (SEC)
- ContentStream_readInlineImage had potential infinite loop (#740)
Bug fixes (BUG)
Robustness improvements (ROBUST)
- title sometimes None (#744)
Documentation (DOC)
- Adjust short description of the package
Tests and Test setup (TST)
- Rewrite JS tests from unittest to pytest (#746)
- Increase Test coverage, mainly with filters (#756)
- Add test for inline images (#758)
Developer Experience Improvements (DEV)
Miscellaneous
- STY: Closing file handles, explicit exports, ... (#743)
All changes: https://github.com/py-pdf/PyPDF2/compare/1.27.4...1.27.5
v1.27.4
v1.27.3
v1.27.2
v1.27.1
v1.27.0
: Version 1.27.0
Features
- Add alpha channel support for png files in Script (#614)
Bug fixes (BUG)
- Fix formatWarning for filename without slash (#612)
- Add whitespace between words for extractText() (#569, #334)
- "invalid escape sequence" SyntaxError (#522)
- Avoid error when printing warning in pythonw (#486)
- Stream operations can be List or Dict (#665)
Documentation (DOC)
Tests and Test setup (TST)
- Add Github Action which automatically run unit tests via pytest and static code analysis with Flake8 (#660)
- Add several unit tests (#661, #663)
- Add .coveragerc to create coverage reports
Developer Experience Improvements (DEV)
- Pre commit: Developers can now
pre-commit install
to avoid tiny issues like trailing whitespaces
Miscallenious
- Add the LICENSE file to the distributed packages (#288)
- Use setuptools instead of distutils (#599)
- Improvements for the PyPI page (#644)
- Python 3 changes (#504, #366)
You can see the full changelog at: https://github.com/mstamy2/PyPDF2/compare/1.26.0...1.27.0
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.