Skip to content

Releases: pypdfium2-team/pypdfium2

4.2.0

14 Mar 04:06
Compare
Choose a tag to compare

Changes (Release 4.2.0)

Summary (pypdfium2)

  • API-breaking changes around forms code, necessary to fix conceptual issues. Closes {issue}182.
    • may_init_forms parameter replaced with init_forms(), so that a custom form config can be provided.
      This is particularly required for V8 enabled PDFium.
    • formtype attribute replaced with get_formtype().
      Previously, formtype would only be set correctly if may_init_forms=True,
      which caused confusion for documents that have forms but no initialized form env.
  • PdfPage.get_*box() functions now provide an option to disable fallbacks. Closes {issue}187.
  • Some formerly hidden utilities are now exposed in the new namespace pypdfium2.internal.
pypdfium2 commit log

Commits between 4.1.0 and 4.2.0 (latest commit first):

  • ae25d31 [autorelease] update changelog and version file
  • e77c8c2 get_bufreader() skip a tell() call
  • 74849ad pdfinfo: nit
  • f4f93f6 somewhat fix autoflake compliance
  • 47eed2b forms rendering test: improve code style
  • e7b82bb Update tasks
  • 7904984 Make get_metadata_dict() slightly nicer
  • b3ff4f6 pdfinfo: inline helper function into main()
  • dadbe01 Misc doc nits
  • ef13095 PdfPage.get_*box(): Make fallback optional (fixes #187)
  • 86e8cb7 docs/python_api: note new internal API
  • 275ffb3 fix typo
  • 3171a37 PdfObject: remove some isinstance checks
  • d4d98d5 PdfDocument: Restructure forms code
  • 0100cd4 internals: remove docs
  • 212e4dd Somewhat expose internal API
  • 45cec58 setup.py: rm unnecessary return
PDFium commit log

Commits between 5633 and 5648 (latest commit first):

  • caf4ce163 Ensure {{include}} output ends on its own line
  • 6df67a765 Make CFXJS_PerObjectData constructor private.
  • e6113f28d Store global proxy object in CJS_Document
  • 1c6ab7fa5 Fix CPPGC Plugin warnings for PDFium
  • ce0337c08 [Skia] Remove redundant DrawDeviceText() branches
  • c4e67dc29 Remove SkiaState
  • 05293b016 Inline SkiaState::DrawPath()
  • f6f88fc87 Remove clipping operations from SkiaState
  • e78b73593 Roll Fuchsia SDK from version:11.20230202.3.1 to version:11.20230306.1.1
  • 52f6c6098 Enable C++20 for Fuchsia
  • c4a35e9cc Remove "temporary" SkiaState fields
  • 7bac6ae44 Remove SkiaState::m_drawMatrix
  • 68cac2f06 Remove CFX_SkiaDeviceDriver::Flush()
  • c1dee3ae8 Roll build/ f8777b60d..1da99af9b (48 commits)
  • defd00cdc Roll tools/clang/ 59d4a6deb..2a7073518 (6 commits)
  • 7a0dece3a Get code coverage for CPDFSDK_Widget::Synchronize()
  • 5471c3078 Eliminate support for lazy SkiaState flushes
  • fb5325380 Do early return to CPDF_PageContentManager::ExecuteScheduledRemovals()
  • 2a43d47fb Use absl::variant in CPDF_PageContentManager
  • 8a87da2cf More tightly validate XML names in CXFA_FFDocView::GetWidgetByName()
  • 7ea7c90ea Make CPDF_PageContentManager::ExecuteScheduledRemovals() private
  • fbd5dcdc4 Support indirect objects for /Filter arrays
  • 359cbde94 Make CXFA_FFPageWidgetIterator CPPGC_STACK_ALLOCATED
  • 703e42226 Simplify CPDF_StreamContentParser::Handle_SetFont()
  • f8a1e5f5b Roll buildtools/third_party/libc++abi/trunk/ b74d77161..cff1f2def (9 commits)
  • 734822fb1 Roll buildtools and libc++
  • 63e3719f1 Observe CPWL_* object destruction across CPDFSDK_Widget methods
  • 2da56e26f Roll buildtools/third_party/libunwind/trunk/ e95b94b74..7b03cc568 (10 commits)
  • 82473b67e Update resultdb_version to git_revision:ebc74d10fa0d64057daa6f128e89f3672eeeec95
  • eec0143e7 [Skia] Eagerly flush text
  • 52bc7bd48 [Skia] Eagerly flush paths
  • 922ceb17d Move CXFA_EventParam::m_pTarget into CFXJSE_Engine
  • 74b865949 Regenerate Skia expectation for bug_1963.in
  • 168173ce1 Enable xfermodes{2,3}.pdf tests for Skia
  • f5756d30d Roll Skia
  • 7f37dc2d2 Add support for per-test fuzzy matching
  • 0bac03976 Roll tools/memory/ 930bae8b2..b55593f4d (1 commit)
  • 597d4c21e Add fuzzy matching to pdfium_diff
  • 38756a395 Roll third_party/skia/ 215b0bcad..7e2c9f54c (1 commit)

4.1.0

07 Mar 04:05
Compare
Choose a tag to compare

Changes (Release 4.1.0)

Summary (pypdfium2)

pypdfium2 commit log

Commits between 4.0.0 and 4.1.0 (latest commit first):

PDFium commit log

Commits between 5619 and 5633 (latest commit first):

  • f9a00f86c Roll base/allocator/partition_allocator/ bb821f990..22b087c8b (40 commits)
  • 1cdd3207d Roll third_party/skia/ 5935b0dc4..215b0bcad (16 commits)
  • 04e76e408 Update gn_version to git_revision:fe330c0ae1ec29db30b6f830e50771a335e071fb
  • c73d784b6 Roll base/trace_event/common/ 05a225a3e..147f65333 (1 commit)
  • d71a97249 Roll third_party/zlib/ 2d44c51ad..90e67ba3f (2 commits)
  • eba6b007e Roll third_party/freetype/src/ 646cc8ef8..d874ffa96 (36 commits)
  • cffa6ad2b Roll third_party/depot_tools/ 963e01c76..424814829 (60 commits; 23 trivial rolls)
  • 623df7e06 Roll third_party/icu/ 2c51e5cc7..1e49ac26d (8 commits)
  • 140c14e52 [Skia] Flush after drawing soft mask dictionary
  • 44910af4e Improving test equality checks to use _NE and _EQ in fx_bidi_unittest.cpp
  • c1ce4c495 Improve RTL support for numbers with separators
  • f9562f5d1 Remove //:gn_visibility carve out.

4.0.0

28 Feb 04:07
Compare
Choose a tag to compare

Changes (Release 4.0.0)

Summary (pypdfium2)

  • Full support model rewrite. Many existing features changed and new helpers added. Numerous bugs fixed on the way.
    Read the updated documentation to migrate your code.
  • The raw API is now isolated in a separate namespace (pypdfium2.raw).
    Moreover, the raw API bindings do not implicitly encode strings anymore (pypdfium2 is now built with a patched version of ctypesgen by default).
  • Helper objects now automatically resolve to the underlying raw object if used as ctypes function parameter.
  • Overhauled the code base to use pathlib and f-strings.
  • Updated wheel tags.
  • Improved command-line interface, setup code, and documentation.
pypdfium2 commit log

Commits between 4.0.0b2 and 4.0.0 (latest commit first):

  • cd79ac2 [autorelease] update changelog and version file
  • a6d43a7 update_pdfium: fix tar vuln false negatives (e. g. '/dest', '/dest2')
  • 369af47 Fix unused imports in setup_base
  • 00ae082 attempt to fix autorelease
  • 5d4bc43 Revert "test_sourcebuild: combine regular and syslibs build"
  • f16d461 test_sourcebuild: combine regular and syslibs build
  • add0c4c test_sourcebuild: attempt to add syslibs build testing
  • 750805f setup.py: move v8 status creation where it belongs
  • d4f784f update_pdfium: add emplace option
  • 9a1d2e2 update_pdfium/setup: start working on V8 support
  • e393835 Rework PDFium version handling
  • a83b303 gh_pages wf: nit
  • 4fa259a Consistently get pages using index access
  • 28e87bb Re-schedule workflow to Tuesday
  • 2ba08e2 readme: note code contributors graph
  • 97631f3 Fix reuse lint on release workflow
  • 44bf803 autorelease: attempt to fix commit log
  • 9bc2c7c update_pdfium: improve note on path traversal
  • 899cacc build wf: also move install step
  • 5b8b016 build workflow: move test step
  • 9786f0c build workflow: comments
  • 3424202 build_pdfium: windows fix
  • a76651a Port setup code to pathlib (#181)
  • ea5a55e page: add renderer tasks
  • a98cb78 Further f-strings
  • ddcc5f2 Rename pl_setup to pypdfium2_setup
  • 42d0f19 Start porting src/pypdfium2/ to f-strings (where appropriate)
  • c0e3ca0 Rename craft_wheels to craft_packages
  • 48cfca5 build_packages/test: download all packages for simplicity
  • 31fc5ba nits
  • 4cea0ce textpage: add consecutive option
  • ab72fe5 docs: nit
  • 0e6d624 Attempt to fix RTD build
  • 4bdb6db Attempt to fix test_release workflow
  • cc300fa Revert "suspend schedule"
  • 3d49517 autorelease: comment nit
PDFium commit log

Commits between 5579 and 5619 (latest commit first):

  • f3b685793 Make more dictionaries const in fpdf_signature.cpp
  • 97a5abdc3 Use more form field constants in fpdf_signature.cpp
  • aa2ec3591 Roll v8/ 8256e3617..b1f01d3ab (78 commits)
  • 676f921fd Update a pixel test to render the black image more visible.
  • 96aa3bff6 Update yapf style from "chromium" to "yapf"
  • ca7b98bb1 Add a test case fo indirect references in a /Filter array
  • 8efda5c1d Define enable_safe_libcxx in build_overrides/build.gni.
  • bf5900a3c Remove 1_matrix.pdf from the suppression list for Skia
  • b2ac55750 Remove the renderer filter in the suppression list for bug_1973.in
  • 0c3dbb0d2 Roll build/ ae79e7228..f8777b60d (111 commits) and tools/clang/ 44e5e39a9..59d4a6deb (13 commits)
  • 8d2d3732f Drop 11.pdf from the suppression list.
  • 5ff5d508b Speculative change for SEGV above CFXJSE_Context::ExecuteScript()
  • 5be0603fa Set SkPaint stroke width to 0 to guarantee drawing hairline.
  • 0e8db7578 Remove 2_halftone.pdf from the suppression list.
  • f8963b1c1 Drop obsolete Skia suppressions
  • bad2c6c8f Roll Catapult from c4e9d16032d8 to 6234cc4e018d (89 revisions)
  • f3e449bc6 Roll Code Coverage from aa4af3749029 to 67720beda1c7 (5 revisions)
  • 807692bc8 Move PaintStroke() out of CFX_SkiaDeviceDriver class
  • 3ec4d6508 Update the CFX_FillRenderOptions used for flushing paths
  • 0c2edd779 [Skia] Remove 8-bit to 8-bit image path
  • b4e947272 Add pixel test for 8-bit image scaling
  • a29e1163a Reuse expectations in --regenerate_expected
  • c5387b9b1 Fix a potential OOB read in CFX_SkiaDeviceDriver::DrawShading().
  • [b4aca121f](https...
Read more

4.0.0b2

23 Feb 15:16
Compare
Choose a tag to compare
4.0.0b2 Pre-release
Pre-release

Changes (Release 4.0.0b2)

Summary (pypdfium2)

  • Full support model rewrite. Many existing features changed and new helpers added. Numerous bugs fixed on the way.
    Read the updated documentation to migrate your code.
  • The raw API is now isolated in a separate namespace (pypdfium2.raw).
    Moreover, the raw API bindings do not implicitly encode strings anymore (pypdfium2 is now built with a patched version of ctypesgen by default).
  • Helper objects now automatically resolve to the underlying raw object if used as ctypes function parameter.
  • Improved command-line interface.
  • Improved documentation.
pypdfium2 commit log

Commits between 4.0.0b1 and 4.0.0b2 (latest commit first):

  • 58a2149 [autorelease] update changelog and version file
  • cdbcb31 autorelease: add task
  • 22de783 Edit changelog
  • 27f7b1c release control: keep beta
  • 36f6fbd Switch to requirements files
  • 58a5cbf Attempt migration to pyproject.toml
  • 8cb95b0 suspend schedule

4.0.0b1

22 Feb 20:40
Compare
Choose a tag to compare
4.0.0b1 Pre-release
Pre-release

Changes (Release 4.0.0b1)

Warning: PyPI upload failed due to #177

Summary (pypdfium2)

  • Full support model rewrite. Many existing features changed and new helpers added. Numerous bugs fixed on the way.
    Read the updated documentation to migrate your code.
  • The raw API is now isolated in a separate namespace (pypdfium2.raw).
    Moreover, the raw API bindings do not implicitly encode strings anymore (pypdfium2 is now built with a patched version of ctypesgen by default).
  • Helper objects now automatically resolve to the underlying raw object if used as ctypes function parameter.
  • Improved command-line interface.
  • Improved documentation.
pypdfium2 commit log

Commits between 3.21.1 and 4.0.0b1 (latest commit first):

  • d714356 [autorelease] update changelog and version file
  • 2a6e8b7 Major support model update (API breaking v4 branch) (#169)
  • 240772a Readme: Fix crop box parameter order (#175)

3.21.1

20 Feb 10:26
Compare
Choose a tag to compare

Changes (Release 3.21.1)

Summary (pypdfium2)

pypdfium2 commit log

Commits between 3.21.0 and 3.21.1 (latest commit first):

  • 604c582 [autorelease] update changelog and version file
  • 1706c5d workflows: drop python 3.6
  • 8828b21 readme comment: fix order of searcher.get_next() result (#174)

3.21.0

13 Feb 10:25
Compare
Choose a tag to compare

Changes (Release 3.21.0)

Summary (pypdfium2)

pypdfium2 commit log

Commits between 3.20.1 and 3.21.0 (latest commit first):

  • 6514939 [autorelease] update changelog and version file
PDFium commit log

Commits between 5567 and 5579 (latest commit first):

  • 4f5038d08 Roll buildtools, libc++/libc++abi, and abseil-cpp
  • 9de35bc5c Use a stable sort to rank XFA font candidates
  • 064da5387 Roll third_party/zlib/ 18d27fa10..2d44c51ad (5 commits)
  • 907fb2cf1 Roll third_party/freetype/src/ ace97a02a..646cc8ef8 (29 commits)
  • 0d637fa95 Update resultdb_version to git_revision:ac21cf9883af7d1bf6d60e8a7448918eb3b6aa18
  • 2bc0e2b3a Roll third_party/depot_tools/ 5b0c93402..963e01c76 (88 commits; 13 trivial rolls)
  • c9c139aff Roll third_party/libjpeg_turbo/ ed683925e..0b6e6a152 (1 commit)
  • 8961defcf Roll base/allocator/partition_allocator/ 85f9e65df..bb821f990 (10 commits)
  • 2997b101a Roll buildtools/third_party/libunwind/trunk/ 5e22a7fe2..e95b94b74 (2 commits)
  • 70583a9f2 Roll base/trace_event/common/ 521ac34eb..05a225a3e (2 commits)
  • 515651e88 Roll third_party/nasm/ 0873b2bae..7fc833e88 (3 commits)
  • 4235f4ce9 Roll tools/memory/ 5d2efcc93..930bae8b2 (4 commits)
  • be7e92f0f Roll Fuchsia SDK from version:11.20230103.1.1 to version:11.20230202.3.1
  • 33cb4f0c1 Update gn_version to git_revision:84c8431f3e03cc6226c59dd49637c15ea31169a1
  • a5ec3a4a1 Avoid a potentially dangling pointer in CPDF_PageImageCache.
  • bac72b00c Roll build/ 46f1d3482..ae79e7228 (203 commits)
  • 936ec3fe8 Roll tools/clang/ 3b54a131a..44e5e39a9 (24 commits)
  • a30e656e2 Update libtiff from 4.2.0 to 4.5.0.
  • 1c95623be Add a pixel test for masked image filtering

3.20.1

06 Feb 10:26
Compare
Choose a tag to compare

Changes (Release 3.20.1)

Summary (pypdfium2)

pypdfium2 commit log

Commits between 3.20.0 and 3.20.1 (latest commit first):

  • 8cc9c0d [autorelease] update changelog and version file
  • c1d90a9 workflows/trigger: deactivate pre_test step
  • d020641 autorelease: add task
  • e895633 Attempt to fix sourcebuild on Windows (closes #171)

3.20.0

30 Jan 12:30
Compare
Choose a tag to compare

Changes (Release 3.20.0)

Summary (pypdfium2)

pypdfium2 commit log

Commits between 3.19.0 and 3.20.0 (latest commit first):

  • 0b46745 [autorelease] update changelog and version file
  • 70879c4 Update planned_changes.md
  • 3ac2969 Sync shared_library patch
PDFium commit log

Commits between 5554 and 5567 (latest commit first):

  • 68b78719e Specify output name for pdfium build component
  • 8ba428591 Roll base/allocator/partition_allocator/ 180ceb478..85f9e65df (34 commits)
  • 7d7596357 Improve support for building pdfium_test with Skia in Chromium.
  • 16de56466 Rename UnownedPtr methods to match their raw_ptr counterparts.
  • 907b4591c Define preprocessor macro PDF_USE_PARTITION_ALLOC
  • 462e09358 Fix overlapping glyphs rendering for aliased text
  • dd5aa5041 Check the first page xref size when parsing linearized PDFs.
  • 09b39bf80 Remove unused SkiaState members.
  • ac09c8dd4 Use more size_t indices in SkiaState.
  • d087df316 Remove reference to empty file SkUtilsArm.cpp
  • 406b2ef21 Use more spans inside SkiaState.
  • 6c7fe1557 Replace remaining SkTDArray usage in fx_skia_device.cpp.
  • 92c555291 Replace SkTDArray usage in SkiaState::CharDetail.
  • 8f083cead Use more references in fx_skia_device.cpp.
  • cd4ded5d4 Clarify counts in SkiaState::DrawText().
  • d8376b2fa Replace more SkTArray/SkTDArray usage in SkiaState.
  • 3784fcb3b Replace SkTDArray usage for SkiaState::m_commands.
  • ddc5f79a3 Roll Code Coverage from 5afe9c957e79 to aa4af3749029 (3 revisions)
  • c5b94d43b Roll Catapult from 27863274a2f2 to c4e9d16032d8 (44 revisions)

3.19.0

23 Jan 10:34
Compare
Choose a tag to compare

Changes (Release 3.19.0)

Summary (pypdfium2)

pypdfium2 commit log

Commits between 3.18.0 and 3.19.0 (latest commit first):

  • 32fb453 [autorelease] update changelog and version file
PDFium commit log

Commits between 5541 and 5554 (latest commit first):

  • a2f4718ec Fix timeout handling in test_runner.py.
  • 8e1b9326a Rewrite CFX_DIBBase::DebugVerifyBitmapIsPreMultiplied() using spans.
  • 6b3505a17 Fixed low resolution for cached images.
  • 54020fcdf Avoid using SkTDArray in Skia shading code.
  • 5807e3433 Drop lines.pdf from the suppression list
  • 86af6c87f Update rendering heuristic when a font is substituted
  • 5e22ba150 [Skia] Remove suppression for xfa_bmp_image.in
  • c89fbf38a Drop path_5_pattern.pdf from the suppression list
  • 983509fb2 Test rendering an XFA page
  • 74e7eb7f0 Add FORM_ReplaceAndKeepSelection for IME composition
  • a7bf41ad2 Always return recorder from FPDF_RenderPageSkp()
  • adc69fe69 Roll buildtools/clang_format/script/ 8b525d274..f97059df7 (9 commits)
  • 980903eb1 Remove uses of SK_DEBUG and SkAssert
  • 4c1d6e931 Drop suppressions for pdfium:1856
  • 5f780e166 Conditionalize functions not needed under V8_ENABLE_SANDBOX
  • 7c84cdac7 Sync .clang-format with the Chromium copy.
  • f7a43667f Add pixel test for image-path misalignment
  • 14e6c841c Use a single data storage in Upsample() in fx_skia_device.cpp.
  • 80ff4c457 Remove Upsample() out-parameters in fx_skia_device.cpp.