[xsl] [ANN] Oxygen XML Editor version 25 has been released!

Subject: [xsl] [ANN] Oxygen XML Editor version 25 has been released!
From: "Octavian Nadolu octavian_nadolu@xxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 14 Oct 2022 06:45:54 -0000
Hi everyone,

We are excited to announce that Oxygen XML Developer/Editor version 25 is now available!

Listing below some new features which may be useful for the XSL community:

XSLT/XQuery
==================================

* The Saxon built-in XSLT processor used for XSLT transformations and debugging has been updated to version 11.4. The Saxon 11 release is currently considered as the most stable and reliable release. For the complete list of changes see https://www.saxonica.com/documentation11/#!changes.

* Updated the Saxon XQuery processor used for XQuery transformations and debugging to version 11.4.

* Saxon added more extension functions that are now supported and included in the list of proposals of the content completion assistant. Some examples include: saxon:analyze-uri($string), saxon:characters($string), saxon:EQName($string), saxon:in-scope-namespaces($element), saxon:array-member, saxon:function-annotations, saxon:new-element, and many more. For details, see https://www.saxonica.com/documentation11/index.html#!functions/saxon.

* The saxon:path() function has been dropped, but you can use the standard fn:path() function instead. The undocumented and untested functions saxon:pause-tracing() and saxon:resume-tracing() have also been dropped. Some extension functions in the Saxon namespace have not been carried forward to the SaxonCS product, either because they are obsolete, or because implementation is non-trivial. These include saxon:compile-query, saxon:is-defaulted, saxon:key-map, saxon:last-modified, saxon:parse-dateTime, saxon:send-mail, saxon:query, saxon:unparsed-entities.

* Syntax highlights are now rendered in text value templates when used inside the xsl:package element.

* When using the XSLT Stylesheet Documentation generator tool, the priority of the template is now generated in the template reference from the index (that is also sorted by priority).

* Validation and transformation support was added for XSLT 4.0 documents. Also, the content completion assistant now includes proposals for XSLT 4.0 elements, attributes, and XPath functions.

Scripting
==================================

* It is now possible to validate files or directories from a command line interface. You can check that your documents are valid from an integration server and you can generate reports in several formats (text, XML, JSON, or an HTML visual format). The scenarios and configurations that you use to validate files from Oxygen can be used from a command line script:
- You can specify a certain schema file to validate against.
- You can validate using the schema(s) that are internally associated within files.
- You can validate using the default Oxygen validation scenarios for respective file types.
- You can specify a validation scenario name to be referenced from either a scenarios file or a project file.


JSON
==================================

* Support was added for the latest JSON schema version 2020-12. This includes:
- Validating JSON schemas version 2020-12 accordingly to the specification.
- Content completion proposals when editing JSON schemas version 2020-12.
- Validating JSON/YAML documents against a JSON schema version 2020-12.
- Converting older JSON schemas to version 2020-12.
- A specific framework that will allow you to edit JSON schema documents in Author mode.


* You can now associate a JSON schema with a set of documents by defining it in the Document Type configuration dialog box. The associated schema will automatically be used for validation and content completion when opening a file that matches the particular document type. This allows users to create a framework for any type of JSON/YAML documents and automatically provide validation and content completion support based on the associate JSON Schema.

* A new version of the JSON Schema Documentation generator tool is available. This tool (available after installing the add-on) includes support to generate documentation for JSON schema version 2020-12 and 2019-09, as well as various fixes and improvements.

* The Generate Sample JSON Files tool now supports JSON schemas with the version 2020-12 and 2019-09. This means that it now handles properties, such as: $defs, minContains, maxContains, prefixItems, dependentSchemas, unevaluatedItems, unevaluatedProperties.

* You can now generate a JSON schema version 2020-12 from a JSON instance using the Generate JSON Schema tool.

* A new Convert JSON Schema action is now available in the Tools->JSON Tools menu. It provides a simple tool for converting older versions of JSON schema documents to the latest versions (Draft 2019-09 or Draft 2020-12).

* The content completion support was improved for JSON documents based on the JSON schema when pattern properties are used. Oxygen now determines the definition to be used in the content completion even if the pattern property does not match the property exactly.

* Multi-line values are now allowed and preserved when editing JSON schema documents in the Author visual editing mode. Previously, if you edited values that contained a new line character (\ n) and then switched to Author mode, the values were not preserved.

JSON Schema Design
==================================

