Commit f261bad
committed
REL: 2.0.0
The 2.0.0 release of PyPDF2 includes three core changes:
1. Dropping support for Python 3.5 and older.
2. Introducing type annotations.
3. Interface changes, mostly to have PEP8-compliant names
We introduced a [deprecation process](#930)
that hopefully helps users to avoid unexpected breaking changes.
Breaking Changes(DEP):
- PyPDF2 2.0 requires Python 3.6+. Python 2.7 and 3.5 support were dropped.
- PdfFileReader: The "warndest" parameter was removed
- PdfFileReader and PdfFileMerger no longer have the `overwriteWarnings`
parameter. The new behavior is `overwriteWarnings=False`.
- merger: OutlinesObject was removed without replacement.
- merger.py ➔ _merger.py: You must import PdfFileMerger from PyPDF2 directly.
- utils:
* `ConvertFunctionsToVirtualList` was removed
* `formatWarning` was removed
* `isInt(obj)`: Use `instance(obj, int)` instead
* `u_(s)`: Use `s` directly
* `chr_(c)`: Use `chr(c)` instead
* `barray(b)`: Use `bytearray(b)` instead
* `isBytes(b)`: Use `instance(b, type(bytes()))` instead
* `xrange_fn`: Use `range` instead
* `string_type`: Use `str` instead
* `isString(s)`: Use `instance(s, str)` instead
* `_basestring`: Use `str` instead
* All Exceptions are now in `PyPDF2.errors`:
- PageSizeNotDefinedError
- PdfReadError
- PdfReadWarning
- PyPdfError
- `PyPDF2.pdf` (the `pdf` module) no longer exists. The contents were moved with
the library. You should most likely import directly from `PyPDF2` instead.
The `RectangleObject` is in `PyPDF2.generic`.
- The `Resources`, `Scripts`, and `Tests` will no longer be part of the distribution
files on PyPI. This should have little to no impact on most people. The
`Tests` are renamed to `tests`, the `Resources` are renamed to `resources`.
Both are still in the git repository. The `Scripts` are now in
https://github.com/py-pdf/cpdf. `Sample_Code` was moved to the `docs`.
For a full list of deprecated functions, please see the changelog of version
1.28.0.
New Features (ENH):
- Improve space setting for text extraction (#922)
- Allow setting the decryption password in PdfReader.__init__ (#920)
- Add Page.add_transformation (#883)
Bug Fixes (BUG):
- Fix error adding transformation to page without /Contents (#908)
Robustness (ROB):
- Cope with invalid length in streams (#861)
Documentation (DOC):
- Fix style of 1.25 and 1.27 patch notes (#927)
- Transformation (#907)
Developer Experience (DEV):
- Create flake8 config file (#916)
- Use relative imports (#875)
Maintenance (MAINT):
- Use Python 3.6 language features (#849)
- Add wrapper function for PendingDeprecationWarnings (#928)
- Use new PEP8 compliant names (#884)
- Explicitly represent transformation matrix (#878)
- Inline PAGE_RANGE_HELP string (#874)
- Remove unnecessary generics imports (#873)
- Remove star imports (#865)
- merger.py ➔ _merger.py (#864)
- Type annotations for all functions/methods (#854)
- Add initial type support with mypy (#853)
Testing (TST):
- Regression test for xmp_metadata converter (#923)
- Checkout submodule sample-files for benchmark
- Add text extracting performance benchmark
- Use new PyPDF2 API in benchmark (#902)
- Make test suite fail for uncaught warnings (#892)
- Remove -OO testrun from CI (#901)
- Improve tests for convert_to_int (#899)
Full Changelog: 1.28.4...2.0.01 parent 5730198 commit f261bad
1 file changed
+56
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | | - | |
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
3 | 12 | | |
4 | 13 | | |
5 | 14 | | |
| |||
34 | 43 | | |
35 | 44 | | |
36 | 45 | | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
37 | 91 | | |
38 | 92 | | |
39 | 93 | | |
| |||
0 commit comments