Saxonica: Latest releases

Latest releases

This page contains release information about the current actively maintained Saxon product releases:

For information on previous releases, see Older releases.

Saxon 13

This section contains information which applies to Saxon 13 products on all platforms. See the sections below for platform-specific product details:

Saxon 13 is a new major release of SaxonJ, SaxonCS, and SaxonC, all built from the same code base. The headline additions for this release are:

  • A total of 178 feature changes defined by the draft 4.0 specifications, most notably:
    • Path navigation in JSON trees using JNodes
    • A new function for XML-to-JSON conversion: fn:element-to-map
    • lookahead/lookbehind in regular expressions
    • functions to support CSV parsing
  • Redesign of the schema processor to allow multiple schemas to coexist (so you can validate an input document with one schema, and the output with another)
  • SaxonCS-HE: a free version of Saxon for .NET
  • SaxonC: support for extension functions in C++, Python and PHP

Stylesheets that have been compiled into SEF files with earlier versions of Saxon should be recompiled with the new release for use with Saxon 13. (Also note that compatibility of Saxon 13 SEFs with SaxonJS is not yet tested, and should be avoided until later releases.)

Changes and fixes

Changes in the functionality of the product in successive releases are documented in the Change history section of the documentation. Bug fixes are documented in the bug tracker database; you can search for bugs cleared in a particular maintenance release.

SaxonJ 13

SaxonJ 13.0 released 29 May 2026: EE, PE, and HE editions, for Java 17+.

Product headlines

SaxonJ is the flagship Java product and remains available in three editions, Home (HE), Professional (PE), and Enterprise (EE). SaxonJ 13.0 is built and tested using Java 21, but is supported with Java 17 or later.

To download the latest releases, see Java platform downloads. All recent releases are available from the Saxonica downloads website. Alternatively the Saxon-HE JAR files can be downloaded from Maven (package name Saxon-HE) or from GitHub. The GitHub repository also provides source code for those who need it.

SaxonCS 13

SaxonCS 13.0 released 29 May 2026: EE and HE editions, for .NET 8+.

Product headlines

For SaxonCS 13, a free version of Saxon for .NET is now available (SaxonCS-HE) as well as the commercial product (SaxonCS-EE).

SaxonCS is built by transpiling the source code of SaxonJ to C#. SaxonCS 13.0 is built and tested using .NET 10, but is supported with .NET 8 or later. Most new features are inherited from SaxonJ, with corresponding updates in the C# API. One new feature for SaxonCS-EE 13 is that spellout numbering is now implemented using the ICU4N library (and therefore for all languages supported by ICU4N).

Installation and download

You can install SaxonCS using the nuget package manager at nuget.org. For SaxonCS 13 there are now two packages available, SaxonCS-HE and SaxonCS-EE. Typically all you need to do is to add a dependency to the package you want (e.g. saxonica/SaxonCS-EE 13.0.0 or later) to your application in Visual Studio or JetBrains Rider, and the rest of the installation process is automatic. But the code won't execute until you install a license key.

With the SaxonCS nuget package installed, you can run transformations and queries from the command line using a command such as "dotnet SaxonCS transform -s:src.xml -xsl:style.xsl". Alternatively you can install platform-specific executables (for Windows, Linux, and MacOS) that run directly from the command line (rather than as subcommands of dotnet): see .NET platform downloads.

SaxonC 13

SaxonC 13.0 released 29 May 2026: EE, PE, and HE editions, for C/C++, PHP, and Python.

SaxonC is built by compiling the source code of SaxonJ to native executables that run on the C/C++ platform (using GraalVM Native Image). Language bindings are available for C, C++, PHP, and Python. SaxonC provides APIs to run XSLT 3.0, XQuery 3.1, XPath 3.1, and XSD 1.1; and many new 4.0 language features with the PE and EE editions.

All SaxonC editions currently ship with GraalVM Community Edition. For Python users (versions 3.9 - 3.14t), the SaxonC API for Python can be installed using pip from the standard PyPi repository.

SaxonC is available in the standard Saxon range of editions: the open-source product SaxonC-HE, and the commercial products SaxonC-PE and SaxonC-EE. Separate downloads are available to run on Linux, MacOS and Windows. For further information see SaxonC.

Saxon 12

This section contains information which applies to Saxon 12 products on all platforms. See the sections below for platform-specific product details:

The Saxon 12.8 maintenance release closes a small security gap related to running untrusted stylesheets or queries under Saxon-PE or Saxon-EE. We urge anyone running untrusted stylesheets or queries to upgrade immediately. Please see the release announcements blog for more information.

Saxon 12 is a new major release of SaxonJ, SaxonCS, and SaxonC, all built from the same code base. It is the first time we have released simultaneously for all three platforms, which we have been able to achieve thanks to progress on build and test automation and continuous integration.

