Changelog History
Page 4
-
v8.1.3 Changes
August 29, 2019๐ Release date
29 August 2019
๐ Contributors to this release
Jason Harrop
-
v8.1.2 Changes
July 31, 2019๐ Bugfix: synchronize access to namespacePrefixMapper to avoid "namespacePrefixMapper is null" in multithreaded scenarios
-
v8.1.1 Changes
June 29, 2019๐ Bugfix: specify UTF-8 in MainDocumentPartFilterOutputStream
๐ Support for embedded True Type Fonts. (Up until now, we only supported obfuscated embeddings)
xlsx4j
๐ Bugfix: Correct jcSML spreadsheetDrawing package name
๐ Support mc:alternateContent in Workbook part (ie instead of dropping it)
-
v8.1.0 Changes
May 21, 2019โก๏ธ Update [MS-PPTX] and [MS-ODRAWXML] content models with latest schemas.
Implement child in dml
๐ฆ Re-packaged subset of Guava to shave 2.4MB off deps size
๐ StyleTree handles default table style (used by MergeDocx)
docx4j
๐ Support adding altChunk at specified index
๐ง VariablePrepare: make settings configurable
๐ Move anon out of core to a dedicated Maven module
pptx4j
๐ support mc:AlternateContent in slide shape tree
Implement child in pml
-
v8.0.0 Changes
April 21, 2019๐ Minimum supported Java version is 8.0
๐ docx4j 8 should be easier to deploy in complex environments such as OSGi, JBoss EAP etc.
docx4j is now a Maven multi-module project. To use it via Maven, add just one of docx4j-JAXB-Internal, docx4j-JAXB-MOXy, or docx4j-JAXB-ReferenceImpl dependencies.
โก๏ธ Various dependencies were updated (some of which require Java 1.8)
๐ OpenDoPE support for XPath 2.0, 3.0 (requires Saxon)
Uses repackaged and mavenized Xalan; see https://github.com/plutext/xalan-j/tree/Plutext_Java8_Repackaged_Docx4j
-
v6.1.2 Changes
February 27, 2019๐ Fix for #340 Field handling NumberExtractor, handle group separator '.' (eg German) correctly.
๐ New property docx4j.Fields.Numbers.JavaStylePercentHandling which if set to true multiplies the value by hundred.
For example, formatting 0.33 with "\# ##%" would yield 33%.๐ Fix for #344 (NPE in TraversalUtil in graphicData) ๐ Fix for #346 (relating to Fields)
xlsx4j
Convenience method to access ThemePart
-
v6.1.1 Changes
January 21, 2019vml and mc lists are now of type ArrayListVml|Mce respecitvely, in which parent object is automatically set correctly (as is done for wml objects)
๐ TraversalUtil replaceChildren: support replacing in a bare List object.
OpenDoPE removal handler: new option ALL_BUT_PLACEHOLDERS_CONTENT, ๐ Ordinarily, if an SDT contains XML but no real content, that XML is also removed.
๐ Choose this option if you want to keep placeholder XML (but remove the SDT). -
v6.1.0 Changes
December 15, 2018IMPORTANT: Force namespaces used in mc:choice to be declared top-level. If they aren't there, Word can't open the docx.
๐ mc:Ignorable: support attribute in footnotes/endnotes, numbering, styles ๐ (already supported in main and headers/footers)
w14 namespace handling improvements: Don't drop these attributes in mc-preprocessor.xslt; ๐ Support w14:EG_RPrOpenType elements
0๏ธโฃ PDF Converter now defaults to localhost endpoint to avoid information leakage. (controlled by docx4j property com.plutext.converter.URL) The localhost endpoint will only work if you download and install the converter there! โ If you choose to use converter-eval.plutext.com, please only use it for light testing purposes.
โก๏ธ BookmarksIntegrity checking now part of docx4j proper; used before ToC updating
๐ฏ AttachTemplate now part of docx4j proper; method cloneAs
OpenDoPE finisher: optional step in which formatting can be applied (this is often neater than using conditional content controls just for formatting)
OpenDoPE RemovalHandler: new Quantifier.ALL_BUT_PLACEHOLDERS (ie remove content controls, but keep any placeholders inserted where there is empty content), ability to specify Quantifier via docx4j.properties; also ability to substitute your own RemovalHandler.xslt.
OpenDoPE: simplified component processing model [requires Enterprise]:
- components don't have to be at the top paragraph level of the content tree, BUT:
- component processing is now done before condition/repeat processing
- component processing is not recursive anymore
- components typically use the "main" answer file 0๏ธโฃ component processing is OFF by default Enable it with property "docx4j.model.datastorage.OpenDoPEHandlerComponents.enabled"
-
v6.0.1 Changes
August 03, 2018๐ In many cases v6.0.0 release writes <?xml version="1.0" ?> omitting encoding "UTF-8". ๐ This release corrects that, and is recommended for this reason.
-
v6.0.0 Changes
July 22, 2018๐ Docx4j 6.x will be the last series supporting Java 6.
๐ (docx4j 7.x, when released, will require Java 7+)๐ New dependency commons-compress used for zip/unzip. Most other โก๏ธ deps updated to last version supporting Java 6.
๐ Support for Java 9 and 10 (see notes in README for use in Eclipse)
- Maven profiles for java 9 and 10
- Maven pom now specifies source & target 1.6 (previously 1.5)
Preserve mc:AlternateContent in a run. Previously, this would have caused mc-preprocessor to be invoked, selecting one of the pieces of content.
Object model for wps http://schemas.microsoft.com/office/word/2010/wordprocessingShape
Content Control databinding (and OpenDoPE)
- โก๏ธ UpdateXmlFromDocumentSurface: Copy content control content back to the custom XML part, like Microsoft Word does for a content control which has a w:databinding element
- ๐ improvements to migration (from eg VariableReplace)
- ๐ better support for binding standardised Answers format
- various other improvement
Write docx4j version as XML comment in MainDocument part.
New properties docx4j.openpackaging.parts.MAX_BYTES.unzip.error and docx4j.openpackaging.parts.MAX_BYTES.unmarshal.error which can be ๐ป set to positive values to have docx4j throw a PartTooLarge exception if a part is larger than the set value.