v10.0.0
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:spacingoverrides from paragraphs whose style already defines spacing, so style-based spacing takes effect. Protectsw:pPrChangeandw:rPrblocks.
Run Property Change Tracking API
getPropertyChangeRevision(),setPropertyChangeRevision(),clearPropertyChangeRevision(),hasPropertyChangeRevision()— direct access tow:rPrChangeon runs- Automatic
rPrChangecreation 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 workflowsNumberingManager.markAbstractNumberingModified()for direct level modificationsTrackingContext.createInsertion()/createDeletion()factory methods (eliminates circular dependencies)- Save state rollback now restores post-processing flags on failure
centerLargeImages()clears direct indentation before centeringapplyStyles()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