Announcing Saxon 12.6!

By Norm Tovey-Walsh on May 02, 2025 at 03:00p.m.

The Saxon 12.6 maintenance release has been published. This is a maintenance release for Java, C#, C/C++, PHP, and Python that addresses well over 100 issues and feature requests reported since the Saxon 12.5 release.

Saxon 12.6 was released on 2 May 2025. This release has been uploaded to the usual locations on the Saxonica website, GitHub, and Maven, PyPi, and NuGet. SaxonCS 12.6 is built with .NET 8.

For a list of the issues resolved in this release, please visit the issue trackers for SaxonJ and SaxonCS or SaxonC on the Saxon support site.

Download products:

For more details, please consult the documentation.

Partial list of issues resolved

This section is a subset of the complete list of resolved issues. It’s curated to bring attention to the bugs that seem most likely to impact customers.

Issues in SaxonJ and SaxonCS

In addition to the individual issues listed below, this release fixes several issues related to streaming transformations and several issues related to tracing.

For a full list, see the issue tracker.

Issues in SaxonC

In the SaxonC 12.6 release, we have included a compiled C++ API library (.dll, .so, .dylib as appropriate) along with accompanying CMake files to simplify integration into C++ applications. This is provided in addition to the core SaxonC library, which continues to be cross-compiled using GraalVM.

To use SaxonC in a C++ project, users now only need the two compiled library files and the header files—greatly reducing setup complexity. Integrating with a project already using CMake is as simple as using FindPackage(SaxonCHE 12.6.0) (Or SaxonCEE, or SaxonCPE, if using the EE or PE editions). A sample CMake project is provided with the samples in the download ZIP.

This change applies only to the C++ API. It does not affect the PHP or Python extensions:

PHP
Installation instructions are included in the README file in the download ZIP and also available in the online documentation.
Python
The extension is distributed as pre-built wheels via PyPI, making installation straightforward using pip.

In addition to the individual issues listed below, this release fixes a number of multithreading issues, encoding problems, and memory leaks. API support has been added for getcwd, getProperty/getProperties, and getJustInTimeCompilation on several objects. There have also been a number of documentation improvements.

For a full list, see the issue tracker.

If you encounter any issues with Saxon 12.6, please report them on our issue tracker.