LumasPDF 4.2.3
Build date
2026-09-10
LPDF_BUILD_UNIX 1788998400
Published
2026-09-10 08:20:58.233
from ship/4.2.3/SHIP_REPORT.md
Packages
17
0 blocked by the ship report
Each build records the date it was cut. That date, and never today's date, is what a licence's upgrade window is compared against.
Downloads by package
One package per product slice. The SHA-256 below is of the exact file the build produced — check it after downloading.
| Package | Licensed platforms | Bytes | SHA-256 | Status |
|---|---|---|---|---|
windows-cpp.zip |
win-x86, win-x64 | 19,606,599 | Available | |
windows-arm64.zip |
win-arm64 | 12,345,379 | Available | |
windows-activex.zip |
win-x86, win-x64 | 20,434,070 | Available | |
windows-dotnet.zip |
win-x86, win-x64 | 19,926,619 | Available | |
nuget.zip |
win-x86, win-x64, win-arm64, linux-x64, linux-arm64, macos | 77,203,243 | Available | |
linux-x86-x64.zip |
linux-x86, linux-x64 | 23,493,352 | Available | |
linux-arm.zip |
linux-arm32, linux-arm64 | 22,229,804 | Available | |
macos.zip |
macos | 21,375,665 | Available | |
ios.zip |
ios | 30,115,324 | Available | |
android.zip |
android | 116,382,047 | Available | |
php.zip |
win-x64, linux-x86, linux-x64, linux-arm32, linux-arm64, macos | 60,910,645 | Available | |
python.zip |
win-x86, win-x64, linux-x64, macos | 43,652,785 | Available | |
pascal.zip |
win-x86, win-x64 | 21,227,522 | Available | |
aspnet.zip |
win-x86, win-x64, win-arm64, linux-x64, linux-arm64, macos | 74,019,646 | Available | |
flutter.zip |
win-x64, linux-x64, macos, ios, android | 174,374,145 | Available | |
javascript.zip |
win-x64, linux-x64, macos | 35,587,602 | Available | |
typescript.zip |
win-x64, linux-x64, macos | 35,520,721 | Available |
Downloading a package needs a licence that covers it. Entitlement-gated delivery is development step 12 and is not built yet, so there is no link here — only the hash and the size, which are what you would check against.
Changelog
Breaking changes
- One legacy alias export removed — the engine exported a second name for pdfGetLumasPDFVersion that dated from the API's origins. The alias is gone from the DLL, the headers and every binding; call pdfGetLumasPDFVersion (or GetLumasPDFVersion in the object-oriented units). The export count drops from 1656 to 1655. No other signature changed.
Bug fixes
- PDF/A: the XMP packet now mirrors the document title — when a document carried an Info /Title, the XMP packet written for PDF/A output had no dc:title, so validators failed the file on ISO 19005-1 rule 6.7.3-2. The title is now written to dc:title (x-default) for every standards packet: PDF/A, PDF/X, PDF/VT, PDF/UA and ZUGFeRD/Factur-X. Found with veraPDF on a signed PDF/A-1b file produced by the Python example.
- PDF/A-1: embedded CID font subsets now carry a /CIDSet stream — every Type0 font the engine embeds (Identity-H/V and predefined-CMap fonts, on both the Windows and the portable engine) wrote a subset without the /CIDSet stream that ISO 19005-1 rule 6.3.5-3 requires in the font descriptor, so a PDF/A-1b file with any embedded TrueType text failed validation. The shipped signed_pdfa example was affected. The stream is now written with one bit per CID used by the subset; PDF/A-2 and later, which do not require it, are unaffected.
- signed_pdfa example: signature field appearance — the Python port of the example created the signature field without an appearance stream, which PDF/A rule 6.9-2 rejects. The example now calls CreateSigFieldAP before closing the page, matching the other language ports.
Migration notes
- Re-validate archival output after upgrading — if you produce PDF/A-1b files, the two fixes above change the bytes the engine writes for fonts and metadata. Files written by 4.2.2 remain readable; only newly written files gain the /CIDSet stream and the dc:title entry. Run your own validator on one document from each pipeline before relying on the change.