• 2021

    Version 23.1 - March 4, 2021
  • 2020

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

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

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

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

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

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

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

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

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

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

What's New in Oxygen XML Developer 22.0

Related Versions: 22.022.1

February 12, 2020

Version 22 of the Oxygen XML Developer provides numerous new features, updates, and improvements that focus on productivity, performance, efficiency, and simplicity for XML development and publishing.

This major release includes numerous productivity improvements for JSON, HTML, and Markdown document types, as well as updates to add-ons, new API entry points, component updates, performance and security improvements, and much more.

Version 22 also marks the release of two new products, Oxygen Feedback and Oxygen Publishing Engine. Oxygen Feedback provides a way for your community to interact and offer feedback by embedding a stylish comments area into your WebHelp Responsive output or any HTML-based website. For more information, go to: https://www.oxygenxml.com/oxygen_feedback.html. Meanwhile, the Oxygen Publishing Engine is a cost-effective bundle that offers automation support for transforming DITA content into WebHelp, PDF, EPUB, and plain HTML output from your integration scripts. It provides the DITA Open Toolkit with integrated Oxygen publishing plugins, including the responsive Oxygen WebHelp and the CSS-based PDF Chemistry engine. For more information, go to: https://www.oxygenxml.com/publishing_engine.html.

There are changes in:


Content Completion Improvements for HTML Documents

Content completion proposals are available for CSS and JavaScript code that is embedded in an HTML document. Also, after an unclosed tag, the content completion now presents proposals for the siblings.

Format and Indent HTML Documents

Support was added to Format and Indent HTML documents, including embedded CSS and JavaScript content. The structure of the document will be preserved after the action is performed.

XPath Support for HTML Documents

You can use the XPath Toolbar or XPath Builder View to quickly query HTML documents using XPath expressions. Both components also offer content completion to help you compose query patterns.
XPath Support for HTML Documents

Emmet Snippets

Oxygen supports Emmet snippet expansion. With Emmet, you can type abbreviations, similar to CSS selectors, and expand them into full-fledged HTML code. For details, see: Oxygen Emmet Plugin.
Emmet Snippets

Editing Improvements for HTML Documents

The HTML editor received various productivity improvements. For example, HTML documents have the same toolbar and contextual menu actions available as XHTML, the Smart Paste feature now works for HTML documents, and you can associate a CSS directly in an HTML document to customize the rendering.

Minify (Compress) HTML Documents

An action was added to Minify (compress) HTML document. Minification is the practice of removing unnecessary white spaces, without affecting the functionality of the document. While a minified HTML document gains execution performance, it loses some readability.

Code Templates for HTML Documents

A set of built-in code templates were added for HTML documents to make it easier to insert HTML code.


Convert XML Schema (XSD) to JSON Schema

Oxygen now includes a simple and useful tool for converting an XML Schema document (XSD) to a JSON Schema document. It can be found in the Tools->JSON Tools menu and it opens a dialog box where you can choose the URL of the XSD file and the output location for the resulting JSON Schema.

Generate JSON Schema from a JSON File

A new Generate JSON Schema tool was added for generating a JSON Schema document from a JSON instance. It can be found in the Tools->JSON Tools menu and it opens a dialog box where you can choose the URL of the JSON file and the output location for the resulting JSON Schema.

Content Completion Improvements for JSON Documents

The Content Completion Assistant for JSON documents received various improvements. For example, proposals for boolean values, property names are proposed even if the quotes are missing, proposals are presented when you start typing a required value, and documentation was added for JSON Schema properties.

There is also a new preferences page (Editor->Content Completion->JSON) with options for adding required content, optional properties, or additional content when using content completion in JSON files.

Content Completion Improvements for JSON Documents

Validate JSON Documents Against Schematron

Oxygen now includes a validation engine called the JSON Schematron Validator, making it possible to validate JSON documents against a Schematron schema that is specified in a validation scenario or using the Validate with action.
Validate JSON Documents Against Schematron

Syntax Highlighting Improved for JSON Documents

The JSON syntax highlight colors were improved to make it look nicer and to make it easier to read JSON documents.

Improvements to the Behavior of the Go to Definition Action

Using the Go to Definition contextual menu action in JSON documents opens the definition of the current property even if it is referenced using an ID.

