Version 1.22 RC (August 9, 2022)
Applications
- added HTML and JSON report formats in the CLI app
- fixed CLI scripts for Windows to support arbitrary characters in the veraPDF installation folder
- fixed file drag&drop functionality for the GUI app on macOS
- force MRR report format if policy checks are enabled
- added support for user-specific config directory
- added option to include all warnings into the validation report (both GUI and CLI)
- added verbosity level to CLI app to control the level of visible warnings
- exit after displaying a help message if CLI is invoked without parameters
- fixed check for veraPDF updates from the GUI app
PDF Model
- added support for evaluating PDF functions
- added support for PDF 2.0 namespace mechanism
- added support for standard structure types in PDF 2.0 namespace
PDF Parser
- improved CFF font parsing: trim the CharSet range by the number of glyphs specified in the other font data
- implemented greenfield parser for PKCS #7 files
- added support for custom font matrices in CFF fonts
- implemented more tolerant Flate decode with broken checksum
- added warning for UTF16-LE encoded text string
Validation
- (PDF/UA-1) added a new rule that the Form structure element without a Role attribute shall have only one child: an object
reference identifying the widget (ISO 32000-1, Table 348) - (PDF/A-4) updated supplement numbers for predefined character collections and CMaps
- (PDF/A-2,3,4) added a check if a character in a symbolic TrueType font cannot be mapped to a font glyph via the specified algorithms
- (PDF/A-2,3,4) do not require the presence of a CIDtoGID map for CIDType2 fonts without an embedded font program, which are used solely in rendering mode 3
- revised error messages with additional context parameters
Corpus
- automated regression tests
Core library
- added support for Java 17
- added support for Java Platform Module System (JPMS)
CAUTION: the JPMS support required moving several classes into different packages:
org.verapdf.pdfa.PdfBoxFoundry
->org.verapdf.pdfbox.foundry.PdfBoxFoundry
org.verapdf.pdfa.PdfBoxFoundryProvider
->org.verapdf.pdfbox.foundry.PdfBoxFoundryProvider
org.verapdf.pdfa.VeraFoundry
->org.verapdf.gf.foundry.VeraFoundry
org.verapdf.pdfa.VeraGreenfieldFoundryProvider
->org.verapdf.gf.foundry/VeraGreenfieldFoundryProvider
These changes need to be applied to any Java source code that integrates veraPDF API as a Java library.