Releases: pypdfium2-team/pypdfium2
4.12.0
Changes (Release 4.12.0)
Summary (pypdfium2)
pypdfium2 commit log
PDFium commit log
Commits between 5772
and 5786
(latest commit first):
4a5e28a78
Fix text string handling on UTF-32 platformsc4e6b7d3e
Improve ParseDecodeTest cases for test strings448f3994d
Deduplicate Gold properties code2bfcd7862
Merge UTF-8 handling into fx_string.cppd7e084ec3
Mark some dangerious pwl methods [[nodiscard]]4cffda0e4
Roll v8/ f66b0bc93..af40b3075 (821 commits)a248b67f7
Consolidate UTF-16 logicb6c2e82d2
Initialize only needed fields of PartitionOptions8ef742b1a
Roll base/allocator/partition_allocator/ 096531f40..8551ae8bd (24 commits)4fcc240d3
change readmeuse_goma
tofalse
2c2634093
Fix duplicate shim symbols in chromium build8c8755d8f
Fix GN visibility checks when building with chromium.d31d8a36d
Roll build/ 64c99419f..3c9055956 (93 commits)bd861027b
Use malloc shim for testing on all platforms (except win)d22b2a8d2
Make Retaintable subclass's ctors/dtor non-public5cdc452a1
Rename local thisObserved to this_observed29c665ea4
Observe CPWL_ComboBox across all On* methods059bddb09
Clean up CPDF_StructElement606df596a
Make PDFium tests compatible with BRP-enabled allocators.c6a34d1ca
Avoid redundant calls to get CFXJSE_Engine in CJX_Object::RunMethod()57c1ab247
Prevent dangling pointer in CPDF_StructTree::AddPageNode()1ea042cff
Remove CollectionSize() use in CPDF_StructTree::LoadPageTree()4ff4ca9ab
Support BackupRefPtr in PDFium.f722b54ef
Roll Catapult from ac30cc4bc7d3 to 730ebc3ef2f3 (44 revisions)7884587b9
Roll Code Coverage from 9b51524c4f75 to de759c9da836 (1 revision)
4.11.0
Changes (Release 4.11.0)
Summary (pypdfium2)
- In
PdfDocument.render()
, fixed a badbitmap.close()
call that would lead to a downstream use after free when using the combination of foreign bitmap and no-copy conversion. Using foreign bitmaps was not the default and expressly not recommended.
pypdfium2 commit log
Commits between 4.10.0
and 4.11.0
(latest commit first):
f927f7c
[autorelease] update changelog and version file1228d4e
Update readme065bd1f
RenameTODO(v5)
toTODO(apibreak)
0cfe906
Do NOT call bitmap.close() in renderer worker (see description!)e8ab921
Minor code comment fixes47161c6
rebuild bindings/raw.py5968b24
Update reuse/dep52c516db
ctypesgen: conditionally pass--no-srcinfo
(fixes #215)
PDFium commit log
Commits between 5758
and 5772
(latest commit first):
78a55892d
Use some spans in CFX_CTTGSUBTable948a8b484
Avoid using FT_Bytes in CFX_CTTGSUBTabled204feb0b
Fix nits in CFX_CTTGSUBTable59870bf72
Remove struct CFX_CTTGSUBTable::TCoverageFormat*40485aacb
Combine struct CFX_CTTGSUBTable::TSubTable*15c1b6743
Fix pdfium::span<> tests under BRP's asan_use_unowned_ptr=trued699e177c
Remove struct CFX_CTTGSUBTable::TDevicefb2f71da3
Remove redundant calls to GetScriptContext()4e730a7d0
Prove some calls in XFA to GetScriptContext() are redundant80b01ad64
Clean up struct CFX_CTTGSUBTable::TFeatureRecord and TLookup8fd980a39
Remove struct CFX_CTTGSUBTable::TScriptRecorde60fa0d7d
Remove struct CFX_CTTGSUBTable::TLangSysRecord7b49936bc
Stop storingCFX_Font::m_pSubData
3f1624a82
Improve error handling in CPDF_CIDFont::GetGlyphIndex()a9ff918a8
Observe widget across SetOptionSelection() calls.3eb3c4d77
Always check return code from CPWL_ComboBox::SetPopup().0fa0c4f3e
Save dash array and phase of GraphState in CPDF_PageContentGenerator4c16842f6
Roll Skia and update SkSurface calls09126b95a
Enable raw_ptr usage enforcement for PDFium.dc12ace76
Add UNOWNED_PTR_EXCLUSION to mac-specific CFX_AggDeviceDriver member.e37bff1a0
Use "Chrome Symbol" font on all platforms aside from Windows2ccdc331a
Fix mac build under raw_ptr plugin92a5bc33e
Fix a CHECK() failure in ObjectTreeTraverser::GetReferenceEntries()1918c8da8
Fix Skia build under pdf_enable_unowned_ptr_exclusion1ce0f0424
Unblock roll of PDFium into chromiumeaa68be67
Resolve remaining unowned_ptr exculsion warnings [android, win].e6895bd32
Resolve remaining unowned ptr exclusion warnings.d6bc7c46a
Fix some unowned ptr exclusions in core/fxcrt/{xml,css}530d0170f
Suppress unowned ptr exclusions in embeddertests431f9a92e
Support iterating over WideString by code pointef937a25a
Exclude public files and test files from raw ptr checksa8e77a12d
Fix unowned ptr exclusions in core/fpdfapi578fe5b2a
Fix common unowned ptr exclusions in core/fxcrtbe511372f
Introduce raw ptr exclusion enforcement to PDFium.7ef2ee356
Teach googletest about C-string to ByteString comparisons401a247da
Remove CPDF_Image::GetDocument() nullptr checksd77c93540
Support encoding unpaired surrogates
4.10.0
Changes (Release 4.10.0)
Summary (pypdfium2)
pypdfium2 commit log
PDFium commit log
Commits between 5744
and 5758
(latest commit first):
075ddba7c
Teach googletest how to pretty-print WideString77b1258e9
Teach googletest how to pretty-print ByteString7014c95ee
Handle non-BMP code points for UTF-16 wchar_tc651b5492
Clean up the UTF-8 encoder and decoder09e030db2
Use more const pointers in CPDF_Image::FinishInitialization()5afdf9323
Roll Fuchsia SDK from version:12.20230330.3.1 to version:12.20230503.1.16afd7a2aa
Roll third_party/freetype/src/ b0a4f9927..be15811c4 (22 commits)112428105
IWYU: add cstdint for uint8_t in fxcrt::UnownedPtr7058fd4eb
Roll buildtools/third_party/libc++abi/trunk/ 4a9d0560b..66967963e (15 commits)c92f25f84
Roll tools/clang/ f68624726..56556e9bb (24 commits)63ac35e1f
Roll build/ c44ccbfc0..64c99419f (202 commits)f76d5cc22
Roll third_party/zlib/ b890619bc..14dd4c445 (2 commits)45f021e40
Roll buildtools and libc++327270525
Roll base/allocator/partition_allocator/ 118936d67..096531f40 (25 commits)d26d26f7c
Update gn_version to git_revision:5a004f9427a050c6c393c07ddb85cba8ff3849fa26e7d6670
Roll tools/memory/ 13f0b81ce..09f58c36c (2 commits)69ed9d8a1
Roll third_party/skia/ ad459a5b8..7c6bd2a63 (486 commits)ca87479d6
Roll buildtools/third_party/libunwind/trunk/ f3464caa6..88bd83fe0 (22 commits)e5e8a16e8
Roll third_party/icu/ 1e49ac26d..d8daa943f (3 commits)fa00f6ee9
Roll third_party/depot_tools/ ab117384e..13878e1f7 (69 commits; 17 trivial rolls)833105422
Roll third_party/abseil-cpp/ 20c8ae002..c7a526044 (7 commits)
4.9.0
Changes (Release 4.9.0)
Summary (pypdfium2)
pypdfium2 commit log
Commits between 4.8.0
and 4.9.0
(latest commit first):
33e1c37
[autorelease] update changelog and version file47fdab0
document: add taskbde4e91
Make extract_images CLI slightly more memory efficient0f252d3
Mainly abbreviate bitmap init codea6e3c71
Further strip pageobjects code26cc610
tile: slightly improve styleb7cb474
pageobjects: code style improvements (more one-liners)
PDFium commit log
Commits between 5731
and 5744
(latest commit first):
c4b31543f
Don't re-encode annotation /Contentsc207ee2c3
Enable -Wcovered-switch-default0703e0486
Avoid -Wcovered-switch-default errors in various placese0277e268
Avoid -Wcovered-switch-default errors in //core codef9fb18307
Avoid -Wcovered-switch-default errors in XFA codebcd9d08ed
Remove some unreachable code in CPDF_DataAvail5d675f6fd
Add a pixel test for Type 3 font with a pattern48468f15d
Fixdefines
in testing/fuzzers/BUILD.gn66608c815
Remove unnecessary Clear() operations2e68465df
Mark Apple-only code inside cfx_glyphcache.cpp as such875e85008
Rewrite MaybeOwned<> in terms of absl::variant<>1e9e67f49
Thwart move-elision on MaybeOwned::Get() invoked on rvalues.da4829cbc
DefineBUILD_WITH_CHROMIUM
for pdfium fuzzers22980b302
Fix some nits in CFX_GlyphCache
4.8.0
Changes (Release 4.8.0)
Summary (pypdfium2)
PdfTextPage.get_rect()
: Added missing return code check and updated docs regarding dependence oncount_rects()
.
Fixed related test code that was broken but disabled by accident (missing asserts). Thanks to Guy Rosin for reporting {issue}207
.- Added
PdfImage.get_size()
wrapping the new pdfium functionFPDFImageObj_GetImagePixelSize()
, which is faster than getting image size through the metadata. build_pdfium.py --use-syslibs
: Changedsysroot="/"
(invalid) touse_sysroot=false
(valid). This allows us to remove a botched patch.
pypdfium2 commit log
Commits between 4.7.0
and 4.8.0
(latest commit first):
0c1a20d
[autorelease] update changelog and version file24fbf07
Rename variablesuccess
took
across the tree5b4d44f
unsp: change handling of attachment92ab6dd
Add bindings to & useFPDFImageObj_GetImagePixelSize()
e418360
A few style improvements (CC #212)82d2a12
sourcebuild: moveuse_sysroot=false
to linux section6bfb440
syslibs build: replacesysroot="/"
+patch w/use_sysroot=false
0c17bcc
Possible solution to #207dea9c70
Remove a task (CC #205)
PDFium commit log
Commits between 5715
and 5731
(latest commit first):
9db61cf2d
Set up DiscardableMemoryAllocator for pdfium fuzzer379bfc96b
Added faster method for getting the size of an image object.f51e7a1cf
Cache font widths in CFX_GlyphCache40f98eb42
Implement CFX_SkiaDeviceDriver::GetClipBox()594190814
[Skia] Use source rectangle passed to SetDIBits()0e8a8c6e5
Update NOINLINE definitionaf3848d11
Delete unused macros from compiler_specific.h3f0996155
Represent fxcmap::CMap::MapType with a boolda78dcba4
Change fxcmap::CMap::MapType an enum class with properly named values5bb3a5ac2
Put FXCMAP code in namespace fxcmap357729f1d
Consistently use#if defined(_SKIA_SUPPORT_)
2bd5d5761
Avoid passing nullptr to vswprintf() inside WideString::FormatV()cffe2384b
Remove a spurious RetainPtr in the CFX_DIBExtractor ctor2327115fd
Get rid of a Windows-only -Wno-switch flag5dfeac1e0
Fix roll-freetype.sh on Linux409e3e252
Fix -Wswitch warning in cfpf_skiafontmgr.cppff7e020b9
Add build_config.h to core/fxcrt/fx_extension.h9a89e728d
Update metadata in third_party/freetype/README.pdfium5e106987a
Roll Code Coverage from b0f9daa5b3f5 to 9b51524c4f75 (1 revision)f66276f2e
Roll Catapult from c9f4f650cdee to ac30cc4bc7d3 (48 revisions)
4.7.0
Changes (Release 4.7.0)
Summary (pypdfium2)
- Fixed
PdfPage.remove_obj()
wrongly retaining the page as parent in the finalizer hierarchy.
pypdfium2 commit log
Commits between 4.6.0
and 4.7.0
(latest commit first):
fb71777
[autorelease] update changelog and version fileef7cd16
Update tasks/planned_changesd154911
Update changelog_stagingecd8c3b
Plan an API-breaking change5f2971c
cli/toc: use ifexprc2215f1
history: slightly improve wording0571269
matrix eq: improve var name5622f77
PdfPage.remove_obj(): avoid capturing previous parent in finalizer5e8271b
Correct a readme example (CC #204)
4.6.0
Changes (Release 4.6.0)
Summary (pypdfium2)
pypdfium2 commit log
PDFium commit log
Commits between 5692
and 5705
(latest commit first):
850454b6e
Remove duplicate FXFT_Get_Glyph_Outline definitiondcfaca583
Roll build/ ff3e22160..c44ccbfc0 (116 commits)c7fe5d2ce
Avoid rendering JPX image with mismatched PDF color space entryc0a089da7
Add a pixel test for JPX images with mismatched color spaces27f3c71ff
Update pdfium_test filename generation to give helpful message5fb466ed5
Use helper functions to generating pdfium_test output filenamesb913afffd
Check resources dictionaries more closely in FPDFEditEmbedderTest0d00221f2
Roll build/ 1da99af9b..ff3e22160 (121 commits)5bb3f5614
Roll tools/clang/ 2a7073518..f68624726 (19 commits)216c392c6
Update gn_version to git_revision:41fef642de70ecdcaaa26be96d56a0398f95abd48b6873e84
Roll v8/ 8a4efd3df..f66b0bc93 (509 commits)a1e3d2bf3
Roll Fuchsia SDK from version:11.20230306.1.1 to version:12.20230330.3.1a9e33b5d2
Roll buildtools and libc++31bc914fb
Fix Fuchsia build with Skia enabledaf26f61e6
Fix a span CHECK() failure in RgbByteOrderTransferBitmap()5d9acaac1
IWYU: add stdint.h for uint32_t pdfium::annotation_flagsdabf13f6e
Roll third_party/abseil-cpp/ 28c6deaca..20c8ae002 (5 commits)ac895975f
Roll third_party/freetype/src/ d874ffa96..b0a4f9927 (44 commits)1f2240306
Roll tools/memory/ b55593f4d..13f0b81ce (1 commit)415349ec8
Roll third_party/libpng/ 20d2554f8..805df541c (1 commit)e509a6046
Roll base/allocator/partition_allocator/ 22b087c8b..118936d67 (44 commits)077aa8c26
Roll buildtools/third_party/libunwind/trunk/ 7b03cc568..f3464caa6 (8 commits)e34f0d336
Roll buildtools/third_party/libc++abi/trunk/ cff1f2def..4a9d0560b (14 commits)8856083df
Roll third_party/depot_tools/ 424814829..ab117384e (84 commits; 31 trivial rolls)8e5630ca0
Roll third_party/libjpeg_turbo/ 0b6e6a152..aa4075f11 (1 commit)ef3020027
Do copy-on-write in CPDF_PageContentManager692f0719e
Do copy-on-write in CPDF_PageContentGenerator31f23b926
Split CPDF_PageContentGenerator::UpdateContentStreams()f4b3342ca
Roll third_party/zlib/ 90e67ba3f..b890619bc (5 commits)6c3577ca2
Add RemoveTextObjectWithTwoPagesSharingResourcesDict test case02516521c
Remove a duplicate FPDFEditEmbedderTest test casec16abfd66
Roll third_party/skia/ d10098c22..ad459a5b8 (92 commits)
4.5.0
Changes (Release 4.5.0)
Summary (pypdfium2)
- In pdfium-binaries, form initialization for V8/XFA enabled builds has been fixed (see pdfium-binaries#105).
pypdfium2's support model has been updated accordingly.
pypdfium2 commit log
PDFium commit log
Commits between 5677
and 5692
(latest commit first):
97af73090
Add use_system_libtiff build option9b9bf7539
Keep track of ExtGState resources69703b37c
Keep track of Font and XObject resources28f8db4c0
Avoid generating PDFs with unreferenced objects01b85b79a
Add object tree traversal utility functions1e5dee361
Save the trailer's object number when parsing0a6944ead
Explain how CPDF_Object worksf6bac94bd
Add fallback color space check when choosing JpxDecodeAction01ea024b7
Add RemoveTextObjectWithTwoPagesSharingResources test4d48929e3
Check for removed resources in saved output in RemoveTextObject test1f4904f68
Test trailer generation in FPDFSaveEmbedderTest.SaveLinearizedDoc5018240eb
Add some using statements in fpdf_save_embeddertest.cpp06a0689d4
Encapsulate more in CPDF_PageContentManager0a1116093
Switch CPDF_PageContentManager to have a CPDF_Document pointerf3d0f929f
Add RemoveTextObjectWithTwoPagesSharingContentArrayAndResources test469cc8f79
Roll Skia and use new SkImages factory and gni files1233727e1
Devirtualize CPDF_Object::CloneDirectObject()01288cd99
Use NOTREACHED_NORETURN() in core/fpdfapi/page4e8a0feaa
Fix nits in cpdf_pagecontentmanager.h49e4f4484
Rename JpxImageInfo::components to JpxImageInfo::channels5cd3d908b
Update third_party/base/numerics
4.4.0
Changes (Release 4.4.0)
Summary (pypdfium2)
pypdfium2 commit log
Commits between 4.3.0
and 4.4.0
(latest commit first):
4018c9c
[autorelease] update changelog and version fileae7d739
bitmap: slightly improve docs4bbae67
pageobjects: remove ridiculous if expressionb5a97fc
setup/pkg_base: add dev note15c5562
bases: add task7019e67
add note on musl task0a158b5
[ws only] reformat packaging_base header6df39f1
Slightly polishsetup.py
c519024
document: add task71a0a63
Add reference bindings (closes #192) (#196)7bb3549
Transfer ownership of ctypesgen fork (closes #194)e285802
MANIFEST.in: add missing word in comment
PDFium commit log
Commits between 5664
and 5677
(latest commit first):
aae3f4452
Simplify pitch calculation in CFX_DIBitmap::CalculatePitchAndSize()a59704451
Add a pixel test for axial shading7bfe65fa5
Add RemoveTextObjectWithTwoPagesSharingContentStreamAndResources test22614014f
Clamp rectangle values in FindTextlineFlowOrientationab00c1bc9
Use SkPackARGB32NoCheck() instead of SkPackARGB32()a066864b6
Remove unnecessary Clear(0) from CPDF_RenderStatus3f80d9332
Make SkBitmap immutable before asImage()9286281aa
[Skia] Support pre-multiplied MultiplyAlpha()168d065ea
Clarify what CPDF_PageObject isef71e9ae3
Do more checks in a FPDFPage_RemoveObject() test2dee06f04
Remove a toolchain workaround in FPDF_NewFormObjectFromXObject()b4357750c
[Skia] Add methods to force pre-multiplied stated914c5fe1
Avoid overloading CPDF_StreamContentParser::AddImage()22d7c0733
Do less work in CPDF_PageContentGenerator when there are no streams15b1203da
Use NOTREACHED_NORETURN() in fpdfsdk99dbaf4f6
Implement NOTREACHED_NORETURN()d75dded3f
Sync third_party/base/immediate_crash.h with Chromium copy8bc8377e8
Add MultiplyAlpha() API to CFX_RenderDevice867f7e996
Roll Catapult from 6234cc4e018d to c9f4f650cdee (57 revisions)5e426ab5c
Roll Code Coverage from 67720beda1c7 to b0f9daa5b3f5 (3 revisions)45d010567
Add pixel test for transparency group compositing
4.3.0
Changes (Release 4.3.0)
Summary (pypdfium2)
- Fixed forms rendering in the multi-page renderer by initializing a formenv in worker jobs if the triggering document has one.
pypdfium2 commit log
Commits between 4.2.0
and 4.3.0
(latest commit first):
e99eb07
[autorelease] update changelog and version filefa29f02
further nits6ccc681
cli: style nits6df5b7c
utils.is_buffer: nits5362ef3
Update changelog styling59f7108
PdfDocument.page_as_xobject()
: clarify exception msg2979a6c
unsp: initialize var with None0167ad4
docs: order CLI modules alphabetically994e148
shell api: add attachments clia013940
Continue on 9b16f75 as planned9b16f75
Revert "Continue on 260140b / c2d4a17 (CC #191)"abed2ec
changelog: add notee39b8ba
Attempt to fix RTD build4d25bb2
Continue on 260140b / c2d4a17 (CC #191)c2d4a17
Update task260140b
Start fixing forms rendering in multipage renderer
PDFium commit log
Commits between 5648
and 5664
(latest commit first):
dcb27a396
Trim third_party/base/bits.hafdb7cbdb
Sync third_party/base/no_destructor.h with the Chromium copy54a61350f
Remove unused STL includes15ee367a7
Add a new test for rendering JPX imagesf5057c75a
Roll third_party/instrumented_libraries/ 87467200f..0f536d22d (10 commits)97f66c181
Unsuppress TimeField.pdf3f9c5f10e
Update the matching entry for formfeild.pdf in suppression listf44118bb1
Unsuppress Mac Skia tests35bf2da24
Unsuppress format_custom_format.pdf5b81b29a8
Update documentation for FPDFBitmap_GetBuffer()2821a5034
[Skia] Remove DebugVerify*IsPreMultiplied() callsde5e3799e
[AGG] Add more pixel tests for out-of-bounds coordinate lines3095afdd6
Add more helpers to deal with variable length fields in cpdf_parser.cppd3fb7d00e
Revert "Enable cppgc plugin for pdfium"9634d4940
Roll testing/corpus/ 746093a2b..62a96ab80 (1 commit)9140e3ff7
Enable cppgc plugin for pdfium02beb5f6b
Roll v8/ b1f01d3ab..8a4efd3df (590 commits)7dc8aeb39
Roll third_party/skia/ f9c77b544..0012a5e84 (163 commits)ca3a9c297
Roll third_party/abseil-cpp/ cd843b25b..28c6deaca (9 commits)14f88c511
Tidy class TreeNode.ab486ae8d
Use CRTP idiom to avoid cppgc plugin warnings in TreeNode.d32298341
Add tests for optional /JPXDecode parametersd611f5db9
Add basic /JPXDecode test casesa4669f7b8
Add OWNERS file for skia subdirectory7f2d281eb
Roll skia and change SK_SUPPORT_GPU -> SK_GANESH