Skip to content

Releases: pypdfium2-team/pypdfium2

4.21.0

11 Oct 13:47
Compare
Choose a tag to compare

Changes (Release 4.21.0)

Summary (pypdfium2)

  • PdfTextPage.get_text_range(): Correct the allocation in case of excluded/inserted chars, modify scope to prevent pdfium from reading beyond range(index, index+count) (which otherwise it does with leading excluded chars). Update docs to note the two different representations. Thanks to Nikita Rybak for the discovery ({issue}261).

  • Setup changes (partly ported from the devel branch)

    • ctypesgen fork: replaced the old, bloated library loader with a new, lean version
    • Merged $PDFIUM_VERSION and $PDFIUM_USE_V8 into the existing $PDFIUM_PLATFORM specifier (see Readme for updated description). The relatively minor setup API breakage was considered tolerable; the core library API is not affected.
    • Removed the build package from pyproject buildsystem requires, where it was unnecessary. Thanks to Anaconda Team.
    • Split in two separate modules: pypdfium2 for helpers (pure-python), pypdfium2_raw for the core bindings (data files).
  • Switched PyPI upload to "trusted publishing" (OIDC), which is considered safer. Further, the core maintainers have set up 2FA as requested by PyPI.

Note: Earlier releases may fail to install from source due to API-breaking changes to our ctypesgen fork (see {issue}264). Where possible, avoid source installs and use the wheels instead (the default behavior). If you actually have to do this, consider --no-build-isolation and pre-installed dependencies, including ctypesgen prior to commit 61c638b.

pypdfium2 commit log

