unidoc/unipdf
 Watch   
 Star   
 Fork   
22 days ago
unipdf

v5.2.0

Release notes - UniPDF v5.2.0

This release contains new features, improvements and bug fixes.

New Features

  • 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.NewFunctionBasedGradient for authoring function-based gradients
  • US-1564 US-1565 PdfFunctionType3.Evaluate for 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 ExtGState soft masks, fixing axial ICCBased Multiply shadings rendering too dark, with model.NewPdfFunctionFromPdfObject now exported
  • US-1907 US-1908 Reading documents encrypted with the public-key security handler (Adobe.PubSec) via ReaderOpts.Certificate/PrivateKey, PdfReader.DecryptWithCertificate and PdfReader.CheckAccessRightsWithCertificate
  • US-1909 US-1910 Encrypting documents for recipient certificates via PdfWriter.EncryptForRecipients
  • US-1769 Template engine: creator.ParseTemplate returning a reusable ParsedTemplate, rendered or validated with Creator.RenderTemplate/ValidateTemplate, plus named styles (<style> and the class attribute) and typography inheritance
  • US-1772 Block.SetBackground and Chapter.SetBackground, and page breaks inside a Division, also available in templates
  • US-1779 SignatureValidationResult.Certificates and SignatureValidationResult.SignerCertificate for accessing certificate details
  • US-1814 FDF export of form field data from a PDF with fdf.NewFromReader, fdf.NewFromForm and Data.Write/WriteToFile, plus PdfAcroForm.AllFieldValues
  • US-1722 Form-field appearance generation for push buttons and signature fields with explicit clipping, and PdfAppender.SignWithAppearance

Improvements

  • US-1613 The sh operator shading fill now covers the clip region and honours axial/radial Extend
  • 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/pkcs7 to v0.4.1, hardening BER-to-DER conversion against malformed and truncated input
  • US-1945 Upgraded golang.org/x/image, x/text, x/crypto and x/net to fix reachable advisories

Bug Fixes

  • US-1774 Fixed GetPreviousRevision and DocMDP revision sectioning disagreeing with RevisionEndOffsets
  • US-1775 Fixed the redactor refusing page-specific edits for forms nested inside other forms
  • US-1777 Fixed redaction Tj offsets under anisotropic scaling, now computed from text-space glyph advances, with TextMark.Tfs added for the Tf font size
  • US-1778 Fixed the auto-repair xref health check running before authentication on encrypted files; PdfWriter now encrypts object streams
  • US-1780 Fixed lazy stream encryption and reuse, Image.Crop alpha loss and Decode rescaling
  • US-1795 Fixed a panic when loading a nested trailer with a non-integer /Prev
  • US-1803 Fixed the ExtractPageText regression 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-cell or list-item silently keeping only the last one
  • US-1811 Fixed the user password never authenticating when EncryptOptions.Permissions is zero, and added security.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 IsVerified for untrusted certificates (GHSA-h4pv-x6fp-rh2w): certificate trust and revocation are now checked with PdfReader.ValidateSignaturesWithOpts and reported through IsTrusted, TrustChain, TrustErrors and RevocationStatus
  • 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.MaxDecodedTotalSize and core.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 Grid cells, List items and Divisions 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 ResolveReferencesDeep overflowing the stack in NewPdfReader on deeply nested PDFs
  • US-1953 Fixed PubSec decryption revealing whether a recipient's RSA PKCS#1 v1.5 padding was valid (Bleichenbacher oracle)
2026-09-11 00:10:09
unipdf

v5.1.0

Release notes - UniPDF v5.1.0

This release contains new features, improvements and bug fixes.

New Features

  • US-1728 creator.SetDefaultFont for overriding the default fonts
  • US-1738 creator.Image masks: soft, stencil and color-key masking, with alpha optimization
  • US-1753 Signature coverage reporting on SignatureValidationResult
  • US-1753 PdfParser.RevisionEndOffsets and PdfParser.Size for locating document revision boundaries
  • US-1767 US-1768 Template engine strict mode via TemplateOptions.Strict
  • US-1721 PageText.FormContents for extracting text found inside Form XObjects
  • US-1603 PdfFont.ShapeText and the textencoding.ShapedGlyphRegistry interface
  • US-1703 veraPDF PDF/A corpus parity test and an opt-in Isartor corpus test

Improvements

  • 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, Div and Part wrappers
  • US-1687 PDF/UA font checks extended to annotation appearances, Type3 CharProcs and 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

Bug Fixes

  • 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 /Metadata stream
  • 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 /JBIG2Globals streams 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.Replace truncating 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
2026-07-31 21:12:34
unipdf

v5.0.0

