• 2024

    Version 26.0 - October 11, 2023
  • 25.1
    Version 25.1 - March 16, 2023
  • 2023

    Version 25.0 - October 13, 2022
  • 24.1
    Version 24.1 - March 7, 2022
  • 2022

    Version 24.0 - October 18, 2021
  • 23.1
    Version 23.1 - March 4, 2021
  • 2021

    Version 23.0 - November 19, 2020
  • 22.1
    Version 22.1 - May 19, 2020
  • 22.0
    Version 22.0 - February 12, 2020
  • 2020

    Version 21.1 - May 23, 2019
  • 21.0
    Version 21.0 - February 22, 2019
  • 2019

    Version 20.1 - June 15, 2018
  • 20.0
    Version 20.0 - March 16, 2018
  • 2018

  • 19.0
    Version 19.1 - September 29, 2017
    Version 19.0 - April 5, 2017
  • 2017

  • 18.0
    Version 18.1 - October 18, 2016
    Version 18.0 - April 21, 2016
  • 2016

  • 17.0
    Version 17.1 - October 20, 2015
    Version 17.0 - May 5, 2015
  • 2015

  • 16.0
    Version 16.1 - October 7, 2014
    Version 16.0 - May 20, 2014
  • 2014

  • 15.0
    Version 15.2 - January 22, 2014
    Version 15.1 - October 7, 2013
    Version 15.0 - June 7, 2013
  • 2013

  • 14.0
    Version 14.2 - February 13, 2013
    Version 14.1 - October 19, 2012
    Version 14.0 - June 27, 2012
  • 2012

  • 13.0
    Version 13.2 - January 12, 2012
    Version 13.1 - October 26, 2011
    Version 13.0 - August 29, 2011

What's New in Oxygen XML Developer 24

October 18, 2021

Related version: 24.1    

Oxygen XML Developer version 24.0 is the latest major release of the industry's most advanced bundle of tools used by developers everywhere. This release offers a lot of exciting new features, updates, productivity enhancements, new customization options, and various performance optimizations.

This major release introduces a new specialized editor for JSON Schema documents and it includes an innovative visual schema diagram editor, comparison reports that can now be generated in various formats for the file or directory comparisons, as well as several improvements and updates that were implemented for Add-ons and command-line scripts. As usual, you can also find new API entry points, various bug fixes, component updates, and much more.

There are changes in:

JSON Schema

The new specialized JSON Schema editor introduces a Design mode that represents an expressive diagram editor that is helpful for visualizing, editing, and understanding JSON Schemas.

New Specialized JSON Schema Editor

The Oxygen JSON Schema editor allows you to design, develop, and edit JSON Schemas in either the text editing mode or the new intuitive, expressive visual schema Design mode. The JSON Schema editor offers validation support, content completion, an Outline view, and JSON-specific syntax highlighting.

Introducing the New JSON Schema Design Mode

Oxygen provides a powerful and expressive schema diagram editor (Design mode) for editing JSON Schemas. The Design mode was created to help both content authors who want to understand a schema and schema designers who develop complex schemas. Some of the diagram editor features include:
  • In-Place Editing - Edit JSON Schema component names and properties directly within the diagram.
  • Edit Properties - An in-place view that can be used to add, remove, or edit a component property.
  • Edit Annotations - A dialog box where you can edit all the annotation information for a component.
  • Schema Editing Actions - Actions that can be used to insert valid components depending on the context. You can set a name for a named component after it has been added in the diagram.
  • Move Up/Down Actions - Used to move a component up or down in the parent, allowing the user to change the components order in the parent.
  • Print/Save as Image - Actions that can be used to print or save as image the current diagram views.

JSON Schema Design Mode Properties Can Be Controlled in Preferences

A new preferences page was added (Options>Preferences>Editor>Edit Modes>Schema Design>JSON Schema Properties) from where you can control which additional properties (other than the default required properties) are shown in the in JSON Schema diagram presented by the Design mode. For example, you can choose whether or not to show certain properties or whether or not to only show certain properties if they are specified in the schema.

JSON Schema Documentation Now Includes Diagram Images

When using the JSON Schema Documentation generator tool, you can now choose whether or not to display diagram images for each component. The diagrams are similar to those that you see in the JSON Schema Design mode. You can also choose whether or not to display compositors (oneOf, anyOf, allOf) used for combining schema components.
JSON Schema Documentation Now Includes Diagram Images

JSON Schema 2020-12