Bytecode generation has been dropped from SaxonJ in this release. The benefits of bytecode generation were becoming more and more marginal as Java's JIT compilation improved, and in the end, very few real production workloads gained a significant boost. Dropping bytecode generation also removes a potential security attack surface, as demonstrated by recent vulnerabilities found in the Xalan product. In its place we have introduced improvements to the interpreter. Using a technique we call expression elaboration, pioneered in SaxonJS, we now generate a Java or C# lambda function for every XPath expression in the stylesheet. This is done on first execution, to reduce the effort spent optimizing template rules that might never be used. It turns out that this gives particularly good results for SaxonCS, where the performance boost is around 20%, compared with 5% for SaxonJ.

Another significant development for performance optimization is a move towards use of learning strategies. Influenced by trends with JIT optimization technology, rather than relying entirely on static analysis to make optimization decisions, we are increasingly making decisions based on run-time monitoring. For example, it is hard to decide purely from static analysis what evaluation strategy to use for function parameters (lazy, eager, or incremental). By monitoring how the supplied parameter is actually used at run-time, we can make a more informed choice.

Most of the new functionality in Saxon 12 consists of experimental implementation of new features being developed for XSLT 4.0, XQuery 4.0, and XPath 4.0, a W3C Community initiative in which Saxonica is playing a leading role. This provides a wide range of handy new functions and operators. One of the most significant features is that user-defined functions can now define optional parameters with a default value; they can also be called using keyword arguments as well as positional arguments. These new features cannot yet be considered stable, and must be explicitly enabled if they are to be used. They generally require Saxon-PE or Saxon-EE.

One of the new features is a parse-html() function for processing HTML5 documents. Saxon previously offered a saxon:parse-html() extension, but it was not well tested, and was not conformant with HTML5. The new function provides welcome new capability for applications that need to consume HTML5 data. The SaxonJ implementation uses validator.nu, while SaxonCS uses AngleSharp.

Stylesheets that have been compiled into SEF files should be recompiled with the new release.

Changes and fixes

Changes in the functionality of the product in successive releases are documented in the Change history section of the documentation. Bug fixes are documented in the bug tracker database; you can search for bugs cleared in a particular maintenance release.

SaxonJ 12

SaxonJ 12.9 released 12 September 2025: EE, PE, and HE editions.

SaxonJ 12.8 released 3 July 2025: EE, PE, and HE editions.

SaxonJ 12.7 released 16 May 2025: EE, PE, and HE editions.

SaxonJ 12.6 released 2 May 2025: EE, PE, and HE editions.

SaxonJ 12.5 released 2 July 2024: EE, PE, and HE editions.

SaxonJ 12.4 released 29 November 2023: EE, PE, and HE editions. With this release, Saxon 12 is now recommended as the most stable and reliable release for production use.

SaxonJ 12.3 released 4 July 2023: EE, PE, and HE editions.

SaxonJ 12.2 released 2 May 2023: EE, PE, and HE editions.

SaxonJ 12.1 released 21 March 2023: EE, PE, and HE editions.

SaxonJ 12.0 released 12 January 2023: EE, PE, and HE editions.

Product headlines