Release notes - UniPDF v5.0.0

This release contains new features, improvements and bug fixes.

New Features

  • US-648 PDF linearization (Fast Web View) support: linearized writer, hint stream generation and optimize.Linearize convenience 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 pdfua package
  • 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 pdfuaid XMP namespace support, including part/rev and amd/corr identifiers
  • 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() and Equals() methods for the PdfObject interface
  • US-1556 Opt-in writer SkipObjectCopy fast path that skips the defensive deep copy of the source object graph

Improvements

  • US-1507 Refactored the parser/reader I/O layer from io.ReadSeeker to io.ReaderAt, enabling safer concurrent reads
  • US-1536 Typed PdfColor interface 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, Grid and Table
  • 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-xmp library with a maintained fork
  • US-1571 Replaced the archived gorilla/i18n dependency with the internal linebreak package
  • US-1637 US-1672 Aligned the PDF/UA verifier with veraPDF and added a veraPDF validation test corpus

Bug Fixes

  • 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

Deprecations and Removals

  • US-1538 Removed the deprecated creator.Paragraph component and Creator.NewParagraph; use StyledParagraph instead
  • US-1535 Removed obsolete deprecated functions, including:
    • ContentStreamParser.ExtractText and PageText.ToText — use the extractor package APIs instead
    • NewCompositePdfFontFromTTFFile/FromTTF/FromOTFFile/FromOTF — use the unified font loading APIs instead
    • PdfFont.CharcodesToUnicodeWithStats
  • US-1536 PdfColor is now a typed interface — code relying on the previous interface{}-based signatures may need updates
2026-07-03 18:26:26
unipdf

v4.11.0

Release notes - UniPDF v4.11.0

This release contains improvements and bug fixes

Improvements

Bug Fixes

  • US-1629 GenerateAppearanceDict not 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
2026-05-27 18:18:31
unipdf

v4.10.0

Release notes - UniPDF v4.10.0

This release contains new features, improvements, and bug fixes

New Features

  • 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

Improvements

  • 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

Performances

  • 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

Bug Fixes

  • 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
2026-04-10 02:00:14
unipdf

v4.9.0

Release notes - UniPDF v4.9.0

This release contains new features, improvements, and bug fixes

New Features

  • US-1360 Merge PDFs using PDF Streams
  • US-1370 Font subsetting support for OTF fonts
  • US-1364 ReaderOpts add ParserAutoRepair option to enable auto-repair of malformed PDFs during parsing

Improvements

  • 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 core test coverage to 75%
  • US-1378 contentstream test coverage to 78%
  • US-1379 model test coverage to 60%
  • US-1380 render test coverage to 65%
  • US-1381 pdfutil test coverage to 58%
  • US-1381 model/optimize test coverage to 65%
  • US-1385 Pool flate.Reader Instances via sync.Pool

Bug Fixes

  • 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
2026-03-10 22:36:59
unipdf

v4.8.0

Release notes - UniPDF v4.8.0

This release contains improvement, security patch and bug fixes

Improvement

  • US-1325 Supported minimum Go version update to Go 1.24

Security Patch

  • US-1333 [CVE-2023-36308] indirect use of github.com/disintegration/imaging: crafted TIFF image can cause panic

Bug Fixes

  • US-1349 extractor text 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
2026-02-11 20:04:18
unipdf

v4.7.0

Release notes - UniPDF v4.7.0

This release contains new features, improvements, and bug fixes.

New Features

  • US-1284 StyledParagraph Drop Caps support
  • US-311 extractor add disable de-hyphenation option

Improvements

  • US-376 render multiply blend mode transparency processing
  • US-1204 Parser handle missing endobj on PdfIndirectObject gracefully

Bug Fixes

  • US-1282 typesetting version causing breaking changes on update fix
  • US-144 Hyphenated word that spans two lines fails to extract properly fix
2025-12-23 19:29:37
unipdf

v4.6.0

Release notes - UniDoc Sprints - UniPDF v4.6.0

This release contains new features, improvements and bug fixes.

New Features

  • 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

Improvements

  • US-202 Text encoding glyph substitution support runes into charcode
  • US-1236 Document level font caching during PDF to image conversion
  • US-1254 Optimized floating point precision operations in render PDF to image

Bug Fixes

  • US-1251 Table rows missing and being duplicated fix
  • US-1241 Table repeated header sometimes not appearing on new page fix
2025-11-18 02:28:14
unipdf

v4.5.0

Release notes - UniPDF v4.5.0

This release contains new features, improvements and bug fix.

New Features

  • 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)

Improvements

  • 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

Bug Fix

  • US-1214 High memory usage when rendering PDF with large font size to image fix