Oxygen now handles JSON Schema 2020-12 declarations. They are edited and validated in draft-07 compatibility mode since there are few differences between the two versions. When you validate a 2020 JSON Schema, a warning message is displayed to make it clear that the draft-07 compatibility mode is being used.


Validate YAML Against JSON Schema

You now have the ability to validate the current YAML document against a JSON Schema by either configuring a validation scenario or using the Validate with action. You can also associate a JSON Schema with a YAML file using the Associate Schema action. The validation also works on files that consist of multiple YAML documents.
Validate YAML Against JSON Schema

Batch Validate Multiple YAML Documents Against JSON Schema

You now have the ability to batch validate multiple YAML documents against a JSON Schema by using either the Validate or Validate with Schema action from the Project view's contextual menu.

Comparison Tools

Generate an HTML Report of the Results of a Directory Comparison

A new Generate HTML report for directory comparison action was added in the Tools menu, allowing you to generate a HTML report after executing a 2-way or 3-way directory comparison. The resulting report be saved in an output directory and you can view it in your browser or default system application. There is also an option to generate additional comparison reports for non-binary modified file pairs and the main report will include links to those additional reports.

Save File/Directory Comparison Results in HTML Format

When using the Compare Files or Compare Directories tool, a new Save Results as HTML button is available on the toolbar to generate a detailed comparison report as an HTML file. You can then choose to view that HTML file in your preferred internet browser or application. The resulting report displays information about all the detected differences between the files or directories.

Performance Improvements

Startup Speed Improved

If multiple file tabs were left open in a previous editing session, the application will not load the file content at startup, or when switching projects and restoring the open files associated with that project. The file content will be loaded when you switch to the corresponding file tab. Each previously open file is still visible as a tab so you can switch to it normally. This helps to improve the application's startup time and also the time to switch between projects. You can disable this behavior by toggling the Load file content only when switching to its corresponding editor tab option that is now available in the Global preferences page.

Optimization for Loading Large Documents

Performance was improved when loading large documents. For example, XML documents with a lot of MathML equations and DocBook documents that include a large number of internal links are now processed and loaded faster.


There are available a variety of add-ons for Oxygen that extend the functionality of the application. New add-ons were made available and many existing ones were updated and improved.

Git Client 3.0.0 Improvements

Various improvements were made to the Git Client add-on:
  • You can create new tags from the contextual menu in the Git History view. Also, there is now a toolbar action in the Git Staging view to list all the tags. Tags from the local repository can be deleted or pushed to the remote repository.
  • You can stash uncommitted changes locally so that you can use other Git operations in the meantime. You also have options to re-apply or delete stashed changes.
  • Added a Merge "SELECTED_BRANCH" into "CURRENT_BRANCH" action in the contextual menu for local branches in the Git Branch Manager view.
  • Added a Revert commit action in the contextual menu for commits from the Git History view. It creates a new commit that reverts all the changes from the selected commit.
  • Added an Open working copy version action to the contextual menu for resources associated to a revision in the Git History view.
  • Added a Reset file to this commit action to the contextual menu for resources associated to a revision in the Git History view. It checks out the selected version of the file.
  • After a repository that contains submodules is cloned, all submodules are also automatically initialized and cloned.
  • When pulling the remote changes for a repository that contains submodules, the submodules are updated as well (by default). This behavior depends on the Update all submodules after pulling changes from the remote repository option from the Git Client preferences page in Oxygen.
  • If a submodule appears as changed in the Unstaged files area, you can open it using the Open action from the contextual menu.
  • The tooltip shown for a modified submodule from the Unstaged files area now presents information about the currently and previously tracked commits.
  • Branches created from other local branches are now automatically checked out. This behavior can be disabled by deselecting the Checkout branch option in the Create branch dialog box.
  • You can view the history for a file or directory from the Project view. When showing the history for a directory in the affected files section, the files that are descendants of the directory are presented on top and the files that are outside it are grayed out.
  • A message prompt is now displayed if you try to switch the branch while there are uncommitted changes so that you can confirm that you want to stash the changes or move them to the new branch.
  • A warning message is now displayed when trying to use the "Mark as resolved" action on a file that contains conflict markers.
  • A new ${git(working_copy_url)} editor variable can be used to return the location of the working copy directory in the form of a URL.
  • When hovering the cursor over the Pull and Push buttons, the displayed tooltip now shows information about some of the incoming/outgoing commits (such as the date, author and message).
  • When hovering the cursor over a branch name, a tooltip is displayed that provides information about the last commit performed on that branch (such as the author and the date of the commit).
  • The highlight boxes that surround branches and tags are now styled differently so that it is easier to identify which represents a branch and which represents a tag.
  • The settings in the Git client preferences page can be saved at project level. The project can then be shared with other users and everyone will have the same Git client settings.
  • The Git Staging side-view now has a cleaner look.
  • Added support for Dutch language localization.
  • Integrated various bug fixes, component updates, and performance enhancements.

