Skip to content

5.1.0

Choose a tag to compare

@github-actions github-actions released this 23 Nov 13:36
· 60 commits to main since this release

Changes (Release 5.1.0)

Summary (pypdfium2)

  • Added new helpers textpage.get_textobj(), PdfTextObj and PdfFont.
    These helpers currently just cover font info and object-level text extraction, but may be extended in the future.
    For objects of type FPDF_PAGEOBJ_TEXT, PdfPage.get_objects() and the PdfObject constructor will now return PdfTextObj rather than just PdfObject instances.
    Thanks to Mykola Skrynnyk for the initial proposal.
  • Rolled back musllinux tag from 1_2 to 1_1. This was erroneously incremented shortly before 5.0.0, but the pdfium-binaries do still run on musllinux_1_1, probably because they're statically linked.
  • build_toolchained: Significant portability enhancements. Should now work on Linux CPUs that are unhandled/incomplete upstream (e.g. aarch64). Also, building on Windows arm64 natively may now work. Added ability to cross-compile ppc64le from x86_64. Removed --use-syslibs option (use build_native instead).
  • build_native: Fixed Python 3.6/3.7 compatibility. Added --no-libclang-rt option.
  • Setup: Fixed inclusion of BUILD_LICENSES/ sub-directories. Added extra licenses for DLLs pulled in by auditwheel. This concerns sourcebuilds/cibuildwheel only. The wheels on PyPI are unaffected.
  • Added android targets to sbuild.yaml workflow. This does not impact releases, which still use the pdfium-binaries.
  • Added i686 (manylinux and musllinux) to cibuildwheel workflow.
    Use an arm64 host (GHA ubuntu-24.04-arm) for armv7l builds, which is much faster than with an x86_64 host. Added armv7l manylinux target (previously just musllinux).
    This does not impact releases yet, but it may in the future.
  • CI: Migrated from macos-13 to macos-15-intel.
pypdfium2 commit log

