All Versions
67
Latest Version
Avg Release Cycle
51 days
Latest Release
-

Changelog History
Page 5

  • v3.3.7 Changes

    🛠 OpenDoPE: handle w15:databinding; FlatOPC processing fixes; component handling fixes

    0️⃣ PDF Converter (commercial, not export-FO) defaults to https (port 443)

    IBM JAXB detection improvements

    🛠 various other fixes

  • v3.3.6 Changes

    @XmlRootElement on webextension and taskpanes

    🐎 OpenDoPE performance enhancements: pre-calculate repeat counts and simple conditions for substantial time saving in ODH step

    JAXB representation of c14 (http://schemas.microsoft.com/office/drawing/2007/8/2/chart) from odrawxml/chart20070802.xsd

    OpenDoPE: bind date sdt

    JaxbXmlPart new method transform(Templates xslt, Map transformParameters, Result result)

    xlsx4j

    Chartsheetpart

  • v3.3.5 Changes

    👌 Support w16cid (commentsIds); see https://msdn.microsoft.com/en-us/library/mt791826(v=office.12).aspx ⚡️ (without this, document created in Word 2016 with recent updates, then saved by docx4j, couldn't be re-opened in Word)

    👌 Support w15symex (long hex replacement for symbol char); see https://msdn.microsoft.com/en-us/library/mt459331(v=office.12).aspx

    ↪ IBM Unmarshaller (usually used in WebSphere v7+) workaround for "errors limit exceeded" (same as Oracle JAXB)

  • v3.3.4 Changes

    BinaryPartAbstractImage: ImageMagick executable name fetched from Docx4jProperties.getProperty("org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage.ImageMagickExecutable", "imconvert") 🏁 and workaround for file URL issue on Windows

    Parent handling: convenience for user SdtPr set parent (same for SdtContent, now an interface);

    🛠 mc-preprocessor.xslt: more Google Docs fixes

    🚚 samples/BookmarksDuplicateCheck: Check also the ends; option to remediate (ie remove broken ones)

    🛠 OpenDoPE fixes/enhancements:

    234 convert #STRING to NodeList

    235 complex XPaths

    count-type conditions in repeats: perform enhancement in non-oda case

    🛠 other bugfixes:

    175 HTML output: conversion to nested or

    164 Reset error counter, this time for IBM's JAXB (in Websphere inc 8.5.5.11)

    xlsx4j

    🛠 fix to support Apple iCloud Numbers (set reference attribute on cell)

    loading .pptx and .xlsx files from InputStream

  • v3.3.3 Changes

    👀 Minor modifications to support use on Android; see https://github.com/plutext/AndroidDocxToHtml

    🛠 Several bugfixes, including:

    • 🖐 Handle non-English speaking locales in XmlPart.cachedXPathGetString (used in OpenDoPE content control data binding)
    • Regression in xpathtracker histgram namespace handling (issue #230)

    xlsx4j

    Convenience method for cell to access its WorksheetPart; WorksheetPart to get WorkbookPart.

    Cell content extraction - formatted (using modified Apache POI code)

  • v3.3.2 Changes

    JAXBXmlPart pipe methods, which enable you to process using StAX or SAX 👀 (avoiding JAXB overhead); see VariableReplaceStAX for an example

    🌐 JAXB content model for web extensions

    🛠 Various bugfixes, including:

    • 🛠 fix for OpenDoPE complex conditions (broken by 3.3.1)
    • 🛠 fix for IllegalArgumentException: local part cannot be "null" when creating a QName
  • v3.3.1 Changes

    Contents lists are now of type ArrayListWml, in which parent is automatically set correctly

    📦 org.docx4j.anon: new package which converts a docx to lorem ipsum latin, and removes 👍 other sensitive info, so the docx can safely be shared eg for tech support.
    For this to work, you'll need to add a new dependency: http://search.maven.org/#artifactdetails%7Ccom.thedeanda%7Clorem%7C2.0%7Cjar

    🐎 OpenDoPE: Two separate performance optimizations which substantially speed up large XML binding jobs. By traversing the XML data, manually calculate and cache XPaths (tested with 500,000 entries). Our strategy is to try the cache first (if enabled), then if there is a cache miss, use org.apache.xpath.CachedXPathAPI (the second optimization - CachedXPathAPI is quicker than default javax.xml.xpath.XPath implementations)

    Dedicated parts for w15 CommentsExtended and People

    👌 Support anchor attributes wp14:anchorId and wp14:editId; children wp14:sizeRelH, wp14:sizeRelV

    👌 Support w:bdo and w:dir from ECMA 376 4ed

    ↪ workaround for MOXy issue triggering pre-processing from binder: http://stackoverflow.com/questions/37225221/moxy-validationevents-triggered-by-unmarshaller-but-not-binder

    0️⃣ JAXB event handler: make shouldContinue false by default, mc Content pre-processing works in MOXy (for unmarshalling anyway, as distinct from binder)

    unmarshall input stream: do mc pre-processing if necessary

    🆕 New property docx4j.jaxb.marshal.canonicalize: 0️⃣ Whether to canonicalize during marshalling (defaults to false); this is for aesthetic purposes: the Sun/Oracle JAXB reference implementation writes a lot of unnecessary namespaces (each one in the JAXB context?).

    Dependency Changes

    ➕ Added com.thedeanda:lorem:jar:2.0; only required if you want to use org.docx4j.anon (see above)

  • v3.3.0 Changes

    🚀 Release date

    21 April 2016

    🚀 Contributors to this release

    https://github.com/crherman7

    https://github.com/increatum

    https://github.com/jerryorr

    https://github.com/MaciejDobrowolski

    https://github.com/pwarncke

    https://github.com/rasmusfaber

    https://github.com/tfcporciuncula

    Jason Harrop

    Notable Changes - PDF

    🚚 XSL FO based PDF output moved to new/separate project docx4j-export-fo; default PDF converter 🔄 changed from XSL FO + Apache FOP to Plutext's PDF Converter. The instance at 0️⃣ converter-eval.plutext.com is used by default, but you can (and should!) alter it to your own instance, by setting docx4j property, eg:

    com.plutext.converter.URL=http://converter-eval.plutext.com:80/v1/00000000-0000-0000-0000-000000000000/convert

    👀 See further http://www.plutext.com/m/index.php/products-docx-to-pdf.html

    ⏪ If you want to use the existing XSL FO + Apache FOP PDF Conversion, just add docx4j-export-fo (+ deps) to your classpath. These jars are in the zip file, in dir optional/export-fo docx4j will detect that they are present, and revert to the FO based conversion.

    Notable Changes - Other

    Document protection (read only, track revisions etc) for docx/pptx/xlsx, with or without password. 👍 NB: Digital signature support is in Enterprise Ed. See further https://github.com/plutext/docx4j/blob/VERSION_3_3_0/src/main/java/org/docx4j/openpackaging/packages/ProtectionSettings.java and ProtectDocument.java

    ⚡️ docx table of contents (TOC) generation and update migrated from Enterpise Ed. See org.docx4j.toc and the Toc* samples. The layout model in Plutext's PDF Converter (see above) will be used to calculate page numbers, unless docx4j-export-fo (+ deps) is on your path

    🚀 Workaround for JAXB behaviour change (for recent releases of JAXB, mcPreprocessor only worked the first 10 times); 👀 see/subscribe to https://github.com/gf-metro/jaxb/issues/22

    👀 Xalan <= 2.7.2 can't handle astral characters: see/vote for https://issues.apache.org/jira/browse/XALANJ-2419 So: ↪ (i) workaround this when serializing XML ↪ (ii) optionally workaround this when we use Xalan for XSLT, controlled by docx4j.properties docx4j.xalan.XALANJ-2419.workaround=true|false 🚀 [Comment: When will Xalan make a release which fixes this issue? This code will be removed if they do.]

    ⚙ RunFontSelector: basic support for Unicode astral characters

    🐎 Performance improvement: property docx4j.openpackaging.parts.JaxbXmlPartXPathAware.binder.eager.* allows us to avoid unmarshalling via DOM

    🖐 Handle McIgnorableNamespaces within NamespacePrefixMapper classes

    XJC generated code for word/2010/wordprocessingDrawing

    📦 Repackage portions of org.apache.poi (mainly poifs) as org.docx4j.org.apache.poi 🚚 (and remove dependency on poi-scratchpad; remove Doc import since poi.hwpf dep is now absent)

    🔒 Repackage santuario c14n (org.apache.xml.security) as org.docx4j.org.apache.xml.security. 🚚 [Comment: Useful for c14n, but not essential to docx4j, so may yet be removed. Opinions welcome]

    💅 Avoid adding virtual styles to docx representing DocDefaults; this is now internal to StyleTree

    Dependency Changes (relative to 3.2.x)

    ✂ Removed: jaxb-xmldsig-core, poi-scratchpad, commons-lang

    ➕ Added:

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.4</version>
        </dependency>
    

    🚚 Moved FOP/batik jars to separate project docx4j-export-fo

    ⬆️ Bumped most deps to most recent available (except MOXy, where bumped to most recent compiled for Java 6)

  • v3.2.2 Changes

    guard against XML Enternal Entity Injection attacks for some additional cases (the main cases were addressed in v3.2.0)

    🌲 tune down certain logging

    temp embedded font handling improvements (sgrachov, jharrop)

    PDF (FO via XSL): insert blank page to honour sectPr/w:type oddPage|evenPage set on the following section

    databinding/OpenDoPE:

    • 👌 support w14 checkbox, w15:repeatingSection

    • 0️⃣ property docx4j.model.datastorage.BindingHandler.Implementation (which defaults to BindingTraverserXSLT)

    • 🐎 ODH minor performance optimization

    (X)HTML output: use ul|ol list items, if feature PP_HTML_COLLECT_LISTS is set and SdtToListSdtTagHandler is registered.

    xlsx4j

    Variable replacement in xlsx4j

    pptx4j

    Ensure VML namespace is declared on key parts

  • v3.2.1 Changes

    👍 MailMergerWithNext (baudinseb): supports NEXT, useful for mailing labels

    OpenDoPE: bookmark ID management

    pkg Load classes: getSourceRelationships().add(r) for additional source rel

    👌 Improvements to diffx (still not production ready though)

    PresentationML/FontDataPart

    🔦 Expose Base.partName, so MergeDocx v1.6.6 can use this docx4j