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.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
Improvements
- 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
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.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