Commits between 5.0.0 and 5.1.0 (latest commit first):

  • 46afdae [autorelease main] update 5.1.0
  • d6d1ea5 build_toolchained: set config var regardless of sync
  • 1054d12 Update RTD build host
  • 0c2eef0 build_toolchained: update comment
  • 346bba0 build_toolchained: use PORTABLE_MODE on musllinux and android
  • edad47e main.yaml: add ref to upload-artifact bug
  • 24aea3c Update changelog again
  • 6bc04d3 main.yaml: propagate py_version
  • 28639a5 Add a comment
  • 5c93651 Readme: update sourcebuild section
  • 49404d2 Fix reuse lint
  • 7cb5bc0 Fix bootstrap_ninja()
  • b4f2bc6 Extract non-split-related work from PR #394
  • d839e2e Defer _get_local_bin()
  • 6be8ad0 build_toolchained: in PORTABLE_MODE, use bootstrap_buildtools()
  • 6fb248b Make bootstrap_gn target dir portable
  • 1613353 Add proper ninja/gn bootstrapping functions
  • 6ec44e2 Avoid setup-just action where we can
  • 0cd1f73 Update changelog again
  • 5fc9bb0 sbuild_one: fix artifact naming if target_os is set
  • 3998f82 pdfium-binaries/android: bump to android_23
  • a645230 sbuild.yaml: attempt adding android builds
  • c739b22 build_toolchained: continue
  • a86826f build_toolchained: limit PORTABLE_MODE to Linux for now
  • 2c8bd51 sbuild_one: drop just dependency
  • 1bcc02a Update changelog
  • f60248c chores: fix just check, rename some patches
  • d9f66f0 build_toolchained: more portability fixes
  • 9d32e5f sbuild.yaml: test build_toolchained.py on native arm64 runner
  • f54247c Further build_toolchained improvements
  • 45c8084 build_toolchained.py: add ppc64le cross-comp ability
  • 2d8e00b Improve portability of build_toolchained.py
  • 3eb8204 Remove build_toolchained --syslibs from CI
  • 4c1038b build_native: add option to disable libclang_rt dependency
  • c345690 Readme: somewhat update licenses section
  • f5bff20 Add extra licenses for cibuildwheel builds (#390)
  • 5159278 Clarify and update changelog
  • 7e849de Merge pull request #392 from pypdfium2-team/font_helpers
  • 17c8412 Parametrize font helpers test
  • 51d0adf Add draft font helpers
  • a816bfe Update REUSE.toml, fix typo in pyproject.toml
  • da3b4f5 Make GN patch less invasive
  • 2e3d2ba Factor out cloning utility for cibw gn bootstrap
  • 4b4e344 cibw i686: try to improve GN bootstrap
  • fef5d24 Move patches
  • 9e0e53f cibw: fix manylinux_i686 target
  • 5bd0d31 Drop emulated musllinux_armv7l target
  • 0e74a4c cibw: retry armv7l with newer image
  • e5f2212 Comment out manylinux_armv7l again
  • bcad837 Yet another attempt at cibw/manylinux_armv7l
  • 0c7bde8 cibw/pyproject.toml nits
  • 4b6f2dc cibw/pyproject.toml: deduplicate symlinks (#389)
  • 8d6f6ad cibw: give up on manylinux_armv7l for now
  • 767e3a5 cibw: have another go at armv7l
  • f06a078 cibw: try to fix manylinux_{i686,armv7l}
  • 9d56c4a Rearrange cibw.yaml
  • 2dbde32 autorelease.py: style nit
  • e7ca107 utils/get_gcc_prefix: handle armv8l as well
  • 2ea9a28 cibw: say ubuntu-latest instead of ubuntu-24.04
  • 6f1245a autorelease: make sure GH release notes stay below limits
  • 1060a86 Readme: make python setup deps slightly clearer
  • 55a94e8 Changelog
  • 73c1a96 Update macos-13 to macos-15-intel (fixes #388)
  • d3beb16 Fix up previous commit
  • 009f11a Re-suspend trigger_main schedule after all
  • 605d765 Minor cleanups
  • 94b02c1 setup/build_native: python < 3.8 compat
  • 1f457d4 build(deps): bump actions/upload-artifact from 4 to 5
  • 77f0697 build(deps): bump actions/download-artifact from 5 to 6
  • 8aa2658 Fix inclusion of BUILD_LICENSES sub-directories
  • c74b8f4 Further changelog tweak
  • 1c50fb3 Changelog markdown rendering fix
  • a3f2a9f main.yaml/test: install auditwheel only on linux
  • e26769a Post-release chores, reinstall schedule
PDFium commit log

Commits between 7483 and 7529 (latest commit first):

  • c2e74df91 Add FPDF_SYSFONTINFO version 2 for per-request font matching
  • 99e950ba7 Remove CFX_Face::GetRec() callers from CFGAS_FontMgr
  • 917797d28 Add CFX_Face::HasFaceRec()
  • a3cc2e30e Remove FXFT_Get_Glyph_* macros
  • ce3baac0f Rename "pFace" instances to "face"
  • 2a230b8e7 Fix decoding of JBIG2 files with more than four referred-to segments
  • 2de46c603 Remove redundant jbig2 test files
  • 503710a3d Rename "pStreamAcc" instances to "stream_acc"
  • 57baefcd1 Make Skia corpus tests pass for Mac ARM64 with macOS 15
  • 5f97789be Make Skia pixel tests pass for Mac ARM64 with macOS 15
  • bcd8f224d Teach suppressor.py about mac_arm and mac_x86
  • 1861f24ae Consolidate CFX_Face::Open() callers
  • 1a275e49a Update test corpus revision
  • dbfa29d16 Fix progressive unoptimized decoding of JBIG2 generic region with template 1
  • 4d3dc1bd8 Update some Skia test expectations for Mac ARM64 with macOS 15
  • 61b3d09eb Fix various pylint warnings in testing/tools/*.py
  • f2de80031 Auto-format testing/tools/*.py
  • a4c4d0ad1 Fix reading refine-one symbols in huffman symbol dictionaries using refinement
  • debf26bdc Limit bitmap memory usage in PDFiumFuzzerHelper
  • 450290147 Roll third_party/freetype/src/ 36f917cc6..fc9cc5038 (17 commits)
  • c81783ef3 Roll third_party/freetype/src/ e969f5298..36f917cc6 (3 commits)
  • 1d67846a1 Roll Catapult from 67287c8f0b4e to 5b6dfc90097d (37 revisions)
  • 2bf421a5e Roll Depot Tools from 3008b57e5d18 to 6f83fce8652b (79 revisions)
  • 89bb8a241 Roll Code Coverage from ef6864ec11f1 to 9e4876df273e (1 revision)
  • 06df1a295 Remove reference to third_party/instrumented_libraries
  • d7fbd2ca8 Update test expectations for Mac ARM64 with macOS 15
  • f49889b9c Regenerate jbig2-mmr.in
  • 0f689aaa2 Rename "iIndex" instances to "index"
  • 728097ea0 Delete CFX_Face::ClearExternalStream()
  • bebe89931 Remove dead code in xfa/fwl/cfwl_notedriver.cpp
  • 2fbebb9ef Enable new unsafe-buffers diagnostic for PDFium.
  • 0ca246f33 Fix another CHECK() failure in CXFA_Document::DataMerge_CopyContainer()
  • 0b9f84147 Rename "pContext" instances to "context" or "ctx"
  • 8ace2bfc6 Change pdfium_fuzzer_helper.cc to render with different bitmap formats
  • d83e98eb1 Use more spans in pdfium_fuzzer_helper.cc
  • 53d474a8e Roll third_party/freetype/src/ d3668e00d..e969f5298 (6 commits)
  • 5e6ead329 [rust png] Make libpng-dependent targets conditional.
  • dffbe9888 Consolidate the determination code for font styles
  • b3b74b1d1 Roll build, third_party/rust, clang, and tools/rust
  • ee0ba679a Roll abseil-cpp, buildtools, and libc++
  • bb669b8f8 Roll goldctl from 93cc2a21b9bd to 53e5aa34af53
  • a61bc59be Roll Zlib from 85f05b0835f9 to 5aa617372945 (1 revision)
  • 7f43fd792 [rust png] Support using Rust-based PNG codec in XFA implementation.
  • 4d80852fd Update siso_version to 0915813c4c786240e12d03aa3018c02bab4df14f
  • db3687db7 Revert "Add debugging data to help diagnose a hang in fread()"
  • e3387c5b1 Roll third_party/libc++abi/src/ f7f5a32b3..a02fa0058 (4 commits)
  • 95856f11b Roll third_party/libunwind/src/ 6dc2f29f9..14b9dee79 (10 commits)
  • 4cb6688ca Roll third_party/llvm-libc/src/ dba78cfc7..006672b9b (52 commits)
  • a9cd189c6 Update reclient_version to re_client_version:0.185.0.db415f21-gomaip
  • ab7975e18 Roll third_party/icu/ 1b2e3e8a4..f27805b7d (6 commits)
  • 526366fa4 Roll v8/ 7f18b53ba..dd1717b9d (325 commits)
  • 3f8887d82 Update gn_version to 07d3c6f4dc290fae5ca6152ebcb37d6815c411ab
  • ad29c35be Roll third_party/googletest/src/ 9df216cc9..b2b9072ec (10 commits)
  • 797447805 Roll third_party/fp16/src/ b3720617f..3d2de1816 (5 commits)
  • 639553c55 Roll third_party/skia/ 479696a3c..a1ff58d34 (61 commits; 6 trivial rolls)
  • ded86ac62 Roll third_party/clang-format/script/ 1549a8dba..c2725e062 (20 commits)
  • 5bbc12ff9 Roll base/allocator/partition_allocator/ e3fec0a68..2f4069fb8 (9 commits)
  • d4c2dadd7 [rust png] Un-nest ProgressiveDecoderIface::Context.
  • b73d6847a [rust png] Stop using SkXPS...PngHelpers.h from PDFium.
  • b4b1cfd4d Move all FT_Load_Glyph calls into CFX_Face for consistency
  • 89afb3340 Remove dead code: CPWL_Edit::CutText()
  • 048a19460 Remove dead code: CPWL_Edit::{Copy,Paste}Text()
  • 216862ba4 [rust png] Introduce ProgressiveDecoder::PngReadMoreData.
  • 8f655643d [rust png] Deduplicate cleanup/return logic in PngContinueDecode.
  • b4937e9b4 [rust png] Devirtualize all methods of ProgressiveDecoderIface.
  • 3077cfa5a Roll libpng from dc2507e99733 to 84d676669166 (4 revisions)
  • f5c376f93 [rust png] Stop using hungarian (dwFoo / pFoo) in ReadMoreData.
  • 553e531de [rust png] Add explicit PngFinishedDecoding callback.
  • c890df130 [rust png] Remove unused ProgressiveDecoder::src_pass_number_ field.
  • e136238ea [rust png] Use new overload of SkXPS::MakeDocument.
  • d2c50ffd0 Roll third_party/skia/ 89a8bc508..479696a3c (104 commits; 20 trivial rolls)
  • 96a2bccf5 [rust png] Remove pass parameter from PngReadHeader.
  • 47dbb620e [rust png] Add ProgressiveDecoderTest unit test for a simple PNG.
  • dfba959ae Update bug IDs in TODOs in testing/SUPPRESSIONS and related test files
  • fa63d2782 Refactor CPDFSDK_PageView::OnKeyDown()
  • 4aa3b725c Upgrade libtiff from 4.7.0 to 4.7.1
  • b2e300aba Remove deprecated Skia SkPath API usage
  • 82125ddb8 [rust png] Decode PNGs directly into device_bitmap_.
  • a8cba1c40 [rust png] span-ify return type of PngAskScanlineBuf.
  • c6dac1b25 [rust png] Remove components_count and "bpc" from PngReadHeader.
  • 4c93f9f22 [rust png] Remove obsolete PngDecoderDelegate::DecodedColorType.
  • f0f8a099a [rust png] Check device_bitmap's format is always kBgra for PNGs.
  • 9ab3b8992 [rust png] Remove scanline_size_ field.
  • dd778d389 [rust png] Deduplicate code into a new GetScanlineSize method.
  • 923d946a1 Add crbug.com links to TODOs in testing/SUPPRESSIONS