unidoc/unipdf
 Watch   
 Star   
 Fork   
14 days ago
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
2025-10-09 19:06:02
unipdf

v4.4.0

Release notes - UniPDF v4.4.0

This release contains new features and improvements.

New Features

  • US-1112 Add automatic document tagging in creator package
  • US-1136 Add utilities functions PrintPdfObjects, ExtractPageRange, and MergePdf
  • US-1148 Add function to remove attributes in PAdESLevelT signature handler
  • US-1135 Add function for custom http.Client in NewEtsiPAdESLevelLT

Improvements

  • US-1164 Redaction package improvements: added standard patterns for SSN, email, phone number, and credit card
2025-09-02 21:18:24
unipdf

v4.3.0

Release notes - UniPDF v4.3.0

This release contains new features, improvements and bug fixes.

New Features

  • US-694 Tagging PDF contents
  • US-697 Tagging a list elements
  • US-1077 Tagging widget annotations
  • US-1078 Tagging Grid component
  • US-1069 Add support for RSASSA-PSS in pkcs7 and signature validation
  • US-1098 GridRow: add new function GetHeight()

Improvements

  • US-1121 Supported go version for unipdf (1.23.0, 1.24.0 and 1.25.0)
  • US-1005 Optimise memory usage in creator.AddPage for large or complex pages
  • US-1079 Implements PdfAnnotations deep copy method
  • US-1080 Investigates font encoding issue found during form flattening process
  • US-1097 ECDSA key support for PAdES
  • US-1101 Update golangci-lint version

Bug Fixes

  • US-1051 Second signature is overwritten or removed fix
  • US-1100 Resolves vulnerability issue found in golang.org/x/net v0.35.0 fix