Improvements to the JSON Instance Generator

Improvements were made to the Generate Sample JSON Files tool. For example, the order of the properties defined in JSON Schema is preserved, and it now takes the patternProperties and propertyNames restrictions into account when generating JSON instances.

Converting JSON to and from XML Now Handles Mixed Content

The JSON to XML and XML to JSON conversion tools now handle mixed content properly.


Markdown Editor Now Supports Lightweight DITA

A new option was added to export a Markdown document to a Lightweight DITA topic (XDITA). The right-side preview panel also now includes an XDITA tab so that you can see the Lightweight DITA representation of changes made in the left-side text editor.
Markdown Editor Now Supports Lightweight DITA

Validate Markdown Documents with Schematron

It is now possible to validate Markdown documents with Schematron. There are two ways to do this. You can specify a Schematron file to validate converted HTML or DITA content in a new Markdown preferences page or as a fallback, you can create an association using a catalog mapping.
Validate Markdown Documents with Schematron

DITA Keys are Resolved in Preview Pane

Keys that are defined in the root DITA map are now resolved and displayed properly in the DITA and XDITA preview tabs.


Improvements to the Git Add-on

The Oxygen Git Support add-on has a new History side-view, a Show Blame action was added for presenting more details about a revision, and a Pull (rebase) action was added to the toolbar.
Improvements to the Git Add-on

Oxygen Emmet Add-on

The Oxygen Emmet add-on provides the means for high-speed coding and editing in Text mode or Author mode via a content assistance mechanism. It can be used for HTML, XSL, and other XML formats. For details, see: Oxygen Emmet Plugin.

Plugin to Integrate Oxygen XML Editor or Web Author with a CMIS Server

A plugin is available that provides the ability to integrate any CMIS-enabled server with Oxygen XML Editor/Author or Oxygen XML Web Author. The plugin is available at: https://github.com/oxygenxml/oxygen-cmis-plugin.

More Types of Conversions Added to the Batch Converter Add-on

The Oxygen Batch Converter add-on now supports additional conversions from Microsoft Word to various XML document types. The additional types of conversions include: Word to XHTML, Word to DITA, Word to DocBook 4, and Word to DocBook 5.
More Types of Conversions Added to the Batch Converter Add-on


Built-in Support for the Chinese Language

The Chinese language was added to the list of built-in supported languages for the interface.

Security Improvements

Security improvements were added for all Oxygen products to help protect against XXE attacks and vulnerabilities. For example, Oxygen comes with a built-in firewall that controls the access to external resources and a warning is issued for documents that are detected as coming from an untrusted source.

Choose Various Settings to Save at Project Level

A new Project Level Settings preferences page was added where you can choose whether certain settings are saved in the project configuration file or globally.

Hide all Toolbars

A new Hide all toolbars toggle action was added in the Window menu. If toggled on, all toolbar buttons are hidden to give you more vertical room in the interface. You can use this action along with the Maximize Editing Area action to create a full-screen editing environment.

NVDA Officially Supported

The NVDA screen reader is now officially supported as part of the accessibility support in Oxygen. For more details, see Using the NVDA Screen Reader with Oxygen.


Show or Hide Certain Views in a Specified Perspective

The Workspace Access plugin extension now supports an optional perspective element inside the view element. It allows a plugin-contributed view to be shown or hidden for a specific perspective.

Decide if a UI Perspective is Allowed

The ro.sync.exml.ComponentsValidator.isPerspectiveAllowed(int) method was added in the API and it can be used to decide which UI perspectives are available in Oxygen.

Open or Reload a Project

The ro.sync.exml.workspace.api.standalone.project.ProjectController API class now has the new loadProject(File) method that can be used to open a project file. The new method can also be used to reload the current project by using the getCurrentProjectURL() method to create the file object to pass as its parameter.

Save Complex Persistent Objects

The new WSOptionsStorage.setPersistentObjectOption(String,ExternalPersistentObject) API can be used to save complex objects using Oxygen's persistent storage.

Decide Where to Add Profiling Attributes

The shouldAddProfilingDirectlyOnElement(AuthorElement) method was added in the ro.sync.ecss.extensions.api.ProfilingConditionalTextProvider API and it can be used to decide if profiling attributes should be added to the given element or to an XML fragment that will wrap the content of the element.