* Support was added for the latest JSON schema versions (Draft 2019-09 and Draft 2020-12) in Design mode. This includes automatic detection of the version, validation, contextual menu actions were updated with the new components, and the Palette view was updated to include the new components.

* New search and refactoring actions were added in the contextual menu of the JSON schema Design mode to improve the handling of JSON definition type components. The new actions are:
- Search References - Searches all references of the selected definition in a scope determined by the schemas referenced in the file and the main schemas declared in validation scenarios.
- Search References in - Searches for all references of the selected definition in a defined scope.
- Search Occurrences in file - Searches all occurrences of the currently selected definition in the current file.
- Rename Component in - Allows you to rename the selected component name. You can preview the files being affected and these files are identified by searching the references of the selected component in the scope provided.
- Extract definition in another file - Extracts a definition to a new file. If the file does not already exist, the action will create a new file. If the file does exist, the action will find a corresponding group (or create one) to append the extracted definition.


* When building a JSON schema, you can now use a reference ($ref) in conjunction with other type-specific keywords (such as properties or items) for stricter validation.

* When dragging and dropping a property/definition or pattern property from the Palette view to the JSON schema editor, if the component does not have the corresponding group component (properties, definitions, patternProperties), it will automatically be created.

OpenAPI/AsyncAPI/JSON-LD
==================================

* Oxygen now offers built-in support for automatic validation, content completion, and editing OpenAPI documents (versions 2.0, 3.0, and 3.1) in Text or Author mode. This is based upon the OpenAPI specification JSON schema associated with each of the three versions. New document templates are also available for OpenAPI documents.

* Specific support for AsyncAPI documents is now provided with the addition of a new framework. This includes support for content completion, automatic validation, and editing AsyncAPI documents in Text or Author mode. New document templates are also available for AsyncAPI 1.x and AsyncAPI 2.x documents.

* A specialized framework was added for working with JSON-LD files. This support includes automatic validation, new document templates, the content completion mechanism offers valid proposals for these types of documents, and when editing these types of documents, you have access to the various editing features and actions that are available for normal JSON documents.

* The OpenAPI Documentation Generator tool can be used for generating documentation for OpenAPI documents in HTML format, including annotations and cross references. Various improvements where added in the new version:
- Redesign - The documentation output has a new design to make it easier to read and understand the OpenAPI specification.
- OpenAPI 3.1 Support - Support was added to generate documentation for OpenAPI 3.1 documents.
- Supports for YAML Files - The input file used for generating the documentation can be in either YAML or JSON format.


* Various improvements were made to the OpenAPI Tester add-on:
- A new Run OpenAPI Test Scenario tool is available in the Tools->JSON Tools menu. It provides you with the capability of running a test suite for an OpenAPI document.
- Syntax highlights are now rendered in the Request body and Response area to help make the code more readable.
- Undo/redo support was added in the Request body and Response area.


* A new framework for OpenAPI test scenario files was added. This helps you to create and edit test scenarios more easily by offering automatic validation, content completion, and a visual editing interface in the Author visual editing mode.

* When editing OpenAPI or AsyncAPI documents in Author mode, a new Markdown Syntax Highlight CSS style can be selected from the Styles drop-down menu (available on the toolbar). It makes it easier for you to visualize descriptions with Markdown style syntax highlights.

Add-ons
==================================

* Some improvements were made to the Git Client add-on:
- A new Validate each file before committing option was added in the Git Client preferences page. Selecting this option enables automatic validation of each file before each commit.
- A new Validate all files from the project's "Main Files" folder before pushing option was added in the Git Client preferences page. Selecting this option enables automatic validation of the files located in the Main Files folder before the push operation processes.
- The integrated JGit library was upgraded to version 6.3, which brings support for ssh-agent forwarding.


* Various improvements were made to the Batch Documents Converter add-on:
- You can now convert JSON or YAML files that use and conform to the OpenAPI specification (versions 2.0, 3.0, or 3.1) to DITA documents and there is a Create DITA maps from OpenAPI documents option that can be selected to instruct the converter to split the documents into separate topics that are referenced in a DITA map.
- Word to DITA or HTML conversion improvements:
- The Word styles mapping configuration was improved by inheriting the style configuration of the custom style from the base style.
- SVG images embedded in Word documents are preserved as SVG.
-IDs that result from image and table bookmarks are now handled better to find the correct location.
- IDs generation was improved for topics and sections by using the text from headings.
- Handling of tables was improved by preserving header row information during the conversion when converting Word to DITA or HTML.
- For HTML to DITA conversions:
B - Conversion of object elements from HTML was improved by adding a proper @outputclass attribute in the DITA result.
B - An option was added in the conversion dialog box that allows you to decide whether or not the <div> elements will be ignored.
- For Markdown to DITA conversions, support was added for Markdown abbreviations.
- For HTML to XHTML conversions, the formatting of <pre> elements is prevented.


