docx4j 17.0.0 is now available. This version number signifies some significant changes in this release, including some minor breaking API changes.
To get this release, please see https://www.docx4java.org/downloads.html
It targets Java 11, and is compatible with Java 11, 17, 21, and we expect Java 25.
Changes in this release:
- Configurable font cache location. Fixes #677
- Embedded fonts are supposed to be obfuscated, but some producers (eg Google Docs)
don't do that. New property docx4j.fonts.embedded.obfuscate controls whether docx4j obfuscates them
if/when FontTablePart's processEmbeddings() is invoked.
- Faster XmlUtils.deepCopy implementation
- Generate OpenXML objects at build time (in docx4j-generated-objects/target/generated-sources/xjc)
See further https://github.com/plutext/docx4j/pull/676
Thanks to Buck Cronk of Oracle for his diligent work on this comprehensive PR.
Note the following API changes: old methods `getEGBlockLevelElts`, `getParagraphContent`, `getRunContent` have been replaced with `getContent`; `ArrayListWml`, `ArrayListDml`, `ArrayListVml`, and `ArrayListMce` have been replaced by a single `ArrayListDocx4j` class; `org.jvnet.jaxb2_commons.ppp.Child` is now `org.jvnet.jaxb.lang.Child`
docx4j-ImportXHTML 17.0.0 is also released, to use docx4j 17.0.0