SaxonJ is the flagship Java product and remains available in three editions, Home (HE), Professional (PE), and Enterprise (EE). SaxonJ 12.0 to 12.5 are built and tested using Java 11, and from 12.6 onwards SaxonJ is built and tested using Java 21, but is supported with Java 8 or later. (Note: due to bug #5824, Saxon 12.0 did not work under Java 8; this is fixed in Saxon 12.1. Furthermore, support for Java 8 was dropped for Saxon 12.6, but reinstated for 12.7.)

Saxon-HE is no longer distributed on SourceForge. The JAR files can be downloaded from Maven (package name Saxon-HE) or from GitHub. The GitHub repository also provides source code for those who need it.

SaxonCS 12

SaxonCS 12.9 released 12 September 2025.

SaxonCS 12.8 released 3 July 2025.

SaxonCS 12.7 released 16 May 2025.

SaxonCS 12.6 released 2 May 2025.

SaxonCS 12.5 released 2 July 2024.

SaxonCS 12.4 released 29 November 2023. With this release, Saxon 12 is now recommended as the most stable and reliable release for production use.

SaxonCS 12.3 released 4 July 2023.

SaxonCS 12.2 released 2 May 2023.

SaxonCS 12.1 released 21 March 2023.

SaxonCS 12.0 released 12 January 2023.

Product headlines

SaxonCS is built by transpiling the source code of SaxonJ to C#. As well as new features inherited from SaxonJ, it now targets .NET 6 (and from SaxonCS 12.6, it targets .NET 8), and plugs some gaps in the C# API. The new release also offers integration with the XML capabilities of LINQ.

SaxonCS delivers the functionality of Enterprise Edition: it is a commercial product and you will need a license key to activate it. 30-day evaluation licenses are available.

For further details, see the Saxon 12 feature matrix.

Installation and download

You can install SaxonCS using the nuget package manager at nuget.org. Typically all you need to do is to add a dependency to the package (saxonica/SaxonCS 12.0.0 or later) to your application in Visual Studio or JetBrains Rider, and the rest of the installation process is automatic. But the code won't execute until you install a license key.

With the SaxonCS nuget package installed, you can run transformations and queries from the command line using a command such as "dotnet SaxonCS transform -s:src.xml -xsl:style.xsl". Alternatively you can install platform-specific executables (for Windows, Linux, and MacOS) that run directly from the command line (rather than as subcommands of dotnet): see .NET platform downloads.

SaxonC 12

SaxonC 12.9 released 12 September 2025: EE, PE, and HE editions, for C/C++, PHP, and Python.

SaxonC 12.8 released 3 July 2025: EE, PE, and HE editions, for C/C++, PHP, and Python.

SaxonC 12.7 released 16 May 2025: EE, PE, and HE editions, for C/C++, PHP, and Python.

SaxonC 12.6 released 2 May 2025: EE, PE, and HE editions, for C/C++, PHP, and Python.

SaxonC 12.5 released 2 July 2024: EE, PE, and HE editions, for C/C++, PHP, and Python.

SaxonC 12.4.2 released 25 January 2024: EE, PE, and HE editions, for C/C++, PHP, and Python.

SaxonC 12.4.1 released 1 December 2023: EE, PE, and HE editions, for C/C++, PHP, and Python. With this release, Saxon 12 is now recommended as the most stable and reliable release for production use.

SaxonC 12.4 released 29 November 2023: EE, PE, and HE editions, for C/C++, PHP, and Python.

SaxonC 12.3 released 4 July 2023: EE, PE, and HE editions, for C/C++, PHP, and Python.

SaxonC 12.2 released 2 May 2023: EE, PE, and HE editions, for C/C++, PHP, and Python.

SaxonC 12.1 released 21 March 2023: EE, PE, and HE editions, for C/C++, PHP, and Python.

SaxonC 12.0 released 12 January 2023: EE, PE, and HE editions, for C/C++, PHP, and Python.

SaxonC provides APIs to run XSLT 3.0, XQuery 3.1, XPath 3.1, and XSD 1.1 from C/C++, PHP or Python applications.

SaxonC is a library with APIs for C, C++, PHP, and Python. This version is reengineered to use GraalVM, replacing the defunct ExcelsiorJET technology. The main benefit of the change is that we are now running on a supported platform, greatly reducing the risk of security vulnerabilities. In addition GraalVM is showing excellent performance results. All SaxonC editions currently ship with GraalVM Community Edition. For Python users (versions 3.9 - 3.13), the SaxonC API for Python can be installed using pip from the standard PyPi repository.

SaxonC is available in the standard Saxon range of editions: the open-source product SaxonC-HE, and the commercial products SaxonC-PE and SaxonC-EE. Separate downloads are available to run on Linux, MacOS and Windows. For further information see SaxonC.

The Saxon-HE GitHub repository provides the SaxonC-HE source code for those who need it.

SaxonJS 3

SaxonJS 3.0.0-beta2 second preview release 2 June 2025.

SaxonJS 3.0.0-beta1 first preview release 18 December 2024.

SaxonJS 3.0 is a major upgrade for the SaxonJS product. This version includes a number of new features as well as internal improvements. Stylesheets can be compiled to SEF using the internal compiler in SaxonJS for Node.js, or using Saxon-EE (to use all latest features, use 12.5 or later).

SaxonJS is a high-performance XSLT 3.0 processor that runs either in the browser, or on Node.js. It conforms with the latest W3C specifications (notably XSLT 3.0 and XPath 3.1), together with extensions designed to meet the needs of modern web applications.

For further information see SaxonJS.

SaxonJS 2

SaxonJS 2.7 maintenance release 17 October 2024.

SaxonJS 2.6 maintenance release 13 October 2023.

SaxonJS 2.5 maintenance release 4 October 2022.

SaxonJS 2.4 maintenance release 12 May 2022.

Saxon-JS 2.3 maintenance release 20 August 2021.

Saxon-JS 2.2 maintenance release 11 May 2021.

Saxon-JS 2.1 maintenance release 2 March 2021.

Saxon-JS 2.0 first release 12 June 2020.

SaxonJS is a high-performance XSLT 3.0 processor that runs either in the browser, or on Node.js. It conforms with the latest W3C specifications (notably XSLT 3.0 and XPath 3.1), together with extensions designed to meet the needs of modern web applications. The latest version, SaxonJS 2, is a major upgrade. Stylesheets can be compiled to SEF using the internal compiler in SaxonJS for Node.js, or using Saxon-EE (10.0 or later).

For further information see SaxonJS.