Skip to content

validate v4.2.0

Latest

Choose a tag to compare

@pdsen-ci pdsen-ci released this 15 Jun 22:35
· 3 commits to main since this release

validate 4.2.0 Release Notes

Released: 2026-06-15

Highlights

  • Validation of large bundles (23,000+ products) no longer runs out of memory (#1594)
  • Significant performance improvements: schematron template caching, label identifier caching, and faster table I/O reduce validation time for large datasets (#1572, #1607, NASA-PDS/pds4-jparser#199)
  • Missing bundle/collection members now correctly reported as errors (previously warnings) (#1608)
  • Security: CVE-2025-46392 remediated via Apache Commons Configuration 2.x upgrade (#1591)
  • Reserved filename misuse (PDS4 SR 6C.1.3) now detected and reported for label files (#1579)
  • pds4-jparser v3.2.1 integrated: fixes table read performance and BigInteger type mismatch in image exporters (NASA-PDS/pds4-jparser#199, NASA-PDS/pds4-jparser#194)

New

  • Adds MSSS ODR and Nikon NEF encoding types for Product_Native labels (#1544)
  • Adds validation of reserved filename patterns per PDS4 SR 6C.1.3 (collection_*, bundle_* restricted to label files) (#1579)

Improvements

  • Performance: Schematron Templates objects now cached per schema URI, eliminating redundant XSLT compilation across repeated validations (#1572)
  • Performance: Label identifier data cached to eliminate redundant XML re-parsing during the referential integrity phase (#1607)
  • Performance (pds4-jparser): RawTableReader.readNextLine() now uses buffered bulk reads instead of byte-at-a-time reads, dramatically reducing I/O overhead for large tables (NASA-PDS/pds4-jparser#199)
  • Performance: Inline regex patterns in FieldValueValidator pre-compiled as static constants (#1600)
  • warning.integrity.member_not_found promoted to an error by default; use --skip-strict-collection-membership to downgrade back to warning if needed (e.g. for accumulating bundles) (#1608, closes #1601)
  • Referential integrity checks for Internal_Reference now applied consistently in all label locations, not just top-level references (#1547, closes #1481)

Fixes

  • Critical: OutOfMemoryError no longer occurs when validating large bundles with 23,000+ products (#1594, closes #1571)
  • Products that pass all validation checks are now correctly counted, preventing false no_products_found errors (#1558, closes #1557)
  • Non-existent target paths now correctly reported as errors instead of silently passing (#1556, closes #1548)
  • Misleading "XML could not be parsed." message no longer shown for directory targets (#1533, closes #1510)
  • NaN no longer incorrectly rejected as an invalid value for ASCII_String table fields (#1532, closes #956)
  • error.directory.unallowed_name now raised correctly on Windows for absolute directory_path_name values (#1540, closes #1539)
  • Report pass/fail counts for general and execution categories now accurate (#1538, closes #1458)
  • (pds4-jparser) BigInteger/int type mismatch in image exporters fixed after Information Model 1M00 upgrade (NASA-PDS/pds4-jparser#194)

Security

Compatibility

  • Requires: Java 17+
  • Integrated: pds4-jparser v3.2.1 (upgraded from v3.1.0)

Links