For a complete list of updates added in the Git Client, see https://github.com/oxygenxml/oxygen-git-plugin/releases.

DITA Prolog Updater Add-on Improvements

Various improvements were made to the DITA Prolog Updater add-on:
  • Added a new option to customize the value of the @type attribute for the <author> element that is inserted to allow you to specify the primary (creator) author.
  • Added a new option to customize the value of the @type attribute for the <author> element that is inserted to allow you to specify an additional (contributor) author.
  • Improved the process so that an additional author (contributor) cannot be added if they are already specified as the primary (creator) author.
  • Fixed an issue where a warning message was reported even though prolog updating was disabled.

Specify Add-ons to be Automatically Installed

A new option was added in the Add-ons preferences page named Automatically install add-ons. You can use it to specify required add-ons for a project. Then, when a user opens the project, the specified add-ons will be automatically installed after prompting the user.

Batch Documents Converter Add-on Improvements

Various improvements were made to the Batch Documents Converter add-on. For example, cross-references, index entries, and footnotes are now handled properly when converting a Word document to DITA.

Translator Helper Add-on Supports DeepL Translator

The Translator Helper add-on was enhanced to provide support for translating content to various languages using DeepL Translator.

Writer Helper Add-on (Experimental)

A new Writer Helper add-on is available and it provides a side-view that is designed to help content authors with various tools that are useful for technical writers:
  • Review - You can select folders or files in the Project view and start a review session for them.
  • Similar Content - You can select folders or files in the Project view and find elements with similar content that could be reused.
  • Read Aloud - You can select content and use a Play button to listen to content out loud, read by a system-specific narrator.
  • Tips - Displays a list of editing tips, tuned for technical writers.


The all platforms distribution of Oxygen is bundled with a scripts sub-folder that contains scripts for automating and running various utilities from a command line interface. To run any of these scripts, you need to purchase a scripting license.

Generate HTML Reports for the File Comparison Script

When using the Compare Files script, a new output format is available to generate the comparison result as an HTML file, for both 2-way and 3-way comparison. You can visualize the differences side-by-side and you can filter them by type. For details, see Scripting Oxygen: Compare Files.

Generate HTML Reports for the Directories Comparison Script

When using the Compare Directories script, a new output format is available to generate the comparison result as an HTML file. It also is possible to generate separate comparison reports for all modified file pairs. For details, see Scripting Oxygen: Compare Directories.

New Merge Option for File and Directory Comparison

When using the Compare Directories or Compare Files scripts for 3-way comparisons, the -merge argument can now be used to perform a merge operation that is similar to the same process in any version control system. After the comparison, a report is created that provides details about the changes that were made. You can also use the -mergeout argument to specify a directory path where to save the output results of the merge operation.

Improvements to the File and Directory Comparison Scripts

When using the Compare Files or Compare Directories script, you can now specify the file or directory paths with a URL. Also, you now have the ability to specify a path to a base file or directory to do 3-way comparisons. In addition, you can optionally specify the content type to force file handling for a specific type of file.

Batch Format and Indent Multiple Files at Once

A new command-line script (batchFormatAndIndent) is now available that can be used to format and indent multiple files at once. You can add numerous options as arguments to control which files and settings should be used for the operation. For details, see Scripting Oxygen: Format and Indent Files.


Batch Accept Tracked Changes or Remove Comments/Highlights

A new XML refactoring operation (Accept all tracked changes, remove all Oxygen-specific comments and highlights) can be used to accept all application-specific tracked changes (from elements and attributes) or to remove all comments or highlights.

Use Attribute Conditions in Content Completion Configuration File

The Content Completion configuration file (cc_config.xml) now supports attribute and text proposals based on simplified XPath expressions (using the <valueProposals> element). For details, see Configuring the Proposals for Attribute and Element Values.

Use Editor Variables as Filename Prefixes and Suffixes

Editor variables can now be used as values of the filenamePrefix and filenameSuffix properties in the .properties configuration file that corresponds to a new document template.

Use Editor Variables as Attribute Values in the Content Completion Configuration File

