Migrating to release 4.0
DITA-OT 4.0 requires Java 17 and includes a new plug-in for easier PDF customization, project file improvements, updates to LwDITA processing, and support for the split chunking feature in the latest draft of the upcoming DITA 2.0 standard.
DITA-OT now requires Java 17
- You can download Oracle distributions from oracle.com/java under commercial license.
- Eclipse Temurin is the free OpenJDK distribution available from adoptium.net.
- Free OpenJDK distributions are also provided by Amazon Corretto, Azul Zulu, and Red Hat.
- Java versions are also available via package managers such as Chocolatey, Homebrew, or SDKMAN!
Deprecated attribute set reflection in PDF2
The legacy attribute set reflection in PDF2 has been replaced with code that generates new attribute sets directly. This change is backwards-compatible as the old attribute set reflection code has been retained, but PDF2 now uses the new attribute set generation mechanism everywhere reflection was used. Custom plug-ins that still use reflection should be updated to the new approach, as the legacy code may be removed in a future version. #3827, #3829
Code references now default to UTF-8 encoding
The default character set for code references has been changed from the system default encoding to UTF-8.
@format
        attribute on the <coderef> element as described in
        character set definition or change the default
        encoding in the
        configuration.properties file.
        #4046
        Deprecated place-tbl-lbl template in HTML5
      
      
        The place-tbl-lbl template that was originally used to define table
          titles in XHTML has been deprecated in HTML5 processing and will be removed in a future release. This template
          was carried over from XHTML code (which still has a copy that is used), but the copy in HTML5 is not called.
          #3435,
          #4056
        
      
Deprecated skip properties
      
      Many Ant targets refer to skip properties that can be used to disable pre-processing steps. In
        earlier releases, these properties were not set or named consistently; they are now generated automatically with
        more consistent naming and behavior.
        #3845,
        #3851
      
As of DITA-OT 4.0, direct use of these internal properties is deprecated, and will stop the build with an error:
[DOTA015F] Internal property preprocess.copy-flag.skip may not be set directly. Use property build-step.copy-flag instead.
- For example, if your custom plug-ins previously used skipproperties to disable pre-processing steps,- <property name="preprocess.copy-image.skip" value="true"/>
- <property name="preprocess.copy-html.skip" value="true"/>
- <property name="preprocess.copy-flag.skip" value="true"/>
 
- use the new Boolean build-stepproperties instead.- <property name="build-step.copy-image" value="false"/>
- <property name="build-step.copy-html" value="false"/>
- <property name="build-step.copy-flag" value="false"/>