* Various improvements were added to the Terminology Checker add-on:
- XPath Context - You can define simple XPath expressions for particular defined rules to match or skip specific elements.
- Part of Speech Tagging - When scanning for terminology problems, the problem is presented only if the term's part of speech matches the one specified in the defined rule (available only for the English language).
- Phases - In the terminology configuration file, you can set the phase in which incorrect terms are detected (editing/validation/always). Performance improvements were also implemented when checking files.
- Load Terms Provided by Other Add-ons - Any Oxygen add-on (plugin) can now contribute terminology files to be used by the Terminology Checker. The contributed terminology files will be loaded and used if the contributor add-on is enabled.


Other
==================================

* Syntax highlights now appear in Docbook-based WebHelp Classic output when publishing <programlisting> elements that contain JSON, XQuery, YAML, PowerShell, DTD, or CMD (Windows-style command script) content.

* Basic editing support and syntax highlights are now provided for working with PowerShell files in Oxygen.

* Normal folders can now be added to the Main Files directory when the Main Files Support is enabled. Previously, only logical folders and files could be added.

* It is now easier to add indentation in code blocks by using the Tab or Shift+Tab keyboard shortcuts.

* The speed for the XPath in Files mechanism was greatly improved when running XPath over XML documents with associated DTDs, XML Schema, or Relax NG Schemas.

Component Updates
==================================

* Starting with Oxygen version 25.0, Java 8 is no longer officially supported. Java 11 is now the minimum officially supported version.

* Starting with Oxygen version 25.0, the Windows 11 operating system is officially supported.

* The version of OpenJDK that is bundled with the installation kits for providing the Java Runtime Environment was updated to version 17.0.4.1 from Eclipse Adoptium.

* The OpenJDK distribution of Oxygen for macOS is now universal, as the same distribution now runs on both Intel Macs and Apple Silicon Macs.

* The Windows ZIP distribution of Oxygen XML Editor/Author/Developer now bundles the 64-bit version of the OpenJDK (17+) JRE. Previously, the Java 8u202 32-bit version was bundled.

* Updated the Eclipse plugin to support version 4.25.

* The Eclipse plugin now requires a minimum of Eclipse version 4.5.

* Support for using MathFlow when rendering and editing MathML equations in the Author visual editing mode is officially deprecated. It will be replaced soon by a new integration with MathType, developed by Wiris.

* The DITA Open Toolkit version that is bundled with Oxygen has been updated to version 3.7.3.

* Updated the bundled TEI schemas to version 4.4.0.

* Updated the bundled TEI XSLT stylesheets to version 7.53.0.

* Updated the Apache FOP library to version 2.7.

* Updated the Apache Batik toolkit to version 1.15.

* Updated the Calabash engine to version 1.5.1-110.

* Updated the JSON Schema Validator library from Everit to version 1.14.1.

* Updated the third-party Jackson libraries to version 2.13.2 to help prevent vulnerability issues. Specifically, the jackson-annotations, jackson-core, and jackson-dataformat-yaml libraries were updated to version 2.13.2 and the jackson-databind library was updated to version 2.13.2.2.

* Updated the JSON-Java (org.json) package to version 20220320.

* Updated the built-in Saxon processor that is used for XSLT and XQuery transformations and debugging to version 11.4.

* Updated the XML Resolver component to version 4.5.0.

* Updated the saxon-sql library to version 11.4.

* The Saxon 10 transformer add-on was updated to version 10.8. This allows you to validate and transform XSLT and XQuery documents with the Saxon 10.8 engine.

* Updated the Xerces XPath 2.0 processor to version 1.2.1.

* Updated the Mozilla Rhino JavaScript engine to the latest stable 1.7.14 version.

* The XProc Calabash engine has been updated to version 1.5.0 for Saxon 11.

* The SnakeYAML library was updated to version 1.31.


For the complete list of features, go to https://www.oxygenxml.com/xml_editor/whats_new.html


We hope you will enjoy Oxygen 25 as much as we enjoyed developing it.
As always, thank you for your support and feedback is welcome!

Best regards!
Octavian

--
Octavian Nadolu
<oXygen/> XML Editor
http://www.oxygenxml.com

Current Thread