When configuring the insertion of attributes in the Content Completion configuration file (cc_config.xml), editor variables can now be used for the @value attribute of the <insertAttribute> element.


New Plugin Extension to Provide Custom Validation Engine

The new plugin extension API ValidatorPluginExtension allows a plugin to contribute a custom validation engine used from a validation scenario to either validate the current document or batch-validate multiple documents.

New API Method to Create Scroll Panes

A new API method OxygenUIComponentsFactory.createScrollPane(Component, int, int) was added that allows you to create scroll panes that look and feel like the ones implemented in Oxygen.

New API Method to Perform 3-Way Diff Comparisons

A new API method DifferencePerformer.performDiff(Reader, Reader, Reader, String, String, String, String, DiffOptions, DiffProgressListener) was added and it can be used to perform the diff operation between the resources represented by the three readers. The resources are compared factoring in the content type and the provided options.

New API Method to Save Add-on Settings At Project Level

A new API method OptionPagePluginExtension.getProjectLevelOptionKeys() was added and it allows preferences pages provided by add-ons to save option keys at project level.

Create Documents with References Expanded

A new expandReferences parameter was added to the PluginWorkspace.createAuthorDocumentProvider API method and it can be used to create a document that contains a structure of Author nodes with all of the references expanded.

Detect Content Type

A new API method UtilAccess.getContentType(String) was added and it can be used to detect the content type of a resource based on the systemID.

New API to Register Plugin Extension from Workspace Access Plugin

The new plugin extension API StandalonePluginWorkspace.addPluginExtension allows a workspace access plugin to contribute a custom plugin extension dynamically instead of defining it in the plugin.xml file.

Component Updates

TEI Schemas 4.3.0 and TEI XSL Stylesheets 7.52

Updated the TEI framework in Oxygen to the latest TEI Schemas 4.3.0 and TEI XSL Stylesheets 7.52.

XSpec 2.0

Updated the XSpec framework in Oxygen to the latest version 2.0.

Official Support for eXist-db Version 5.3.0

Oxygen has been tested and officially supports eXist-db version 5.3.0.

DITA Open Toolkit Version 3.6.1

Updated the DITA Open Toolkit version that is bundled with Oxygen to version 3.6.1.

Apache Batik 1.14

Updated the Apache Batik SVG toolkit to version 1.14.

Apache FOP 2.6

Updated Apache FOP to version 2.6.

Apache POI Libraries 4.1.0

Updated the Apache POI libraries to version 4.1.0.

Calabash 1.3.2-99

Updated the Calabash engine to version 1.3.2-99.

Eclipse 4.21

Updated the Eclipse plugin to support version 4.21.

EPUBCheck 4.2.6

Updated the EPUBCheck library to version 4.2.6.

Saxon XSLT and XQuery Transformer Add-on 10.6

Updated the 10.x version of the Saxon transformer add-on to support Saxon version 10.6.

XMLSec Version 2.1.7

The XMLSec package that allows signing and signature checks in XML documents was updated to version 2.1.7.

Terms of Use Changes

Importing Data from MS Excel 2007 or Newer No Longer Requires Extra Libraries

When importing data from MS Excel 2007 or newer, it is no longer required for you to add extra libraries (previously added by installing an add-on).

TCP Floating License Server Functionality Removed

The old TCP floating license server functionality has been removed. If you are using floating licenses or a large number of user-based licenses, you need to use the HTTP license server functionality instead.

DITA Map to PDF WYSIWYG Transformation Removed

The old DITA Map to PDF WYSIWYG transformation (pdf-css transtype), that was already deprecated, has been removed. It was replaced with the DITA Map to PDF - based on HTML5 & CSS transformation (pdf-css-html5 transtype).

DocBook WebHelp Classic with Feedback Transformation Removed

The DocBook Webhelp Classic with Feedback transformation scenario, that was already deprecated, has been removed. WebHelp Classic for DocBook can now be integrated with the new Oxygen Feedback commenting platform instead. For more details, see Deploying the Oxygen Feedback Comments Component for DocBook.

Berkeley DB XML Support Deprecated

The Berkeley DB XML type of database connection is now deprecated.

MS SQL Server 2005/2008 Support Deprecated

The MS SQL Server 2005 and MS SQL Server 2008 types of database connections are now deprecated.

Support for Java 8 Deprecated

The support for Java 8 in Oxygen has been deprecated and it will no longer be supported starting with version 25.0.

Injecting a License Key in the Author Component is No Longer Possible

The ability to register a fixed license key in the Author Component is now completely removed from the code.