Releases: py-pdf/pypdf
Releases · py-pdf/pypdf
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)
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 #788
Full Changelog: 1.27.9...1.27.10
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
Full Changelog: 1.27.8...1.27.9
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 #321
Full Changelog: 1.27.7...1.27.8
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: 1.27.6...1.27.7
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 #359
- @malthejorgensen made their first contribution in #567
- @forrestv made their first contribution in #240
- @andrecp made their first contribution in #243
- @jc275 made their first contribution in #405
- @rltpoa made their first contribution in #642
- @vb64 made their first contribution in #628
- @thijsbrouwers made their first contribution in #603
- @malvidin made their first contribution in #414
- @mwhit74 made their first contribution in #412
Full Changelog: 1.27.5...1.27.6
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: 1.27.4...1.27.5
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: 1.26.0...1.27.0
Version 1.26.0
Version 1.26.0
2016-05-18
- NOTE: Active maintenance on PyPDF2 is resuming after a hiatus
- Fixed a bug where image resources where incorrectly
overwritten when merging pages - Added dictionary for JavaScript actions to the root _(louib)_
- Added unit tests for the JS functionality _(louib)_
- Add more Python 3 compatibility when reading inline images _(im2703
and VyacheslavHashov)_ - Return NullObject instead of raising error when failing to resolve
object _(ctate)_ - Don't output warning for non-zeroed xref table when strict=False
_(BenRussert)_ - Remove extraneous zeroes from output formatting _(speedplane)_
- Fix bug where reading an inline image would cut off prematurely
in certain cases _(speedplane)_
Patch 1.25.1
Patch 1.25.1
2015-07-20
- Fix bug when parsing inline images. Occurred when merging
certain pages with inline images - Fixed type error when creating outlines by utilizing the
isString()
test
Version 1.25
Version 1.25
2015-07-07
BUGFIXES:
- Added Python 3 algorithm for ASCII85Decode. Fixes issue when
reading reportlab-generated files with Py 3. _jerickbixly_ - Recognize more escape sequence which would otherwise throw an
exception. _manuelzs, robertsoakes_ - Fixed overflow error in generic.py. Occurred
when reading a too-large int in Python 2. _by Raja Jamwal_ - Allow access to files which were encrypted with an empty
password. Previously threw a "File has not been decrypted"
exception. _Elena Williams_ - Do not attempt to decode an empty data stream. Previously
would cause an error in decode algorithms. _vladir_ - Fixed some type issues specific to Py 2 or Py 3.
- Fix issue when stream data begins with whitespace. _soloma83_
- Recognize abbreviated filter names. _AlmightyOatmeal and
Matthew Weiss_ - Copy decryption key from PdfFileReader to PdfFileMerger.
Allows usage of PdfFileMerger with encrypted files. _twolfson_ - Fixed bug which occurred when a NameObject is present at end
of a file stream. Threw a "Stream has ended unexpectedly"
exception. _speedplane_
FEATURES:
- Initial work on a test suite; to be expanded in future.
Tests and Resources directory added, README updated _robertsoakes_ - Added document cloning methods to PdfFileWriter:
appendPagesFromReader, cloneReaderDocumentRoot, and
cloneDocumentFromReader. See official documentation _robertsoakes_ - Added method for writing to form fields: updatePageFormFieldValues.
This will be enhanced in the future. See official documentation
_robertsoakes_ - New addAttachment method. See documentation. Support for adding
and extracting embedded files to be enhanced in the future
_moshekaplan_ - Added methods to get page number of given PageObject or
Destination: getPageNumber and getDestinationPageNumber.
See documentation _mozbugbox_
OTHER ENHANCEMENTS:
- Enhanced type handling _Brent Amrhein_
- Enhanced exception handling in NameObject _sbywater_
- Enhanced extractText method output _peircej_
- Better exception handling
- Enhanced regex usage in NameObject class _speedplane_