v5.2.0
This release contains new features, improvements and bug fixes.
- US-1563 US-1566 US-1567 US-1568 Complete shading rendering support: function-based (Type 1), Gouraud triangle mesh (Types 4 and 5) and Coons / tensor-product patch mesh (Types 6 and 7) shadings, plus
Creator.NewFunctionBasedGradientfor authoring function-based gradients - US-1564 US-1565
PdfFunctionType3.Evaluatefor stitching functions and a generic shading color sampler for all function types and colorspaces - US-1569 Rendering of Type 1 tiling patterns
- US-1614 Rendering of the separable blend modes and non-isolated transparency group compositing
- US-1773 Rendering of
ExtGStatesoft masks, fixing axial ICCBased Multiply shadings rendering too dark, withmodel.NewPdfFunctionFromPdfObjectnow exported - US-1907 US-1908 Reading documents encrypted with the public-key security handler (
Adobe.PubSec) viaReaderOpts.Certificate/PrivateKey,PdfReader.DecryptWithCertificateandPdfReader.CheckAccessRightsWithCertificate - US-1909 US-1910 Encrypting documents for recipient certificates via
PdfWriter.EncryptForRecipients - US-1769 Template engine:
creator.ParseTemplatereturning a reusableParsedTemplate, rendered or validated withCreator.RenderTemplate/ValidateTemplate, plus named styles (<style>and theclassattribute) and typography inheritance - US-1772
Block.SetBackgroundandChapter.SetBackground, and page breaks inside aDivision, also available in templates - US-1779
SignatureValidationResult.CertificatesandSignatureValidationResult.SignerCertificatefor accessing certificate details - US-1814 FDF export of form field data from a PDF with
fdf.NewFromReader,fdf.NewFromFormandData.Write/WriteToFile, plusPdfAcroForm.AllFieldValues - US-1722 Form-field appearance generation for push buttons and signature fields with explicit clipping, and
PdfAppender.SignWithAppearance
- US-1613 The
shoperator shading fill now covers the clip region and honours axial/radialExtend - US-1717 The renderer honour the transparency group colorspace, isolation and knockout, so groups with a DeviceCMYK group colorspace no longer render nothing
- US-1718 Replaced the Multiply blend mode alpha hack with real per-primitive compositing, adding the non-separable blend modes (Hue, Saturation, Color, Luminosity)
- US-1807 Template strict mode reports a missing data key by name
- US-1929 Upgraded
github.com/unidoc/pkcs7to v0.4.1, hardening BER-to-DER conversion against malformed and truncated input - US-1945 Upgraded
golang.org/x/image,x/text,x/cryptoandx/netto fix reachable advisories
- US-1774 Fixed
GetPreviousRevisionand DocMDP revision sectioning disagreeing withRevisionEndOffsets - US-1775 Fixed the redactor refusing page-specific edits for forms nested inside other forms
- US-1777 Fixed redaction
Tjoffsets under anisotropic scaling, now computed from text-space glyph advances, withTextMark.Tfsadded for theTffont size - US-1778 Fixed the auto-repair xref health check running before authentication on encrypted files;
PdfWriternow encrypts object streams - US-1780 Fixed lazy stream encryption and reuse,
Image.Cropalpha loss andDecoderescaling - US-1795 Fixed a panic when loading a nested trailer with a non-integer
/Prev - US-1803 Fixed the
ExtractPageTextregression in v5.1.0 where form XObject text ignored the caller's color state - US-1805 Fixed template text on a component that cannot take text being silently dropped
- US-1806 Fixed multiple children in a template
table-cellorlist-itemsilently keeping only the last one - US-1811 Fixed the user password never authenticating when
EncryptOptions.Permissionsis zero, and addedsecurity.Permissions.Normalized - US-1815 Fixed AES-256 (R6) passwords not being SASLprep-normalised before hashing
- US-1827 Fixed template strict mode missing malformed gradients and a lone
header-start-row, and a panic on a nil template reader - US-1833 Fixed a fatal stack overflow when rendering a self-referential form XObject
- US-1837 Fixed table cell content overflow, so nested tables in table cells split across page breaks
- US-1840 Fixed image extraction and grayscale conversion crashing on a self-referential form XObject
- US-1843 Fixed signature validation reporting
IsVerifiedfor untrusted certificates (GHSA-h4pv-x6fp-rh2w): certificate trust and revocation are now checked withPdfReader.ValidateSignaturesWithOptsand reported throughIsTrusted,TrustChain,TrustErrorsandRevocationStatus - US-1844 Fixed stream decoding materializing unbounded decoded output (GHSA-2x38-rm6v-5hcj): decoding is now limited to 256 MiB per stream by default, configurable via
ReaderOpts.MaxDecodedStreamSize,ReaderOpts.MaxDecodedTotalSizeandcore.SetDefaultMaxDecodedStreamSize - US-1855 Fixed the R5/R6 empty-user-password fallback deriving the file key from the wrong password
- US-1860 Fixed a partial CRL revocation bypass in signature validation, with further trust and revocation fixes
- US-1862 Fixed nested tables in
Gridcells,Listitems andDivisions dropping content or hanging at page breaks - US-1885 Fixed AES-256 encryption with an empty owner password producing a file that opens without a password
- US-1938 Fixed
ResolveReferencesDeepoverflowing the stack inNewPdfReaderon deeply nested PDFs - US-1953 Fixed PubSec decryption revealing whether a recipient's RSA PKCS#1 v1.5 padding was valid (Bleichenbacher oracle)
v5.1.0
This release contains new features, improvements and bug fixes.
- US-1728
creator.SetDefaultFontfor overriding the default fonts - US-1738
creator.Imagemasks: soft, stencil and color-key masking, with alpha optimization - US-1753 Signature coverage reporting on
SignatureValidationResult - US-1753
PdfParser.RevisionEndOffsetsandPdfParser.Sizefor locating document revision boundaries - US-1767 US-1768 Template engine strict mode via
TemplateOptions.Strict - US-1721
PageText.FormContentsfor extracting text found inside Form XObjects - US-1603
PdfFont.ShapeTextand thetextencoding.ShapedGlyphRegistryinterface - US-1703 veraPDF PDF/A corpus parity test and an opt-in Isartor corpus test
- US-1720 US-1733 Extended sanitizer coverage to embedded files, form-data actions and multimedia actions
- US-1683 Faster PDF/UA validation by parsing each page's content stream once per validation
- US-1680 Owner-aware layout attributes and ClassMap attribute resolution in the PDF/UA verifier
- US-1681 PDF/UA structure walks now look through
NonStruct,DivandPartwrappers - US-1687 PDF/UA font checks extended to annotation appearances, Type3
CharProcsand tiling patterns - US-1661 Consolidated the render alpha buffer pool onto
core.AcquireBytes/ReleaseBytes - US-1732 Updated the minimum supported Go version to 1.25.0
- US-1682 More stable golden-file comparison in the end-to-end test harness
- US-1666 Removed remaining PDF/UA verifier false positives for table regularity and XFA forms
- US-1667 Fixed PDF/UA verifier rules that misfire or under-report against veraPDF
- US-1682 Fixed the XMP rule cascade reported when the catalog has no
/Metadatastream - US-1703 Fixed XMP verifier gaps in packet encoding, schema matching and property value types
- US-1684 Fixed PDF/A font embedding for TrueType Collection substitutes and standard-14 base names
- US-1603 Fixed ligatures and contextual forms being dropped by font subsetting
- US-1727 Fixed font attributes with whitespace failing to resolve from the
FontMap - US-1767 Template data is now escaped on interpolation, with further template processor fixes
- US-1730 Fixed Flate-compressed
/JBIG2Globalsstreams failing to parse - US-1726 Fixed the xref repair regression for tables whose subsection numbering is shifted
- US-1721 Fixed the redactor silently skipping matches inside Form XObjects
- US-1751 Fixed
Editor.Replacetruncating replacement text longer than the match - US-1752 Fixed objects cached during the auto-repair xref health check never being decrypted
- US-1758 Fixed an undefined type assertion on composite fonts in obfuscated builds
v5.0.0
This release contains new features, improvements and bug fixes.
- US-648 PDF linearization (Fast Web View) support: linearized writer, hint stream generation and
optimize.Linearizeconvenience API - US-1520 Linearization validator to verify Fast Web View compliance of PDF files
- US-1607 PDF/UA-1 (ISO 14289-1) validation and automatic compliance fixes via the new
pdfuapackage - US-1609 PDF/UA-2 (ISO 14289-2) validation and apply profile
- US-1610 PDF/UA-2 namespace-aware automatic tagging in the creator
- US-1606 PDF 2.0 structure namespaces support in the model
- US-1605 US-1618
pdfuaidXMP namespace support, includingpart/revandamd/corridentifiers - US-1549 ICC colorspace support
- US-1447 ICC color profile preservation when embedding images
- US-1504 Transparency groups with Multiply blend mode support
- US-1548 Color gradient support for
StyledParagraph - US-1629 List-box (choice field) appearance generation in the annotator
- US-1539
Direct()andEquals()methods for thePdfObjectinterface - US-1556 Opt-in writer
SkipObjectCopyfast path that skips the defensive deep copy of the source object graph
- US-1507 Refactored the parser/reader I/O layer from
io.ReadSeekertoio.ReaderAt, enabling safer concurrent reads - US-1536 Typed
PdfColorinterface instead of the empty interface - US-1541 Charcode/GID/rune separation in font handling for more correct text encoding
- US-1537 Exposed content types and fields for
StyledParagraph,GridandTable - US-1598 Faster text rendering with a glyph cache and blit fast path
- US-1597 Reduced render allocations with buffer pools and font-face caching
- US-1601 Bold/italic style matching when falling back to system fonts
- US-1611 Improved handling of long table cell content, including splitting of oversized row-spanning cells
- US-1561 Improved radial shading fill by omitting the bounding box that clipped the fill to the disc
- US-1631 All PDF date fields after the 4-digit year are now optional in
ParsePdfTime - US-1604 Replaced the unmaintained
go-xmplibrary with a maintained fork - US-1571 Replaced the archived
gorilla/i18ndependency with the internallinebreakpackage - US-1637 US-1672 Aligned the PDF/UA verifier with veraPDF and added a veraPDF validation test corpus
- US-1660 Fixed wrong font selection when two font dictionaries share the same
BaseFont - US-1676 Fixed form-field widget flattening when a page has no filtered annotations
- US-1670 Fixed creator table layout fidelity for row-spanning cells
- US-1546 Fixed multi-column row-spanning cells that cross page boundaries
- US-1612 Fixed blank/garbled rendering for CIDFontType2 fonts with a non-identity
CIDToGIDMap - US-1627 Fixed tagged-content ParentTree reachability in the structure tree
- US-1560 Neutralized stale linearization dictionaries when signing incrementally
- US-1538 Removed the deprecated
creator.Paragraphcomponent andCreator.NewParagraph; useStyledParagraphinstead - US-1535 Removed obsolete deprecated functions, including:
ContentStreamParser.ExtractTextandPageText.ToText— use theextractorpackage APIs insteadNewCompositePdfFontFromTTFFile/FromTTF/FromOTFFile/FromOTF— use the unified font loading APIs insteadPdfFont.CharcodesToUnicodeWithStats
- US-1536
PdfColoris now a typed interface — code relying on the previousinterface{}-based signatures may need updates
v4.11.0
This release contains improvements and bug fixes
- US-1571 Replaced archived https://github.com/gorilla/i18n dependency with maintained fork
- US-1629
GenerateAppearanceDictnot generating appearances for list-box (non-combo) choice fields fix - US-1631 NewPdfDate rejecting spec-valid dates that omit optional fields after the year (e.g. D:20260619, D:2026) fix
- US-1504 transparency groups and ExtGState blend modes not being honored when rendering PDF to image, causing overlays to drop out fix
- US-1546 MultiCell with rowspan > 1 causes broken cross-page rendering fix
- US-1611 Hang when table cells contain long content without row wrapping enabled fix
- US-1612 Renderer producing garbled or blank output for some embedded fonts fix
v4.10.0
This release contains new features, improvements, and bug fixes
- US-1358 High level function for
PdfField.GetProperties()to get the form field properties - US-1423 Capability to access Chapter info from header/footer generator
- US-1438 Text extraction grid mode
- US-1468 Add line height as a property of
TextChunk - US-1416 Make PDF font subset prefix deterministic to ensure reproducible output
- US-1398 Improve benchmark CI to auto-trigger in a release PR
- US-1384 PERF-02: Upgrade PdfObjectDictionary to sync.RWMutex
- US-1405 PERF-04: Use existing buffer pool in parser hot paths
- US-1406 PERF-05: Pool image decode buffers in encoders
- US-1409 PERF-08: Fix O(n²) removeWord in text extractor
- US-1433 PERF-12: Persist font cache across pages in renderer
- US-1463 PERF-15: Eliminate copyObjects() in PdfWriter
- US-1464 PERF-16: Optimize PdfAppender change detection
- US-1465 PERF-17: Streaming filter pipeline in core/encoding.go
- US-1466 PERF-18: Deduplicate streams during merge
- US-1436 PERF-20: Replace pixel loop in Image.Crop() with draw.Draw
- US-1383 PERF-01: PdfObjectDictionary.Remove() Race Condition fix
- US-1395 Fix and extend PDF object comparison methods
- US-1419 Benchmark CI ran every time the PR has new comment fix
- US-1420 Logging could causes huge memory usages fix
- US-1446 Renderer panics with index out of range on a PDF with a subsetted embedded font fix
- US-1453 Undetected regression in text shaping result fix
- US-1484 US-1444 mis-renders embedded TrueType subset fonts whose only cmap subtable is on Unicode platform 0 (PID=0) fix
v4.9.0
This release contains new features, improvements, and bug fixes
- US-1360 Merge PDFs using PDF Streams
- US-1370 Font subsetting support for OTF fonts
- US-1364
ReaderOptsaddParserAutoRepairoption to enable auto-repair of malformed PDFs during parsing
- US-200 Font file support for GSUB parsing into font parsing (ttfparser.go)
- US-1253 Merge TTF and OTF font processing as one
- US-1357 Update unidoc/typesetting version
- US-1365 Timestamp server test mockup
- US-1372
coretest coverage to 75% - US-1378
contentstreamtest coverage to 78% - US-1379
modeltest coverage to 60% - US-1380
rendertest coverage to 65% - US-1381
pdfutiltest coverage to 58% - US-1381
model/optimizetest coverage to 65% - US-1385 Pool
flate.ReaderInstances via sync.Pool
- US-1371 Extract text issue with ActualText replacement in TJ arrays fix
- US-1356 Data race in JBIG2 decoder causes OOM crash under concurrent PdfReaderLazy usage fix
- US-1252 Some text space is missing when rendering Arabic and Latin using OTF text shaping fix
- US-1387 Generated file 2_p_multi.pdf has error: The font 'FreeSans' contains bad /Widths in Adobe Reader fix
v4.8.0
This release contains improvement, security patch and bug fixes
- US-1325 Supported minimum Go version update to Go 1.24
- US-1333 [CVE-2023-36308] indirect use of
github.com/disintegration/imaging: crafted TIFF image can cause panic
- US-1349
extractortext matrix position miscalculation on text extraction due not synced parent CTM fix. - US-1350 PdfReader.GetPreviousRevision() panic fix
- US-1312 Splitting division to several pages hangs fix
- US-1321 OCR service integration retry request clone body payload fix
- US-1319 Test cases document signing with timestamping authority (TSA) fix
- US-1316 Github actions CI on lint fail fix
v4.6.0
This release contains new features, improvements and bug fixes.
- US-1244 Custom image interpolator setting in render PDF to image
- US-1232 Digital signature PAdES-LT support external signing
- US-1149 Tagging for `Chapter` component
- US-1150 Tagging for `Division` component
v4.5.0
This release contains new features, improvements and bug fix.
- US-1151 Add API integration with Tesseract OCR
- US-1197 Add support for rendering text using OTF font
- US-1178 Add PDF/A validation scripts for PDF/A-4 and it’s variants (PDF/A-4e and PDF/A-4f)
- US-1173 Add `PieceInfo` in Document catalog
- US-201 Support unicode segmentations before encoding the rune into charcodes
- US-1208 PDF/A-4 add testdata for 4F and 4E profiles into unipdf-testdata
- US-1209 PDF/A-4 add pdfaid rev support in PDF metadata
- US-1214 High memory usage when rendering PDF with large font size to image fix