Skip to content

Releases: py-pdf/pypdf

Version 1.27.11, 2022-05-02

02 May 06:51
1.27.11
998d5ba
Compare
Choose a tag to compare

What's Changed

Bug Fixes (BUG)

  • Incorrectly issued xref warning/exception (#855)

Full Changelog: 1.27.10...1.27.11

Version 1.27.10, 2022-05-01

01 May 09:17
1.27.10
def7a62
Compare
Choose a tag to compare

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

Full Changelog: 1.27.9...1.27.10

Version 1.27.9, 2022-04-24

24 Apr 13:34
1.27.9
22033d7
Compare
Choose a tag to compare

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)

  • Use null ID when encrypted but no ID given (#812)
  • Handle recursion error (#804)

Documentation (DOC)

  • CMaps (#811)
  • The PDF Format + commit prefixes (#810)
  • Add compression example (#792)

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

21 Apr 16:16
1.27.8
2f01f77
Compare
Choose a tag to compare

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)

New Contributors

Full Changelog: 1.27.7...1.27.8

Version 1.27.7, 2022-04-19

19 Apr 12:18
1.27.7
4c78b54
Compare
Choose a tag to compare

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

18 Apr 09:01
1.27.6
13e7cb3
Compare
Choose a tag to compare

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)

  • Link to pdftoc in Sample_Code (#628)
  • Working with annotations (#764)
  • Structure history

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

Full Changelog: 1.27.5...1.27.6

Version 1.27.5, 2022-04-15

15 Apr 21:13
1.27.5
733989a
Compare
Choose a tag to compare

Security (SEC)

  • ContentStream_readInlineImage had potential infinite loop (#740)

Bug fixes (BUG)

  • Fix merging encrypted files (#757)
  • CCITTFaxDecode decodeParms can be an ArrayObject (#756)

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)

  • Remove unused Travis-CI configuration (#747)
  • Show code coverage (#754, #755)
  • Add mutmut (#760)

Miscellaneous

  • STY: Closing file handles, explicit exports, ... (#743)

All changes: 1.27.4...1.27.5

Version 1.27.0

07 Apr 17:54
1.27.0
ceb2bb2
Compare
Choose a tag to compare

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

18 May 16:58
Compare
Choose a tag to compare

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

20 Jul 20:14
Compare
Choose a tag to compare

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