Skip to content

v10.0.0

Choose a tag to compare

@ItMeDiaTech ItMeDiaTech released this 20 Feb 07:57
· 51 commits to main since this release

What's New in 10.0.0

Image Optimization

  • optimizeImages() — lossless PNG re-compression at zlib level 9 with metadata stripping, and BMP-to-PNG conversion (typically 10-50x size reduction). Zero external dependencies.

Document Sanitization: clearDirectSpacingForStyles()

  • Removes direct w:spacing overrides from paragraphs whose style already defines spacing, so style-based spacing takes effect. Protects w:pPrChange and w:rPr blocks.

Run Property Change Tracking API

  • getPropertyChangeRevision(), setPropertyChangeRevision(), clearPropertyChangeRevision(), hasPropertyChangeRevision() — direct access to w:rPrChange on runs
  • Automatic rPrChange creation when run formatting changes with tracking enabled
  • Merge support for existing property changes

Run Formatting Cleanup

  • clearMatchingFormatting(styleFormatting) — removes direct formatting that matches a style definition, enabling style inheritance

Paragraph

  • clearSpacing() — removes direct spacing so the paragraph inherits from its style

Normal/NormalWeb Style Linking

  • applyStyles() now links Normal and NormalWeb styles by default (linkNormalWebToNormal: true)
  • Preservation flags: preserveWhiteFont, preserveBold, preserveCenterAlignment

Other Improvements

  • ImageManager.updateEntryFilename() for format conversion workflows
  • NumberingManager.markAbstractNumberingModified() for direct level modifications
  • TrackingContext.createInsertion()/createDeletion() factory methods (eliminates circular dependencies)
  • Save state rollback now restores post-processing flags on failure
  • centerLargeImages() clears direct indentation before centering
  • applyStyles() caps ListParagraph hanging indent to left indent

Statistics

  • 128 test suites, 2,819 tests passing
  • 121 source files
  • 3 new test files, 67 new tests

Full changelog: https://github.com/ItMeDiaTech/docXMLater/blob/main/CHANGELOG.md