The Saxon 12.3 maintenance release has been published. This is a maintenance release for Java, C#, C/C++, PHP, and Python that fixes a number of issues reported since the Saxon 12.2 release.
Saxon 12.3 was released on 4 July 2023. This release has been uploaded to the usual locations on the Saxonica website, GitHub, and Maven, PyPi, and NuGet. SaxonCS 12.3 is built with .NET 6. This release includes SaxonC and Python releases for the ARM 64 architecture as well as X86-64 architecture.
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:
- Binaries for PE and EE are available from our download pages.
- SaxonJ-HE is available on the Maven Central repository.
- SaxonJ-HE, PE, and EE can also be found on our experimental Maven repository.
- Python wheels for SaxonC (HE, PE, and EE) are available from PyPI.
- SaxonCS is available on NuGet
- Saxon-HE is no longer distributed on SourceForge. It is now available from our open source GitHub repository. The GitHub repository also provides source code for those who need it.
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
For a full list, see the issue tracker.
- 6003: Inline function expression evaluated using xsl:evaluate
- 6018: UnicodeString - indexWhere does not start from the expected position
- 6022: Eager evaluation prematurely throws exception in analyze-string/non-matching-string.
- 6024: java.lang.NoClassDefFoundError: org/jdom2/Document
- 6033: Invalid warning about field in xs:key
- 6034: Problems with saxon:slice()
- 6036: Undeclaration of default namespace is not reported to a SAXResult
- 6040: Invalid warning displayed when map:contains() is used
- 6054: NamedNodeMap.getNamedItem throw UnsupportedOperationException
- 6059: Bug on "-" castable to xs:duration
- 6061: Crash in SaxonCS using ";n" in regex flags
- 6063: Incorrect attribute indentation
- 6067: Fixed NPE in Saxon HE 12.2
- 6076: Fixed NPE in Saxon HE 12.2
- 6085: Fixed an incomplete path in error messages in a validation report
- 6086: Updated the validation-reports.xsd
- 6091: Fixed an NPE in ContextStackIterator.getMajorCaller
- 6092: Fixed a bug in defaultOpenContent/@appliesToEmpty in XML Schema support
- 6093: Fixed a bug in a predicate with last()
- 6095: Fixed an index out-of-bounds exception when using an accumulator-rule match with variables
Issues in SaxonC
For a full list, see the issue tracker.- 6017: Interrupted by signal 11: SIGSEGV when PyDocumentBuilder.set_schema_validator is set to None
- 6023: Thread 1 "python3" received signal SIGSEGV, Segmentation fault
- 6025: Python Saxon not releasing memory
- 6053: PydmNode object gets deleted before reuse
- 6075: Unable to read unicodeBlocks.xml file
- 6077: Axis Iterator required on the XdmNode
- 6078:
Undefined reference to
dlopen@GLIBC_2.34
- 6084: Exception: Initial template parameters can only be of type PyXdmValue
- 6098: SaxonApiException::getSystemId() throws NullPointerException
If you encounter any issues with Saxon 12.3, please report them on our issue tracker.