Commits between 4.21.0b1 and 4.21.0 (latest commit first):

  • 0f17303 [autorelease] update changelog and version file
  • 3e4127a Prepare changelog for release
  • a76b4b8 Temporarily pause autorelease
  • f143916 nit: code comments
  • 28be13b Abbreviate platform->plat system->sys
  • 979f12e Expand renaming (binary -> platform, prefer abbrevs)
  • b2ce32c Retain $PDFIUM_PLATFORM env var
  • a809333 Use default src include if all modules given
  • 4ae0661 Don't generate what we don't use
  • 747b726 setup_base nits
  • cf817e3 Make check-wheel-contents happy, update changelog
  • 36701a6 Move raw bindings to separate module (CC #256)
  • 89aaf06 ctypesgen nit: align order of defines
  • 60ff803 setup: switch mostly to glob import
  • 88281ae Update tasks
  • c80b912 Add _WIN32 only if on a windows host
  • ceafb41 ctypesgen: try to expose windows-only members on windows
  • 51d1b4e ctypesgen: set compile-libdirs if possible
  • cd5cfc6 Skip symbol guards, except for reference bindings
  • bbcd3a1 readme: fix typo found by codespell
  • 7e0145d setup: align libnames
  • 28f6865 setup: restrict ctypesgen to fork
  • 3530d74 Port setup changes from devel branch (#262)
  • a99aec0 Add note on test case failing with pdfium 6015
  • 456899c [Hotfix] get_text_range: don't lose l_passive (CC #261)
  • 3d23c56 Update changelog (CC #261)
  • fdf95fc Update docs for get_text_range() (CC #261)
  • 535398d Continue on #261
  • a9c6485 Partially fix #261
  • 339e0b1 readme: GH pages nit
PDFium commit log

Commits between 6002 and 6056 (latest commit first):

  • edf48f97b Tidy UnownedPtr<> as a result of previous simplification.
  • 4e17899bb Adjust guard macros around PdfiumSpanDeathTest.DanglingReference.
  • 1e7353640 Remove ProbeForLowSeverityLifetimeIssue() from UnownedPtr.
  • 7b7a48c4b Always use base::raw_ptr<> implementation when PartitionAlloc is present
  • 3476811a8 Shorten PartitionAlloc includes.
  • 6c5202203 Apply pdfium_core_config to fuzzer_init_public
  • dc4e60e8e Fix dangling ptrs in embeddertest found by BRP dangling ptr detector.
  • 72637154d Update android_toolchain_version to NSOM616pOQCfRfDAhC72ltgjyUQp9lAWCMzlmgB18dAC
  • e130a1431 Add missing UnPreMultiply() call when processing transparencies
  • e3593d647 Avoid rendering into the device in CPDF_RenderContext::GetBackground()
  • 820848e16 Roll abseil, build, buildtools, clang, and libcxx together
  • 5e3018d79 Roll Fuchsia SDK from 14.20230826.1.1 to 15.20230930.1.1
  • b2f8486e8 Roll v8/ 7584acae2..3eb7d73cb (370 commits)
  • 77b1d8a97 Roll base/trace_event/common/ 147f65333..29ac73db5 (1 commit)
  • 4ff3bdb95 Roll third_party/libunwind/src/ a321409e6..7608093d2 (14 commits)
  • 1d94005e9 Roll third_party/freetype/src/ 000b26a30..7b308a29d (25 commits)
  • 1c7fcc4d3 Roll third_party/skia/ 0a253625a..d8ec08c6d (499 commits)
  • cd93aa4bf Update gn_version to 991530ce394efb58fcd848195469022fa17ae126
  • 40c0ea26c Roll third_party/libc++abi/src/ aae4ca0f5..e8e4eb8f1 (17 commits)
  • c8f9d23f8 Roll base/allocator/partition_allocator/ b22ccba48..2f4afa63f (42 commits)
  • 8cf636e15 Roll Catapult from f16ca3c78e46 to 4f81c1e29597 (79 revisions)
  • 5cdaf28d0 Skia: Call UnPreMultiply() in FPDF_RenderPage()
  • 1d550b829 Add new public API FPDF_GetDocUserPermissions
  • [`...
Read more

4.21.0b1

14 Sep 23:00
Compare
Choose a tag to compare
4.21.0b1 Pre-release
Pre-release

Warning: Since this release was made during testing and the following TestPyPI upload failed, the TestPyPI/PyPI packages originate from a different, follow-up workflow run (GH release action silently passes by creating a draft if a release of same ID exists already). The packages from this release should be identical, but this was not inherently ensured.

Changes (Release 4.21.0b1)

Summary (pypdfium2)

  • Switched PyPI upload to "trusted publishing", which is considered safer.
pypdfium2 commit log

Commits between 4.20.0 and 4.21.0b1 (latest commit first):

  • 385370b [autorelease] update changelog and version file
  • 84e4d9d [Test] Try to fix repo push
  • 6dfbd81 workflows/publish: stop explicitly installing twine
  • dd69022 Prepare beta update to test new PyPI publishing
  • fd32934 Update changelog for next release
  • d6e10d9 Merge pull request #259 from pypdfium2-team/trusted-publishers
  • 00475b4 Switch PyPI upload to "trusted publishing" (OIDC)
  • 2506427 CI: Bump actions/checkout to v4
  • 4846475 readme: update "unofficial distributions" section
PDFium commit log

Commits between 5989 and 6002 (latest commit first):

  • 92a572635 Improve CPDF_CMapParser::HandleCid() performance
  • 1af4f5b62 Remove old buildtools llvm repo paths.
  • 5c350448e Roll v8/ 41ff48bd6..7584acae2 (472 commits)
  • b2789e383 Fix FPDF_ImportPages fails if dest_doc doesn't have "Info" object
  • c2cef63c9 Explicitly encode SkImages with Png encoder
  • cf536a313 Roll third_party/fuchsia-gn-sdk/ and build/
  • 866ab8d25 Roll third_party/skia/ b5f614a85..0a253625a (334 commits)
  • 599507d26 Add a test to show import APIs do not work for docs without Info dicts
  • 6ea677cae Use more scopers in embedder tests
  • b9fd8eb44 [PA] Templatenize alloc flags
  • e6af9d92e Roll third_party/depot_tools/ 59e101154..427f0f43a (137 commits; 21 trivial rolls)
  • 205fb97f4 Roll third_party/icu/ de4ce0071..985b9a6f7 (2 commits)
  • f3d1dc22d Update gn_version to cc56a0f98bb34accd5323316e0292575ff17a5d4
  • def1743b2 Roll buildtools/third_party/libunwind/trunk/ e5a9c50e5..a321409e6 (5 commits)
  • cc6c8eca6 Roll third_party/zlib/ 526382e41..f5fd0ad26 (2 commits)
  • bf0c157ae Remove some useless CFX_DIBBase::RealizeIfNeeded() calls
  • c0991a43e Roll tools/memory/ 2a4c4ba1f..68be21429 (2 commits)
  • febf6a33c Roll buildtools/third_party/libc++abi/trunk/ d4760c0af..aae4ca0f5 (6 commits)
  • c7bf139be Roll third_party/freetype/src/ b2584c738..000b26a30 (20 commits)
  • 95e2f9ede Roll base/allocator/partition_allocator/ f91d5ba23..b22ccba48 (58 commits)
  • d6585d6e6 Roll Fuchsia SDK from 14.20230727.2.1 to 14.20230826.1.1
  • 435756da3 Roll third_party/abseil-cpp/ 2288062ee..7affa303e (5 commits)
  • edba08523 Roll third_party/libpng/ 805df541c..7e1f7e7b1 (1 commit)
  • 955ab3319 Roll buildtools/ 16be42a9f..b2043d4f4 (11 commits)
  • d74703942 Roll Catapult from 220cbb13b5a7 to f16ca3c78e46 (106 revisions)
  • 8e97cf530 Roll Code Coverage from bce4cdc2309e to 77d952c2aefd (1 revision)

4.20.0

10 Sep 04:20
Compare
Choose a tag to compare

Changes (Release 4.20.0)

Summary (pypdfium2)

This release backports some key fixes/improvements from the development branch:

  • [V8/XFA] Fixed XFA init. This issue was caused by a typo in a struct field. Thanks to Benoît Blanchon.
  • [ctypesgen fork] Prevent setting nonexistent struct fields.
  • [V8/XFA] Expose V8/XFA exclusive members in the bindings file by passing ctypesgen the pre-processor defines in question.
  • Fixed some major non-API implementation issues with multipage rendering:
    • Avoid full state data transfer and object re-initialization for each job. Instead, use a pool initializer and exploit global variables. This also makes bytes input tolerable for parallel rendering.
    • In the CLI, use a custom converter to save directly in workers instead of serializing bitmaps to the main process.
  • Set pdfium version fields to unknown for PDFIUM_PLATFORM=none (sdist). This prevents encoding a potentially incorrect version. Also improve CLI version print.
  • Fixed sourcebuild with system libraries.
  • Fixed RTD build (system_packages option removal).
  • Attempt to fix automatic GH pages rebuild on release.
pypdfium2 commit log

Commits between 4.19.0 and 4.20.0 (latest commit first):

  • 7361289 [autorelease] update changelog and version file
  • 76b51ad readme: fix n_digits (closes #255)
  • d4c19b3 [ctypesgen fork] prevent setting bad struct fields
  • c837803 [BP] Fix RTD build (system_packages opt deprecation/removal)
  • 1302e77 CLI: improve version print
  • 953f8e1 [Hotfix] PDFIUM_PLATFORM=none: set pdfium version to unknown
  • a1d00da [Hotfix] make sure we have a digit version before casting
  • 99c8b7e Merge pull request #253 from pypdfium2-team/backports
  • f35421b [BP] changelog: remove wrong guess
  • 5fbb229 [BP] cli/render: move saving from main process into jobs
  • fbab9b0 [BP] PdfDocument.render(): Fix non-API implementation issues
  • 7e77b26 Clean up planned changes
  • f145e5e docs: fix myst warning suppression
  • 9055c6c Prepare changelog
  • b8f37b6 [BP] Fix sourcebuild with system libraries
  • f66c08f [BP] init_forms(): Fix XFA init
  • 79cb619 [BP] Expose V8/XFA specific members if applicable
  • f9d5f10 GH pages: don't run on every commit, build for releases only
  • df47a9c [BP] Automatic GH pages rebuild on release
PDFium commit log

Commits between 5975 and 5989 (latest commit first):

  • 7221eb515 Roll tools/clang/ 236e66ffd..9fc887ccd (33 commits)
  • 96be44fbc Replace overly-strong DCHECK() in CPDF_FormField::SetItemSelection().
  • 159bccb7f PA: Temporary option for new PartitionAlloc location.
  • 8d5a792d5 Prevent crashes in win32 GDI code due to null bitmap pointers

4.19.0

28 Aug 14:54
Compare
Choose a tag to compare

Changes (Release 4.19.0)

Summary (pypdfium2)

  • Reset main branch to stable and shifted v5 development to a branch, so that pdfium updates (and possibly bug fixes) can still be handled.
    v5 development is delayed and unexpectedly tough, so this seemed necessary.
    The automated schedule has been slowed down from weekly to monthly for the time being.
    Further manual releases may be triggered as necessary.
pypdfium2 commit log

Commits between 4.18.0 and 4.19.0 (latest commit first):

  • 96065fc [autorelease] update changelog and version file
  • df73327 Shift development to branch, restore autorelease
PDFium commit log

Commits between 5868 and 5975 (latest commit first):

  • 16d6eb8b6 [Skia] Fix issues for printing 24 BPP images
  • 53cec0ad6 Use fxge::CalculatePitch8() in CFX_DIBBase
  • 45aa4b105 Respect the return value of SetBitsWithMask()
  • ef1ef9548 Remove 2 corpus tests from GDI suppression list
  • ec291c1b0 Remove NOTREACHED() in CachedImage::GetBuffer()
  • 39292f380 Add FPDFText_IsHyphen function
  • b756bbe70 Remove CPDF_FormField::LoadDA() declaration
  • 7952b46dd Stop building (empty) Skia AVX and SSSE3 opts files
  • 5cac3f6f0 Roll third_party/skia/ 6119b059f..b5f614a85 (247 commits)
  • f73ad4764 Make FPDF_GetDocPermissions() consistent for XFA vs. non-XFA
  • d5d465279 Remove spurious calls to FPDF_GetDocPermissions()
  • 618ecdfae Fix clang-tidy warnings for fx_skia_device.cpp
  • 909a33cd7 Resolve some simple clang-tidy warnings.
  • 017b1aa0f Split TextObject rect for each kPiece
  • 1627c9a09 Replace bytes.removesuffix() call
  • 2d789adfb Avoid multiplication widening warnings in JBig2
  • fb2885c20 Remove NOTREACHED() usage in fxjs directory
  • 409124709 Remove third_party/base/base_export.h
  • df6fed9f3 Roll v8/ 127e21985..41ff48bd6 (425 commits)
  • 76f27a1e7 Roll buildtools/clang_format/script/ f97059df7..e5337933f (10 commits)
  • c1c25bb7a Saturate, rather than CHECK() in FX_Number
  • 1e33b3d28 Cast v8::Object::GetInternalField() return value to v8::Value
  • 832d6bb42 Roll Catapult from 7d7df42f80f3 to 220cbb13b5a7 (115 revisions)
  • 442caf194 Roll Code Coverage from cb9f2d5c70a8 to bce4cdc2309e (1 revision)
  • 41a47681b CHECK range before casting float to int in fxnumber
  • e54bb263c Use constexpr points array to avoid indexing in DrawThisAppearance().
  • 96b9ad342 Make fx_coordinates.h types have constexpr constructors.
  • 074490b71 Switch to NOTREACHED_NORETURN() in xfa dir
  • 4ae353f1e [fpdf_structtree] Support references for attribute list/number
  • c1bd7b5d0 Switch libcxx paths from trunk -> src.
  • 9f8b6bfcd Roll buildtools/third_party/libunwind/trunk/ f1c687e0a..e5a9c50e5 (2 commits)
  • 637bfca2f Roll buildtools/third_party/libc++abi/trunk/ 8d21803b9..d4760c0af (2 commits)
  • 689b96876 Move third_party/base/ptr_util.h into third_party/base/memory/
  • 0241a3d59 Allow StructElement_Attr_GetName to return buflen with null buffer
  • 22b07cad3 Remove //third_party:third_party target
  • 11e639bc8 Merge third_party/skia_shared code into core/fpdfapi/edit
  • 212493e8b Fix some DCHECK_OP signness mismatches
  • a917fcc95 Roll third_party/skia/ c59638231..6119b059f (226 commits)
  • 7ce8d2330 Roll third_party/skia/ 3ea9412ad..c59638231 (1 commit)
  • 1dab6189b Update gn_version to 3fccef9033b950e8935e8debeba9fbd71617bc74
  • acd622cf2 Roll third_party/abseil-cpp/ 6b7d3f3b0..2288062ee (7 commits)
  • 757433318 Roll third_party/freetype/src/ e4586d960..b2584c738 (15 commits)
  • e33975a51 Roll Fuchsia SDK from 13.20230629.2.1 to 14.20230727.2.1
  • 6e41cff18 Roll buildtools/ 6d00f8d8c..16be42a9f (8 commits)
  • 073cb4919 Roll third_party/zlib/ f999826d2..526382e41 (9 commits)
  • 45e5d5eb2 Re-organize malloc shim tests.
  • 7f8f07e22 Roll third_party/icu/ e8c3bc9ea..de4ce0071 (3 commits)
  • 41e44fc1b Switch from pdfium::clamp() to std::clamp()
  • 3f0bf8d52 Roll third_party/depot_tools/ 064883063..59e101154 (70 commits; 26 trivial rolls)
  • 91d9d4e57 Move third_party/base/span.h into third_party/base/containers/
  • d647c71e1 Roll tools/memory/ 57b3b9e7c..2a4c4ba1f (2 commits)
  • e325e5245 Roll third_party/skia/ 10a43e57e..3ea9412ad (167 commits)
  • fb159d610 Remove break statements after NOTREACHED_NORETURN()
  • a1c125c98 Change TestResult log from bytes to str (part 2)
  • 065810725 Roll third_party/libjpeg_turbo/ aa4075f11..30bdb85e3 (2 commits)
  • 55e793a8f Only define test_runner_py when standalone
  • 5d3955e11 Roll tools/clang/ 2cd52f556..236e66ffd (18 commits)
  • 89875d3b3 [PA] Fi...
Read more

4.18.0

04 Jul 04:04
Compare
Choose a tag to compare

Changes (Release 4.18.0)

Summary (pypdfium2)

pypdfium2 commit log

Commits between 4.17.0 and 4.18.0 (latest commit first):

  • f810b38 [autorelease] update changelog and version file
  • 8364457 packaging: also lower musllinux tag to 1_1
PDFium commit log

Commits between 5854 and 5868 (latest commit first):

  • 505438b2c Add XPS support to pdfium_test
  • 49a42197d Move helpers to //samples/helpers
  • 7b8acbc28 Simplify FPDF_Render implementations
  • 037e72c6d Refactor ProcessPdf() and ProcessPage() state
  • fbbdab86f Make "--diff" option handle reverse-byte-order results for pdfium_diff
  • aefb13c5c Replace FPDF_RECORDER with FPDF_SKIA_CANVAS
  • 411f207af [Fuchsia] Replace downloading gn SDK with core SDK
  • b1e534339 Roll build/ e100e80a1..a12897e7e (58 commits)
  • 0dbf91cb5 Enforce value ranges in IsIsoTimeFormat().
  • c7df6021f Add GDI expectations
  • 1d404027e Add IsIsoDateFormat() and IsIsoTimeFormat() unit tests.
  • b0254c934 Avoid computing unused values in IsIsoTimeFormat().
  • d691f6ef3 Add missing nullptr check in CJX_Object::SetCDataImpl()
  • 14f97b232 Remove unused out params from IsIsoDateTimeFormat()
  • 8739c4c6f Fix millisecond check in IsIsoTimeFormat()
  • 5b115ea3f Remove unused out param from IsIsoDateFormat()
  • 21ac43e7f Roll tools/memory/ 1084fb884..57b3b9e7c (2 commits)
  • 36111e64c Fix search for colon in IsIsoTimeFormat()
  • 4b06202b3 Roll third_party/skia/ 029100f6e..a5070bdfb (152 commits)
  • 270bda14b Switch to NOTREACHED_NORETURN() in various core/ sub-directories
  • 8d645345a Better bounds-check in IsIsoTimeFormat()

4.17.0

27 Jun 04:05
Compare
Choose a tag to compare

Changes (Release 4.17.0)

Summary (pypdfium2)

pypdfium2 commit log

Commits between 4.16.0 and 4.17.0 (latest commit first):

  • 343efeb [autorelease] update changelog and version file
  • 7ed7bb6 Inline saving implementation (#229)
  • 3e643cb Library init/destory nits
  • 98899a7 Roll back glibc req to 2_17 for now (CC #203, #231)
  • f24e54e Revert a bad style change
  • 6607977 sourcebuild: roll win/pdfium.patch
  • ef2f2da Install safeguard to lock autoclose after lib destruction
PDFium commit log

Commits between 5841 and 5854 (latest commit first):

  • 70c2db3e9 Add GDI renderer support to test_runner.py
  • 33b14f693 Add GDI renderer to pdfium_test
  • 7f2235ee9 Fix stack-overflow in CheckForSharedFormInternal()
  • 4d1379a8d Use NOTREACHED_NORETURN() in non-win32 core/fxge code
  • c553157c2 Change enum CFX_ImageTransformer::StretchType to an enum class
  • fbb42b8f0 Use PageRenderer::Write() for all output formats
  • 7b2f0e4dd Add --use-renderer support to test_runner.py
  • 6c2c8ce87 Revert "Don't implement CPDF_DIB::GetBuffer()"

4.16.0

20 Jun 04:11
Compare
Choose a tag to compare

Changes (Release 4.16.0)

Summary (pypdfium2)

pypdfium2 commit log

Commits between 4.15.0 and 4.16.0 (latest commit first):

  • 5406fc9 [autorelease] update changelog and version file
  • 5739294 PIL buffer test: relax copy assert to warning
  • 5f2288a to_pil(): reflect image changes in buffer
  • ca7d701 bitmap.from_pil(): preserve RGBX
  • 872bf6b include bindings/*.py in sdist
  • 058014e bitmap comment: nits
  • d99bae3 readme: fix cffi link
  • 49b63b1 bitmap nit: improve version info
  • 13360db page: single line nits
  • 2ac239c Add return code check for FPDFPage_RemoveObject()
  • 5e7d954 init_forms(): further check correction
  • a88f65f Somewhat work on imports
  • 2f338e5 bitmap.from_pil(): Add option to re-copy
  • 046216e bitmap: improve code docs
PDFium commit log

Commits between 5827 and 5841 (latest commit first):

  • f608b5d3a Don't implement CPDF_DIB::GetBuffer()
  • b8df4c36d Remove redundant MSVC 4267 warning
  • 3e0aca455 Add a pixel test for a trailer with the wrong /Size
  • 2c7354693 Tolerate bad /Size in V5 xrefs
  • 089adc52f Give CPDF_CrossRefTable::ShrinkObjectMap() a better name
  • 9256bd661 [Skia] Handle text scaling inside CFX_SkiaDeviceDriver
  • e49db5b31 Update the constant used to limit xref size
  • 42f3930ce Add a ParserXRefTest test for wrong /Size relative to /Index
  • fd0b83c85 Add more ParserXRefTest test cases for /Index
  • b68545c09 Add more ParserXRefTest test cases
  • f899df424 Change ParserXRefTest to use Gmock matchers
  • 7923337d2 Change some ParserTest to use a test fixture
  • 7b044178d Clean up ShrinkObjectMap() methods
  • 12f7dcb80 Document default type value in CPDF_Parser::ProcessCrossRefV5Entry()
  • e70dfbc6b Memoize RealizeSkImage() in CPDF_PageImageCache
  • e392794c0 Remove force_alpha parameter
  • 517bbe3dc Remove last reference to SkBitmap
  • 44b0492c7 Remove no longed needed .cookie from PartitionOptions initialization
  • 1b2a3b549 Roll base/allocator/partition_allocator/ b8014d77e..f13adc396 (28 commits)
  • 6e3e8502c Move alpha type conversion into RealizeSkImage()
  • a4ec25d38 Cleanup at pdf fuzzer termination.
  • d36799c75 Roll Code Coverage from de759c9da836 to 8ec74a909da4 (6 revisions)
  • ba7701bc2 Roll Catapult from 730ebc3ef2f3 to f51324c1c818 (59 revisions)

4.15.0

13 Jun 04:04
Compare
Choose a tag to compare

Changes (Release 4.15.0)

Summary (pypdfium2)

  • In helpers, closing a parent object now automatically closes the children to ensure correct order.
    This notably enhances safety of closing and absorbs the common mistake of closing a parent but missing child close calls. See commit eb07605 for more info.
  • In init_forms(), attempt to call FPDF_LoadXFA() and warn on failure, though as of this writing it always fails.
    An upstream issue is suspected.
pypdfium2 commit log

Commits between 4.14.0 and 4.15.0 (latest commit first):

  • 4ca2bbc [autorelease] update changelog and version file
  • 9fe9660 nit: slightly improve repr style
  • 12d2327 Move library load/destory to seprate file
  • ee14e56 utils.get_bufreader(): do not separately hold buffer
  • d23cfab cli/imgtopdf: overwrite existing files
  • 6749177 bitmap.from_pil(): avoid one layer of copying
  • 5f2bd3f formal safety nits around formenvs
  • 5e19859 Further improve autoclose debugging
  • 6ed7685 autoclose: add context info
  • 77bf19a Combine namespaces bases, consts, utils into pdfium_i (#226)
  • 6aa3c7e fix init_forms() blunder: move version safety check to right place
  • 656f945 formenv: child-track pages released after init_forms()
  • 68854b2 readme: link case study concerning ABI vs API
  • 8f8edcf Update changelog_staging
  • e5d348e Call FPDF_LoadXFA() in init_forms(), warn on error (#223)
  • eb07605 Protect closing order (#224)
PDFium commit log

Commits between 5813 and 5827 (latest commit first):

  • 5e77cd172 Simplify CFX_DIBBase::RealizeSkImage()
  • 7ccc8ace2 Add CFX_DIBBase::RealizeSkImage()
  • bee35d5e5 Avoid using NOTREACHED() in test code
  • cfc8f9162 Don't infer UnownedPtr::ExtractAsDangling() type
  • 55e612f5f Manage Upsample() memory using SkImage
  • 7b3cd1e7f Remove obsolete third_party/android_sdk/
  • 6498464bc Fix PDF saving when multiple graphics states are in effect
  • c261a6cb2 Fix FxgeSkiaEmbedderTest.RenderBigImageTwice test
  • 5281496be Minimize GN dependencies on //skia
  • 85412229e Replace FXFT_MM_VarPtr with ScopedFXFTMMVar
  • fa84e52cd Remove FT_Done_MM_Var() workaround
  • 937e7c848 Tighten DEPS rules for Skia headers
  • d2dcc316e Add include for SkTileMode

4.14.0

06 Jun 04:04
Compare
Choose a tag to compare

Changes (Release 4.14.0)

Summary (pypdfium2)

pypdfium2 commit log

Commits between 4.13.0 and 4.14.0 (latest commit first):

  • e011ddd [autorelease] update changelog and version file
  • 69b3880 docs: improve memory management section
PDFium commit log

Commits between 5799 and 5813 (latest commit first):

  • d00660e5c Move write APIs from CFX_DIBBase to CFX_DIBitmap
  • aaa3ba68e Fix unnecessary GetWritableBuffer() calls
  • e5e0b281f Remove CFX_DIBExtractor
  • 1ea3e1cff Roll build/ 3c9055956..e100e80a1 (99 commits)
  • 6257fd324 Roll v8/ af40b3075..9888bdc17 (303 commits)
  • a369e368a Roll buildtools, libc++ and abseil
  • 0804b03f8 Roll third_party/zlib/ 14dd4c445..0cf42a259 (3 commits)
  • c618dbcfa Make CFX_DIBBase::GetBuffer() const-correct
  • bb4e26d0b Roll base/allocator/partition_allocator/ 8551ae8bd..b8014d77e (36 commits)
  • 54b9cd1af Roll third_party/android_ndk/ 8388a2be5..310956bd1 (1 commit)
  • 6c1135190 Use //third_party/cpu_features:ndk_compat
  • 1e6257321 Limit the number of form XObjects within a form XObject
  • 9dc67f021 Add //third_party/cpu_features to DEPS
  • 14f58f559 Add CPDF_Form::RecursionState struct
  • d87685c20 Update gn_version to e3978de3e8dafb50a2b11efa784e08699a43faf8
  • 337e0a37d Update vpython3 requests
  • f59459617 Roll Fuchsia SDK from version:12.20230503.1.1 to version:12.20230601.1.1
  • f2ebffd1b Roll buildtools/third_party/libc++abi/trunk/ 66967963e..b2e8ad275 (11 commits)
  • 2c1720e4b Roll buildtools/third_party/libunwind/trunk/ 88bd83fe0..cd144ced3 (6 commits)
  • 3c1b3cdcd Roll tools/clang/ 56556e9bb..0b83134b3 (35 commits)
  • 44f86322f Roll third_party/icu/ d8daa943f..1eea59cab (4 commits)
  • 8338cc09b Roll third_party/freetype/src/ be15811c4..80a507a6b (57 commits)
  • eac64389d Roll third_party/depot_tools/ 13878e1f7..79f13899e (78 commits; 21 trivial rolls)
  • 53dcf78f7 Use newer gni file lists for Skia
  • f83b51220 Roll third_party/skia/ 6acd5a6fe..029100f6e (120 commits)
  • e2c8eacbc Roll tools/memory/ 09f58c36c..1084fb884 (1 commit)
  • 13adebf3b Fix function pointer mix up in OpenJPEG
  • 72aa5fbd5 Fix function pointer mix up in LCMS
  • 314477963 Add smaller less-scary comment about FPDF_DestroyLibrary().

4.13.0

30 May 04:05
Compare
Choose a tag to compare

Changes (Release 4.13.0)

Summary (pypdfium2)

pypdfium2 commit log

Commits between 4.12.0 and 4.13.0 (latest commit first):

  • 1dd22bf [autorelease] update changelog and version file
  • 6132aa5 Minor setupsrc changes
  • e4a1b0f version: add task
  • 2f982b4 readme: discuss drawbacks of ABI-level bindings
PDFium commit log

Commits between 5786 and 5799 (latest commit first):

  • 6e653ec0c Add high-resolution re-rendering test
  • 72b051838 Add CFX_SkiaDeviceDriver(SkCanvas*) constructor
  • 88ad8bf36 Add big scary comment about thread unsafety to fpdfview.h.
  • 1f8d57863 Add unit test that operator New is shimmed onto BRP
  • 8277d6e96 Small tidy in CPWL_Wnd::SharedCaptureFocusState.
  • eee36578b Rename CPWL_MsgControl to SharedCaptureFocusState and nest in CPWL_Wnd.
  • 28eb03ee8 Remove CPWL_Wnd::CreateScrollBar()
  • 8172e30fe Remove references to empty Skia "opts" GNI targets/files
  • 249ff515f Roll third_party/skia/ 5c93acf31..6acd5a6fe (263 commits)
  • 586ed826d Avoid dangling ptr in ~CPWL_MsgControl().
  • 4056a102f Rename RePosChildWnd() to RepositionChildWnd()
  • 753fad158 Add pixel test for non-ASCII text appearances
  • c72dad9f7 Avoid setting DiscardableMemoryAllocator in LLVMFuzzerTestOneInput()
  • 328edf32a Use noparent=True in //public/DEPS
  • 0b74b9a8f Forward declare ByteString in the custom gtest-printers.h