Control how URLs are Compared

The new RelativeReferenceResolver.getEditorLocationKey(URL) API method can be used to control how URLs are compared by removing parts of the URL that are not important for the comparison.

Configure Editor Actions Based on the Content Type

A new getContentType method was added to the ro.sync.exml.workspace.api.editor.WSEditor API and it provides the ability to retrieve the content type. For example, it is useful if you want to contribute an editor action for a specific type of document.

Contribute Multi-Line Tooltips

A new installMultilineTooltip(JComponent) method was added to the ro.sync.exml.workspace.api.standalone.ui.OxygenUIComponentsFactory API and it provides the ability to contribute a tooltip with multiple lines.

Control the Addition or Removal of Comments

Two new methods were added to ro.sync.ecss.extensions.api.AuthorDocumentFilter: addCommentMarker() and removeMarker(). They can be used to intercept when a comment is added or removed.

Get Notified when Editor is Reloaded

A new editorReloaded(URL) method was added to the ro.sync.exml.workspace.api.listeners.WSEditorListener API and it is triggered when a document is reloaded.

Create New Editor

A new createNewEditor(URL, String, String, String) method was added to the ro.sync.exml.workspace.api.Workspace API and it can be used to create a new "untitled" editor.

Reset Cache When DITA Maps Manager is Refreshed

A new clearCache() method was added to the ro.sync.exml.workspace.api.standalone.ditamap.TopicRefTargetInfoProvider API and it can be used to reset the cache when the reload action (F5) is used in the DITA Maps Manager.

Access Text Content for a Node

A new getContentIterator method was added to the ro.sync.ecss.extensions.api.node.AuthorNode API and it allows iteration over the text content of a node.

Expand Ask Editor Variable

A new expandEditorVariables method was added to the ro.sync.exml.workspace.api.util.UtilAccess API and it allows for the expansion of ask editor variables.

Accept or Deny Access to Certain Hosts

A new ro.sync.exml.plugin.workspace.security.TrustedHostsProviderExtension plugin extension can be used to accept or deny access to certain web hosts.

Component Updates

Eclipse 4.12, 4.13, 4.14

Updated the Eclipse plugin to support versions 4.12, 4.13, and 4.14.

DITA Open Toolkit 3.4

The DITA Open Toolkit version bundled with Oxygen was updated to 3.4.


Updated the Saxon library that is distributed with Oxygen to version

Xerces 2.12.0

Updated the Apache Xerces library to version 2.12.0.

EpubCheck 4.2.2

Updated the EpubCheck library to version 4.2.2.

eXist 5.0

Oxygen officially supports the eXist database version 5.0.

TEI Schemas 3.6 and TEI Stylesheets 7.48

Updated the bundled TEI schemas to version 3.6 and the TEI stylesheets to version 7.48.

XSpec 1.5.0

Updated the XSpec library to version 1.5.

JSON Everit Validation Engine 1.12.0

Updated the JSON Everit validation engine to 1.12.0.

Apache PDFBox 2.0.16

Updated the Apache PDFBox library to version 2.0.16.

Apache FontBox 2.0.16

Updated the Apache FontBox library to version 2.0.16.

Apache HTTP Client 4.5.9

The Apache HTTP Client libraries have been updated to version 4.5.9.

Rhino 1.7.11

Updated the Rhino JavaScript library to version 1.7.11.

Calabash 1.1.30-99

Updated the Calabash engine to version 1.1.30-99.

Apache Ant 1.10.7

Updated the bundled Apache Ant libraries to version 1.10.7.

Apache FOP 2.4

Updated Apache FOP to version 2.4.

Apache Batik 1.12

Updated the Apache Batik SVG toolkit to version 1.12.

focheck 0.7.4

The bundled focheck framework that is used for enhanced XSL-FO validation was updated to version 0.7.4.

Apache XML Security 2.1.4

Updated the Apache XML Security library to version 2.1.4.

JavaScript ECMAScript 6

Limited support was added for JavaScript version ECMAScript 6.

Guava 28.1

Updated the Guava Google Core Libraries to version 28.1.

Lucene 8.4.1

Updated the Lucene libraries to version 8.4.1.