docx4j 11.4.6 is now available in Maven Central. For downloads, go to https://www.docx4java.org/downloads.html
The logic behind the version number is as follows:
- its docx4j 11 since it targets Java 11; If you are not using Java 11 or later, you should stick with docx4j 8.3.4 (compiled for Java 8).
- it is docx4j 11.4, not 11.3, since this release uses jakarta.xml.bind (as opposed to the previous javax.xml.bind)
Since this release uses jakarta.xml.bind, rather than javax.xml.bind, if you have existing code which imports javax.xml.bind, you'll need to search/replace across your code base, replacing javax.xml.bind with jakarta.xml.bind. You'll also need to replace your JAXB jars (which Maven will do for you automatically; otherwise get them from the relevant zip file).
This release (compared to 11.4.5) is primarily to support a docx4j-ImportXHTML 11.4.6 release,
by adding DrawingPropsIdTracker, which dispenses unique values for wp:docPr/@id (must be unique across all parts in a docx), relieving you of ensuring uniqueness.
Other fixes:
Issue 501: chartEx adjust object model to match actual Word output (cx:axisId)
Issue 501: Correct encoding issue when writing version comment for non UTF-8 locale
11.4.6 is a JPMS modularised release, so the docx4j jars contain module-info.class entries, with the following exceptions:
- the docx4j-documents4j-* sub-projects don't have a module-info.java until https://github.com/documents4j/documents4j/issues/108 is addressed
- the docx4j-conversion-via-microsoft-graph sub-project doesn't have a module-info.java
docx4j 11.4.6 source code can be found in the default branch https://github.com/plutext/docx4j/