<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href="/xslt/atom.xsl" type="text/xsl"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xml:lang="EN-us"><title>Saxonica announcements</title><link href="https://blog.saxonica.com/announcements/" rel="alternate" type="text/html"/><link href="https://blog.saxonica.com/announcements/atom.xml" rel="self"/><id>https://blog.saxonica.com/announcements/atom.xml</id><updated>2026-05-29T15:00:52.272955624Z</updated><entry><title>Announcing Saxon 13.0!</title><link href="https://blog.saxonica.com/announcements/2026/05/saxon-13.0.html" rel="alternate" type="text/html"/><id>https://blog.saxonica.com/announcements/2026/05/saxon-13.0.html</id><published>2026-05-29T16:00:00Z</published><content type="xhtml" xml:base="https://blog.saxonica.com/announcements/2026/05/saxon-13.0.html"><div xmlns="http://www.w3.org/1999/xhtml">
<h1>Announcing Saxon 13.0!</h1>

<p>The first release of Saxon 13 has just been published. This is a new release
for Java, C#, C/C++, PHP, and Python. The highlights in this release are:
</p>

<ul>
<li>A redesigned Schema API that allows multiple schemas to coexist. You can now validate
an input document with one schema and the result with another, even for the same namespace.</li>
<li>More than 175 features from the draft 4.0 specifications are now available
in Saxon-PE and Saxon-EE, including:
  <ul>
    <li>JNodes, path navigation over trees of JSON maps and arrays,</li>
    <li>Lookahead and lookbehind in regular expressions,</li>
    <li>Functions for CSV parsing,</li>
    <li>Functions for parsing with <a href="https://invisiblexml.org/">Invisible XML</a>, and</li>
    <li>More flexible XML-to-JSON conversions with <code>fn:element-to-map</code>.</li>
  </ul>
</li>
<li>On the topic of 4.0,
  <ul>
    <li>Mike <a href="/mike/2026/05/101-things-in-QT4.html">recently published</a>
    a list of <em>101 new things</em> you can do with Saxon using 4.0 features!</li>
    <li>(For more information about 4.0, see <a href="https://qt4cg.org/">QT4CG</a>.)</li>
  </ul>
</li>
<li>Support for SaxonC extension functions written in C++, Python, and PHP.</li>
<li>SaxonCS-HE, our first release of the free Saxon HE product built for .NET with C#.</li>
</ul>

<p>Download products:</p>

<ul>
<li>Binaries for SaxonJ, SaxonC, and SaxonCS are available from our
<a href="http://www.saxonica.com/download/download_page.xml">download pages</a>.
</li>
<li>SaxonJ-HE is available on the
<a href="https://central.sonatype.com/artifact/net.sf.saxon/Saxon-HE/13.0">Maven Central
repository</a>.
</li>
<li>SaxonJ-HE, PE, and EE can also be found on our
<a href="https://dev.saxonica.com/maven/">Maven repository</a>.
</li>
<li>Python wheels for SaxonC (HE, PE, and EE) are available from
<a href="https://pypi.org/user/saxonica/">PyPI</a>.
</li>
<li>SaxonCS-EE and SaxonCS-EE are available on
<a href="https://www.nuget.org/packages/SaxonCS">NuGet</a></li>
<li>Saxon-HE is available from our open source
<a href="https://github.com/Saxonica/Saxon-HE/">GitHub repository</a>.
The GitHub repository also provides source code for those who need it.
</li>
</ul>

<p>At the time of publication, a technical issue prevents us from
publishing Python wheels for Windows. We will update the PyPI repository with
those wheels as soon as they are available. Also, the resources release is not
yet ready.</p>

<p>For more details, please consult
<a href="https://www.saxonica.com/documentation13">the documentation</a>.
</p>

<p>If you encounter any issues with Saxon 13.0, please
<a href="https://saxonica.plan.io/projects/saxon/issues">report them</a>
on our issue tracker.</p>

<p>P.S. <a href="/announcements/2026/05/21-saxonica.html">See you in Prague!</a>
</p>

</div></content></entry><entry><title>Saxonica User Group Meeting</title><link href="https://blog.saxonica.com/announcements/2026/05/21-saxonica.html" rel="alternate" type="text/html"/><id>https://blog.saxonica.com/announcements/2026/05/21-saxonica.html</id><published>2026-05-21T14:30:00Z</published><content type="xhtml" xml:base="https://blog.saxonica.com/announcements/2026/05/21-saxonica.html"><div xmlns="http://www.w3.org/1999/xhtml">


<p>Saxonica is pleased to announce that we’re having a user group meeting on the
<a href="https://www.xmlprague.cz/day1-2026/">pre-conference day</a>
at <a href="https://www.xmlprague.cz/">XML Prague</a>. Everyone is welcome!</p>

<p>We have a very loose agenda prepared, but this will be an informal event with
lots of opportunities to ask questions and explore what’s new with Saxonica, our
products, and the standards.</p>

<p>The proposed line up is:</p>

<ul>
<li>Introductions, products, product roadmap,
and maybe a bit of a peek at what’s been going on in <a href="https://qt4cg.org/">QT4CG</a> as it
relates to Saxonica.</li>
<li>An overview of the new features under development for Saxon 13.</li>
<li>A presentation of some of the exciting new developments in SaxonC, Python, and PHP.</li>
<li>A demonstration of some of the new capabilities of Saxon 13.</li>
<li>Lots of opportunity to chat with the whole Saxonica team!</li>
</ul>

<p>Please come join us in room RB211 starting at 10:00am on Thursday, 4 June 2026.</p>

</div></content></entry><entry><title>Announcing Saxon 12.9!</title><link href="https://blog.saxonica.com/announcements/2025/09/saxon-12.9.html" rel="alternate" type="text/html"/><id>https://blog.saxonica.com/announcements/2025/09/saxon-12.9.html</id><published>2025-09-12T17:00:00Z</published><content type="xhtml" xml:base="https://blog.saxonica.com/announcements/2025/09/saxon-12.9.html"><div xmlns="http://www.w3.org/1999/xhtml">
<h1>Announcing Saxon 12.9!</h1>

<p>The Saxon 12.9 maintenance release has been published. This is a maintenance
release for Java, C#, C/C++, PHP, and Python that fixes a number of
issues that have been raised since 12.8 was released.</p>

<p>Saxon 12.9 was released on 12 September 2025. This release has been uploaded to the
usual locations on the Saxonica website, GitHub, and Maven, PyPi, and NuGet.
SaxonCS 12.9 is built with .NET 8.</p>

<p>For a list of the issues resolved in this release, please visit the issue trackers
for
<a href="https://saxonica.plan.io/projects/saxon/issues?utf8=%E2%9C%93&amp;amp;set_filter=1&amp;amp;sort=id%3Adesc&amp;amp;f%5B%5D=status_id&amp;amp;op%5Bstatus_id%5D=c&amp;amp;f%5B%5D=cf_6&amp;amp;op%5Bcf_6%5D=%3D&amp;amp;v%5Bcf_6%5D%5B%5D=105&amp;amp;f%5B%5D=&amp;amp;c%5B%5D=tracker&amp;amp;c%5B%5D=status&amp;amp;c%5B%5D=priority&amp;amp;c%5B%5D=subject&amp;amp;c%5B%5D=assigned_to&amp;amp;c%5B%5D=updated_on&amp;amp;group_by=&amp;amp;t%5B%5D=">SaxonJ and SaxonCS</a> or
<a href="https://saxonica.plan.io/projects/saxon-c/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=status_id&amp;op%5Bstatus_id%5D=c&amp;f%5B%5D=cf_6&amp;op%5Bcf_6%5D=%3D&amp;v%5Bcf_6%5D%5B%5D=106&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">SaxonC</a>
on the Saxon support site.
</p>

<p>Download products:</p>

<ul>
<li>Binaries for PE and EE are available from our
<a href="http://www.saxonica.com/download/download_page.xml">download pages</a>.
</li>
<li>SaxonJ-HE is available on the
<a href="https://central.sonatype.com/artifact/net.sf.saxon/Saxon-HE/12.9">Maven Central
repository</a>.
</li>
<li>SaxonJ-HE, PE, and EE can also be found on our
<a href="https://dev.saxonica.com/maven/">experimental Maven repository</a>.
</li>
<li>SaxonC releases for HE, PE, and EE are also available from our
<a href="http://www.saxonica.com/download/download_page.xml">download pages</a>.
</li>
<li>Python wheels for SaxonC (HE, PE, and EE) are available from
<a href="https://pypi.org/user/saxonica/">PyPI</a>.
</li>
<li>SaxonCS is available on
<a href="https://www.nuget.org/packages/SaxonCS">NuGet</a></li>
<li>Saxon-HE is available from our open source
<a href="https://github.com/Saxonica/Saxon-HE/">GitHub repository</a>.
The GitHub repository also provides source code for those who need it.
</li>
</ul>

<p>For more details, please consult
<a href="https://www.saxonica.com/documentation12">the documentation</a>.
</p>

<h2>Issues resolved in SaxonJ</h2>

<p>This release fixes about twenty issues in SaxonJ and SaxonCS.</p>

<ul>
<li><a href="https://saxonica.plan.io/issues/6893">6893</a>
    Corrected an error in the Gizmo help messages</li>
<li><a href="https://saxonica.plan.io/issues/6892">6892</a>
    Fixed expression tree corruption after a rewrite optimization</li>
<li><a href="https://saxonica.plan.io/issues/6891">6891</a>
    Fixed an issue with regex flags when using the Java regex engine</li>
<li><a href="https://saxonica.plan.io/issues/6889">6889</a>
    Fixed an infinite loop when using trace listeners with try/catch and function variables</li>
<li><a href="https://saxonica.plan.io/issues/6887">6887</a>
    Added synchronization to avoid an exception</li>
<li><a href="https://saxonica.plan.io/issues/6883">6883</a>
    Corrected an error where the xsl:catch errors attribute didn’t accept EQNames</li>
<li><a href="https://saxonica.plan.io/issues/6881">6881</a>
    Fixed an exception when using 'position() eq last()' with no context item</li>
<li><a href="https://saxonica.plan.io/issues/6878">6878</a>
    Changed <code>parse-xml()</code> so that validation is never attempted</li>
<li><a href="https://saxonica.plan.io/issues/6866">6866</a>
    Corrected a namespace handling error when using the Domino tree model</li>
<li><a href="https://saxonica.plan.io/issues/6864">6864</a>
    Implemented a performance improvement for slash expressions and simple step expressions</li>
<li><a href="https://saxonica.plan.io/issues/6863">6863</a>
    Corrected a navigation error in snapshot trees</li>
<li><a href="https://saxonica.plan.io/issues/6860">6860</a>
    Corrected errors in how character maps were handled when using adaptive serialization</li>
<li><a href="https://saxonica.plan.io/issues/6858">6858</a>
    Improved error location information for some exceptions</li>
<li><a href="https://saxonica.plan.io/issues/6856">6856</a>
    Corrected an API error distinguishing between empty maps and empty sequences</li>
<li><a href="https://saxonica.plan.io/issues/6840">6840</a>
    Fixed an incorrect type inference for call on abs()</li>
<li><a href="https://saxonica.plan.io/issues/6824">6824</a>
    Fixed an error in how the retained static context is managed</li>
<li><a href="https://saxonica.plan.io/issues/6818">6818</a>
    Corrected an exception that could arise if attempting to serialize a free-standing attribute</li>
<li><a href="https://saxonica.plan.io/issues/6809">6809</a>
    Fixed the line number of errors in a free-standing XPath expression</li>
<li><a href="https://saxonica.plan.io/issues/6805">6805</a>
    Fixed a streaming bug related to comment handling</li>
<li><a href="https://saxonica.plan.io/issues/6799">6799</a>
    Fixed an exception on number-formatter option function of xml-to-json using xsl:value-of</li>
</ul>

<h2>Issues in SaxonC</h2>

<p>This release includes a number of improvements in memory management
and support for multi-threaded execution.</p>

<ul>
<li><a href="https://saxonica.plan.io/issues/6897">6897</a>
    Fixed a bug where the <code>XQueryProcessor.setQueryBaseURI()</code> method had no effect</li>
<li><a href="https://saxonica.plan.io/issues/6885">6885</a>
    Corrected a Python bug where getting the parent of the root node threw an exception</li>
<li><a href="https://saxonica.plan.io/issues/6880">6880</a>
    Fixed a bug where <code>XsltExexutable.getXslMessages()</code> did not release memory</li>
<li><a href="https://saxonica.plan.io/issues/6879">6879</a>
    Fixed a bug where <code>XsltExecutable.callFunctionReturningValue()</code> did not release memory</li>
<li><a href="https://saxonica.plan.io/issues/6859">6859</a>
    Corrected an error where <code>saxonc-core.h</code> header was missing from source zip</li>
<li><a href="https://saxonica.plan.io/issues/6843">6843</a>
    Fixed a bug where <code>XsltExecutable.clone()</code> did not work correctly with multiple threads</li>
</ul>

<p>If you encounter any issues with Saxon 12.9, please
<a href="https://saxonica.plan.io/projects/saxon/issues">report them</a>
on our issue tracker.</p>

</div></content></entry><entry><title>SaxonC Python 12.8 for Python 3.14</title><link href="https://blog.saxonica.com/announcements/2025/08/saxon-12.8-for-python-3.14.html" rel="alternate" type="text/html"/><id>https://blog.saxonica.com/announcements/2025/08/saxon-12.8-for-python-3.14.html</id><published>2025-08-14T11:15:00Z</published><content type="xhtml" xml:base="https://blog.saxonica.com/announcements/2025/08/saxon-12.8-for-python-3.14.html"><div xmlns="http://www.w3.org/1999/xhtml">


<p>With the recent release of Python 3.14.0rc1, the ABI for Python 3.14 is
final, and any SaxonC Python wheels we build against it will also work with
the final 3.14 release. The TL;DR is that we’ve done that, and you can
<code>pip install saxonche</code> (or <code>saxoncee</code> /
<code>saxoncpe</code>) with the 3.14.0rc1 release right now.</p>

<p>The Python 3.13 release was trickier for us to deal with than it should have
been – our build processes required a lot more manual intervention for different
Python versions than we liked, and we had to wait for a new Saxon release to get
wheels built for Python 3.13, which was frustrating.</p>

<p>We’ve been working on improving our build processes and making  it easier to
build Python wheels across all the platforms and Python versions we support. Easy
enough, in fact, that we were able to test Python 3.14 support back at the beta
stage, and were ready to build SaxonC Python 12.8 against 3.14 as soon as the RC
dropped and the ABI was stable.</p>

<p>These new wheels were built from the same commit as the all the other SaxonC
Python 12.8 wheels for Python 3.9-3.13. We’d love for you to install 12.8 for 3.14
and kick the tires: since Python 3.14 is still RC and not at the final release stage,
there may be some problems we haven't come across. If you run into any problems,
please report them on the
<a href="https://saxonica.plan.io/projects/saxon-c/issues">SaxonC issue tracker</a>.
</p>

<p>There are wheels for the same platforms as always – macOS x86_64 and arm64,
Linux x86_64 and aarch64, and Windows x86_64. For macOS x86_64, Python 3.14 now
requires macOS 11 or later. As a result, Python 3.14 wheels of SaxonC Python 12.8
require macOS 11 or later on x86_64 too.</p>

</div></content></entry><entry><title>Saxon 11.7 and 12.8</title><link href="https://blog.saxonica.com/announcements/2025/07/saxon-11.7-and-12.8.html" rel="alternate" type="text/html"/><id>https://blog.saxonica.com/announcements/2025/07/saxon-11.7-and-12.8.html</id><published>2025-07-03T17:40:00Z</published><content type="xhtml" xml:base="https://blog.saxonica.com/announcements/2025/07/saxon-11.7-and-12.8.html"><div xmlns="http://www.w3.org/1999/xhtml">


<p>The accompanying release announcements for
<a href="saxon-11.7.html">Saxon 11.7</a> and
<a href="saxon-12.8.html">Saxon 12.8</a> describe those
releases in detail. This post summarizes why we decided that we
needed to release them both this week.</p>

<p>Some applications are known to use Saxon to run untrusted, user-submitted
stylesheets or queries. Running untrusted code always entails some risk. Saxon
provides two
<a href="https://www.saxonica.com/documentation12/index.html#!configuration/config-features">features</a>
designed to help mitigate this risk: <code>ALLOWED_PROTOCOLS</code> and

<code>ALLOW_EXTERNAL_FUNCTIONS</code>. Setting <code>ALLOWED_PROTOCOLS</code>
can limit what resources a stylesheet or query can access; it can for example,
forbid access to file: URIs. The <code>ALLOW_EXTERNAL_FUNCTIONS</code> feature
can disable access to reflexive Java extension functions, some system
properties, and some other extension functions. (The remit of the
<code>ALLOW_EXTERNAL_FUNCTIONS</code> feature is a little wider than you might
expect.)</p>

<p>Unfortunately, we discovered a function in Saxon 11 and 12 that was not
adequately controlled by these features. In principle, a stylesheet or query
running in Saxon-PE or Saxon-EE could access the local filesystem even if the
<code>ALLOWED_PROTOCOLS</code> feature was set to forbid such access. The risk
is small: it only applies to untrusted code running in Saxon-PE or Saxon-EE (it
does not apply to Saxon-HE) on a system where reading from the local filesystem
would be deemed a risk. (We would encourage anyone running untrusted code to use
a sandboxed environment where there is no data on the filesystem that needs to
be protected from read access.)</p>

<p>Although we judge the risk to be small, At Saxonica, we take security
seriously and we are publishing maintenance releases of Saxon 11 and Saxon 12 to
close this gap. We urge anyone running untrusted stylesheets or queries under
Saxon-PE or Saxon-EE to move to version 11.7 or 12.8 immediately.</p>

<p>This bug is present in the Java, C#, C, C++, Python and PHP products. It is
not present in Saxon 10 (including the Saxon.NET 10) or in earlier releases. It
is not present in SaxonJS.</p>

</div></content></entry><entry><title>Announcing Saxon 12.8!</title><link href="https://blog.saxonica.com/announcements/2025/07/saxon-12.8.html" rel="alternate" type="text/html"/><id>https://blog.saxonica.com/announcements/2025/07/saxon-12.8.html</id><published>2025-07-03T17:35:00Z</published><content type="xhtml" xml:base="https://blog.saxonica.com/announcements/2025/07/saxon-12.8.html"><div xmlns="http://www.w3.org/1999/xhtml">
<h1>Announcing Saxon 12.8!</h1>

<p>The Saxon 12.8 maintenance release has been published.
This is a
maintenance release for Java, C#, C/C++, PHP, and Python that
<a href="saxon-11.7-and-12.8.html">fixes a security gap</a> and a few
other issues that have been addressed since 12.7 was released.</p>

<p>Saxon 12.8 was released on 3 July 2025. This release has been uploaded to the
usual locations on the Saxonica website, GitHub, and Maven, PyPi, and NuGet.
SaxonCS 12.8 is built with .NET 8.</p>

<p>For a list of the issues resolved in this release, please visit the issue trackers
for
<a href="https://saxonica.plan.io/projects/saxon/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=status_id&amp;op%5Bstatus_id%5D=%3D&amp;v%5Bstatus_id%5D%5B%5D=3&amp;f%5B%5D=cf_6&amp;op%5Bcf_6%5D=%3D&amp;v%5Bcf_6%5D%5B%5D=103&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">SaxonJ and SaxonCS</a> or
<a href="https://saxonica.plan.io/projects/saxon-c/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=status_id&amp;op%5Bstatus_id%5D=%3D&amp;v%5Bstatus_id%5D%5B%5D=3&amp;f%5B%5D=cf_6&amp;op%5Bcf_6%5D=%3D&amp;v%5Bcf_6%5D%5B%5D=104&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">SaxonC</a>
on the Saxon support site.
</p>

<p>Download products:</p>

<ul>
<li>Binaries for PE and EE are available from our
<a href="http://www.saxonica.com/download/download_page.xml">download pages</a>.
</li>
<li>SaxonJ-HE is available on the
<a href="https://central.sonatype.com/artifact/net.sf.saxon/Saxon-HE/12.8">Maven Central
repository</a>.
</li>
<li>SaxonJ-HE, PE, and EE can also be found on our
<a href="https://dev.saxonica.com/maven/">experimental Maven repository</a>.
</li>
<li>Python wheels for SaxonC (HE, PE, and EE) are available from
<a href="https://pypi.org/user/saxonica/">PyPI</a>.
</li>
<li>SaxonCS is available on
<a href="https://www.nuget.org/packages/SaxonCS">NuGet</a></li>
<li>Saxon-HE is available from our open source
<a href="https://github.com/Saxonica/Saxon-HE/">GitHub repository</a>.
The GitHub repository also provides source code for those who need it.
</li>
</ul>

<p>For more details, please consult
<a href="https://www.saxonica.com/documentation12">the documentation</a>.
</p>

<h2>Issues resolved</h2>

<p>In addition to the security issue, only a few other issues have been fixed;
our focus was on getting the security release out promptly.</p>

<h3>Issues in SaxonJ</h3>

<p>Only one additional issue was fixed in SaxonJ:</p>

<ul>
<li><a href="https://saxonica.plan.io/issues/6804">6804</a>
    String index out-of-bounds in <code>parse-xml()</code></li>
</ul>

<h3>Issues in SaxonC</h3>

<p>A few small issues were fixed in SaxonC:</p>

<ul>
<li><a href="https://saxonica.plan.io/issues/6835">6835</a>
    SaxonC PHP @@VERSION@@</li>
<li><a href="https://saxonica.plan.io/issues/6830">6830</a>
    SaxonC HE 12.7.0 - PHP - XdmNode-&gt;getColumnNumber() returns the line number</li>
<li><a href="https://saxonica.plan.io/issues/6823">6823</a>
    DocumentBuilder memory not deleted</li>
<li><a href="https://saxonica.plan.io/issues/6803">6803</a>
    Please provide parseJsonFromString example</li>
<li><a href="https://saxonica.plan.io/issues/6802">6802</a>
    Remove XdmAtomicValue::getStringValue</li>
<li><a href="https://saxonica.plan.io/issues/6801">6801</a>
    PRIMITIVE_TYPE defined, but not used?</li>
<li><a href="https://saxonica.plan.io/issues/6800">6800</a>
    Implement operator== for XdmItem or make it private</li>
<li><a href="https://saxonica.plan.io/issues/6785">6785</a>
    Instructions in Python README for running pytest are missing the use of a pytest.ini</li>
</ul>

<p>If you encounter any issues with Saxon 12.8, please
<a href="https://saxonica.plan.io/projects/saxon/issues">report them</a>
on our issue tracker.</p>

</div></content></entry><entry><title>Announcing Saxon 11.7!</title><link href="https://blog.saxonica.com/announcements/2025/07/saxon-11.7.html" rel="alternate" type="text/html"/><id>https://blog.saxonica.com/announcements/2025/07/saxon-11.7.html</id><published>2025-07-03T17:30:00Z</published><content type="xhtml" xml:base="https://blog.saxonica.com/announcements/2025/07/saxon-11.7.html"><div xmlns="http://www.w3.org/1999/xhtml">
<h1>Announcing Saxon 11.7!</h1>

<p>The Saxon 11.7 maintenance release has been published.
This is a
maintenance release for Java, C#, C/C++, PHP, and Python that
<a href="saxon-11.7-and-12.8.html">fixes a security gap</a> and a number of
other issues that have been addressed since 11.6 was released.</p>

<p>Saxon 11.7 was released on 3 July 2025. This release has been
uploaded to the usual locations on the Saxonica website, GitHub,
Maven, and NuGet. SaxonCS 11.7 is built with .NET 8.</p>

<p>For a list of the issues resolved in this release, please visit the
<a href="https://saxonica.plan.io/projects/saxon/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=status_id&amp;op%5Bstatus_id%5D=%3D&amp;v%5Bstatus_id%5D%5B%5D=3&amp;f%5B%5D=cf_6&amp;op%5Bcf_6%5D=%3D&amp;v%5Bcf_6%5D%5B%5D=102&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">issue tracker</a>
on the Saxon support site.
</p>

<p>Download products:</p>

<ul>
<li>Binaries for PE and EE are available from our
<a href="http://www.saxonica.com/download/download_page.xml">download pages</a>.
</li>
<li>SaxonJ-HE is available on the
<a href="https://central.sonatype.com/artifact/net.sf.saxon/Saxon-HE/11.7">Maven Central
repository</a>.
</li>
<li>SaxonJ-HE, PE, and EE can also be found on our
<a href="https://dev.saxonica.com/maven/">experimental Maven repository</a>.
</li>
<li>SaxonCS is available on
<a href="https://www.nuget.org/packages/SaxonCS">NuGet</a></li>
<li>Saxon-HE is no longer distributed on SourceForge. It is now available from
our open source
<a href="https://github.com/Saxonica/Saxon-HE/">GitHub repository</a>.
The GitHub repository also provides source code for those who need it.
</li>
</ul>

<p>For more details, please consult
<a href="https://www.saxonica.com/documentation11">the documentation</a>.
</p>

<p>If you encounter any issues with Saxon 11.7, please
<a href="https://saxonica.plan.io/projects/saxon/issues">report them</a>
on our issue tracker.</p>

</div></content></entry><entry><title>Announcing SaxonJS-HE 3.0.0-beta2!</title><link href="https://blog.saxonica.com/announcements/2025/06/saxonjs-3.0.0-beta2.html" rel="alternate" type="text/html"/><id>https://blog.saxonica.com/announcements/2025/06/saxonjs-3.0.0-beta2.html</id><published>2025-06-02T13:00:00Z</published><content type="xhtml" xml:base="https://blog.saxonica.com/announcements/2025/06/saxonjs-3.0.0-beta2.html"><div xmlns="http://www.w3.org/1999/xhtml">
<h1>Announcing SaxonJS-HE 3.0.0-beta2!</h1>

<p>SaxonJS 3.0 is a major update to the SaxonJS product. In June 2025, we are
publishing a second preview release, version 3.0.0-beta2. This is a preview
release of the SaxonJS 3.0 HE (Home Edition) product. An EE (Enterprise Edition)
product is in the works.
</p>

<div>
<h2>New features in the beta2 release</h2>

<p>This release includes a few bug fixes from the first beta.
</p>

<ul>
<li><a href="https://saxonica.plan.io/issues/5923">5923</a>
   Provide a way to control event listener parameters</li>
<li><a href="https://saxonica.plan.io/issues/6599">6599</a>
   Sequence interacts badly with try/catch</li>
<li><a href="https://saxonica.plan.io/issues/6697">6697</a>
   Checksum checking in SaxonJS 3</li>
<li><a href="https://saxonica.plan.io/issues/6742">6742</a>
   Untethered promises with SaxonJS 3.0.0-beta1</li>
</ul>

<p>Of these, the most consequential is probably 6697. In the course of fixing a
bug related to SEF files produced for SaxonJS 2, we introduced a bug where
SaxonJ 12.6 couldn’t produce SEF files for SaxonJS 3.0 beta1! That’s been fixed.
You can now produce SEF files for SaxonJS 3.0 beta2 with Saxon 12.6 or later.
(Unfortunately, you can’t produce SEF files for SaxonJS 3.0 beta2 with SaxonJ
12.5 or earlier!)
</p>

<div>
<h2>Getting started</h2>
</div>

<p>You can try out SaxonJS-HE 3.0 today, the packages have been uploaded to
<a href="https://www.npmjs.com/">npmjs.com</a>: 
<a href="https://www.npmjs.com/package/saxonjs-he">saxonjs-he</a>
and 
<a href="https://www.npmjs.com/package/xslt3-he">xslt3-he</a>. You can also
download them <a href="https://downloads.saxonica.com/SaxonJS/3/index.html">our website</a>.</p>

<p>Our <a href="https://www.saxonica.com/saxonjs/documentation3/index.html">documentation
pages</a> have been updated.</p>

<p>Please report any issues that you encounter on <a href="https://saxonica.plan.io/projects/saxon-js/issues">our issue tracker</a>.
</p>

</div>
</div></content></entry><entry><title>Announcing Saxon 12.7!</title><link href="https://blog.saxonica.com/announcements/2025/05/saxon-12.7.html" rel="alternate" type="text/html"/><id>https://blog.saxonica.com/announcements/2025/05/saxon-12.7.html</id><published>2025-05-16T10:00:00Z</published><content type="xhtml" xml:base="https://blog.saxonica.com/announcements/2025/05/saxon-12.7.html"><div xmlns="http://www.w3.org/1999/xhtml">
<h1>Announcing Saxon 12.7!</h1>

<p>The Saxon 12.7 maintenance release has been published. This is a maintenance
release for Java, C#, C/C++, PHP, and Python that addresses a few significant
shortcomings in the Saxon 12.6 release.
</p>

<p>Saxon 12.7 was released on 16 May 2025. This release has been uploaded to the
usual locations on the Saxonica website, GitHub, and Maven, PyPi, and NuGet.
SaxonCS 12.7 is built with .NET 8.</p>

<p>For a list of the issues resolved in this release, please visit the issue trackers
for
<a href="https://saxonica.plan.io/projects/saxon/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=status_id&amp;op%5Bstatus_id%5D=%3D&amp;v%5Bstatus_id%5D%5B%5D=3&amp;f%5B%5D=cf_6&amp;op%5Bcf_6%5D=%3D&amp;v%5Bcf_6%5D%5B%5D=101&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">SaxonJ and SaxonCS</a> or
<a href="https://saxonica.plan.io/projects/saxon-c/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=status_id&amp;op%5Bstatus_id%5D=%3D&amp;v%5Bstatus_id%5D%5B%5D=3&amp;f%5B%5D=cf_6&amp;op%5Bcf_6%5D=%3D&amp;v%5Bcf_6%5D%5B%5D=100&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">SaxonC</a>
on the Saxon support site.
</p>

<p>Download products:</p>

<ul>
<li>Binaries for PE and EE are available from our
<a href="http://www.saxonica.com/download/download_page.xml">download pages</a>.
</li>
<li>SaxonJ-HE is available on the
<a href="https://central.sonatype.com/artifact/net.sf.saxon/Saxon-HE/12.7">Maven Central
repository</a>.
</li>
<li>SaxonJ-HE, PE, and EE can also be found on our
<a href="https://dev.saxonica.com/maven/">experimental Maven repository</a>.
</li>
<li>Python wheels for SaxonC (HE, PE, and EE) are available from
<a href="https://pypi.org/user/saxonica/">PyPI</a>.
</li>
<li>SaxonCS is available on
<a href="https://www.nuget.org/packages/SaxonCS">NuGet</a></li>
<li>Saxon-HE is available from our open source
<a href="https://github.com/Saxonica/Saxon-HE/">GitHub repository</a>.
The GitHub repository also provides source code for those who need it.
</li>
</ul>

<p>For more details, please consult
<a href="https://www.saxonica.com/documentation12">the documentation</a>.
</p>

<h2>Issues resolved</h2>

<p>The substantial changes in this release are:</p>

<ol>
<li>We’ve returned to supporting JDK 8 in 12.7. The decision to move to JDK 11
in 12.6 was intentional, but perhaps too eager. Fair warning: it is very
unlikely that Saxon 13 will be released with support for JDK 8.</li>
<li>We worked around a bug that caused the SaxonC products to fail under X86 emulation
on Windows/ARM. (The bug is that Windows emulation doesn’t support some modern
instructions that GraalVM was generating. We worked around it by turning down some
GraalVM optimizations in that environment.)</li>
</ol>

<h3>Issues in SaxonJ and SaxonCS</h3>

<p>These are just the release highlights, for a full list, see
<a href="https://saxonica.plan.io/projects/saxon/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=status_id&amp;op%5Bstatus_id%5D=%3D&amp;v%5Bstatus_id%5D%5B%5D=3&amp;f%5B%5D=cf_6&amp;op%5Bcf_6%5D=%3D&amp;v%5Bcf_6%5D%5B%5D=101&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">the issue tracker</a>.</p>

<ul>
<li><a href="https://saxonica.plan.io/issues/6547">6547</a>
    Resolved some schema loading performance regressions</li>
<li><a href="https://saxonica.plan.io/issues/6771">6771</a>
    Restored JDK 8 compatibility to the class files</li>
<li><a href="https://saxonica.plan.io/issues/6776">6776</a>
    Resolved a null pointer exception</li>
<li><a href="https://saxonica.plan.io/issues/6778">6778</a>
    Fixed the class name in the javax.xml.validation.SchemaFactory service</li>
</ul>

<h3>Issues in SaxonC</h3>

<p>In addition to the X86 emulation problem, we resolved a few more issues in SaxonC.
For a full list, see
<a href="https://saxonica.plan.io/projects/saxon-c/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=status_id&amp;op%5Bstatus_id%5D=%3D&amp;v%5Bstatus_id%5D%5B%5D=3&amp;f%5B%5D=cf_6&amp;op%5Bcf_6%5D=%3D&amp;v%5Bcf_6%5D%5B%5D=100&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">the issue tracker</a>.</p>

<ul>
<li><a href="https://saxonica.plan.io/issues/6443">6443</a>
    Fixed a bug in Python PySaxonProcessor.make_atomic_value</li>
<li><a href="https://saxonica.plan.io/issues/6522">6522</a>
    The documentation for Saxon\SchemaValidator is incorrect</li>
<li><a href="https://saxonica.plan.io/issues/6525">6525</a>
    Fixed XdmNode::getChildren()</li>
<li><a href="https://saxonica.plan.io/issues/6526">6526</a>
    Fixed xdmNode-&gt;axisNodes(3) on PHP</li>
<li><a href="https://saxonica.plan.io/issues/6536">6536</a>
    Fixed segmentation fault with Python SaxonCHE 12.5</li>
<li><a href="https://saxonica.plan.io/issues/6780">6780</a>
    Accepted suggestion to set sxn_environ values to NULL after allocation</li>
<li><a href="https://saxonica.plan.io/issues/6781">6781</a>
    Fixed crash on Windows 11 under x86 emulation on ARM</li>
<li><a href="https://saxonica.plan.io/issues/6787">6787</a>
    The setCatalogFiles method was missing from the C API</li>
</ul>

<p>If you encounter any issues with Saxon 12.7, please
<a href="https://saxonica.plan.io/projects/saxon/issues">report them</a>
on our issue tracker.</p>

</div></content></entry><entry><title>Announcing Saxon 12.6!</title><link href="https://blog.saxonica.com/announcements/2025/05/saxon-12.6.html" rel="alternate" type="text/html"/><id>https://blog.saxonica.com/announcements/2025/05/saxon-12.6.html</id><published>2025-05-02T15:00:00Z</published><content type="xhtml" xml:base="https://blog.saxonica.com/announcements/2025/05/saxon-12.6.html"><div xmlns="http://www.w3.org/1999/xhtml">
<h1>Announcing Saxon 12.6!</h1>

<p>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.
</p>

<p>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.</p>

<p>For a list of the issues resolved in this release, please visit the issue trackers
for
<a href="https://saxonica.plan.io/projects/saxon/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=cf_6&amp;op%5Bcf_6%5D=%3D&amp;v%5Bcf_6%5D%5B%5D=98&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">SaxonJ and SaxonCS</a> or
<a href="https://saxonica.plan.io/projects/saxon-c/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=cf_6&amp;op%5Bcf_6%5D=%3D&amp;v%5Bcf_6%5D%5B%5D=99&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">SaxonC</a>
on the Saxon support site.
</p>

<p>Download products:</p>

<ul>
<li>Binaries for PE and EE are available from our
<a href="http://www.saxonica.com/download/download_page.xml">download pages</a>.
</li>
<li>SaxonJ-HE is available on the
<a href="https://central.sonatype.com/artifact/net.sf.saxon/Saxon-HE/12.6">Maven Central
repository</a>.
</li>
<li>SaxonJ-HE, PE, and EE can also be found on our
<a href="https://dev.saxonica.com/maven/">experimental Maven repository</a>.
</li>
<li>Python wheels for SaxonC (HE, PE, and EE) are available from
<a href="https://pypi.org/user/saxonica/">PyPI</a>.
</li>
<li>SaxonCS is available on
<a href="https://www.nuget.org/packages/SaxonCS">NuGet</a></li>
<li>Saxon-HE is available from our open source
<a href="https://github.com/Saxonica/Saxon-HE/">GitHub repository</a>.
The GitHub repository also provides source code for those who need it.
</li>
</ul>

<p>For more details, please consult
<a href="https://www.saxonica.com/documentation12">the documentation</a>.
</p>

<h2>Partial list of issues resolved</h2>

<p>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. 
</p>

<h3>Issues in SaxonJ and SaxonCS</h3>

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

<p>For a full list, see
<a href="https://saxonica.plan.io/projects/saxon/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=cf_6&amp;op%5Bcf_6%5D=%3D&amp;v%5Bcf_6%5D%5B%5D=98&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">the issue tracker</a>.</p>

<ul>
<li><a href="https://saxonica.plan.io/issues/6748">6748</a>
    Updated xsl:array to track the evolving QT4CG specifications</li>
<li><a href="https://saxonica.plan.io/issues/6746">6746</a>
    Resolved errors related to version ranges in xsl:use-package/@package-version</li>
<li><a href="https://saxonica.plan.io/issues/6724">6724</a>
    Clarified limitations on importing schemas for reserved namespaces (such as fn:)</li>
<li><a href="https://saxonica.plan.io/issues/6711">6711</a>
    Clarified how setting allowedProtocols to restrict parse-xml is handled</li>
<li><a href="https://saxonica.plan.io/issues/6696">6696</a>
    Resolved a concurrency issue during lazy evaluation</li>
<li><a href="https://saxonica.plan.io/issues/6688">6688</a>
    Fixed a bug where the coverage report from XSpec creates XML that is not well formed</li>
<li><a href="https://saxonica.plan.io/issues/6682">6682</a>
    Resolved an issue in XSD uniqueness constraints vs. key constraints</li>
<li><a href="https://saxonica.plan.io/issues/6679">6679</a>
    Fixed a bug where an incorrect variable was accessed when using xsl:iterate within xsl:accumulator</li>
<li><a href="https://saxonica.plan.io/issues/6671">6671</a>
    Resolved an issue during schema load with multiple imports</li>
<li><a href="https://saxonica.plan.io/issues/6652">6652</a>
    parse-xml no longer fails if the string it’s parsing begins with a BOM</li>
<li><a href="https://saxonica.plan.io/issues/6621">6621</a>
    Clarified how reflexive extension functions and varargs work</li>
<li><a href="https://saxonica.plan.io/issues/6597">6597</a>
    Fixed a bug where calling getBaseUri() in the Axiom tree model triggers infinite recursion</li>
<li><a href="https://saxonica.plan.io/issues/6577">6577</a>
    Resolved an issue related to xsl:where-populated and namespace fixup</li>
<li><a href="https://saxonica.plan.io/issues/6565">6565</a>
    Fixed a performance regression in DocumentFn with Java 12 or higher</li>
<li><a href="https://saxonica.plan.io/issues/6544">6544</a>
    Fixed a bug where ID/IDREF attributes were not recognized when using the StAX parser</li>
<li><a href="https://saxonica.plan.io/issues/6543">6543</a>
    Fixed a bug where whitespace text nodes were reported incorrectly when using a pull parser</li>
<li><a href="https://saxonica.plan.io/issues/6537">6537</a>
    Fixed incorrect rounding of negative xs:double values</li>
<li><a href="https://saxonica.plan.io/issues/6504">6504</a>
    Clarified how collection() and uri-collection() handle invalid URIs</li>
<li><a href="https://saxonica.plan.io/issues/6502">6502</a>
    Fixed a bug where several invalid patterns were accepted</li>
<li><a href="https://saxonica.plan.io/issues/6494">6494</a>
    Fixed a bug where whitespace text output disappeared when indenting</li>
<li><a href="https://saxonica.plan.io/issues/6489">6489</a>
    Fixed Gizmo issue with prefix, precede, suffix, and follow commands</li>
<li><a href="https://saxonica.plan.io/issues/6480">6480</a>
    Cardinality of sequences returned by extension functions are now validated</li>
<li><a href="https://saxonica.plan.io/issues/6472">6472</a>
    Fixed a bug related to sort order in xsl:for-each-group in named templates</li>
<li><a href="https://saxonica.plan.io/issues/6471">6471</a>
    Corrected the operator precedence of validate expressions</li>
<li><a href="https://saxonica.plan.io/issues/6452">6452</a>
    Fixed round#2 and round-half-to-even#2 to give correct results on large negative integers</li>
</ul>




<h3>Issues in SaxonC</h3>

<p>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.</p>

<p>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.</p>

<p>This change applies only to the C++ API. It does not affect the PHP or Python extensions:</p>
<dl>
<dt>PHP</dt>
<dd>Installation instructions are included in the README file in the download
ZIP and also available in the online documentation.</dd>
<dt>Python</dt>
<dd>The extension is distributed as pre-built wheels via PyPI, making
installation straightforward using pip.</dd>
</dl>

<p>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.</p>

<p>For a full list, see
<a href="https://saxonica.plan.io/projects/saxon-c/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=cf_6&amp;op%5Bcf_6%5D=%3D&amp;v%5Bcf_6%5D%5B%5D=99&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">the issue tracker</a>.</p>

<ul>
<li><a href="https://saxonica.plan.io/issues/6731">6731</a>
    Support adding properties to the Processor in the Saxon C API</li>
<li><a href="https://saxonica.plan.io/issues/6695">6695</a>
    Fixed an issue related to creating maps of strings in Python</li>
<li><a href="https://saxonica.plan.io/issues/6677">6677</a>
    Improve error messages associated with Xslt30Processor::compileFromString</li>
<li><a href="https://saxonica.plan.io/issues/6676">6676</a>
    Support initial template invocation with a combination of tunnel and non-tunnel parameters</li>
<li><a href="https://saxonica.plan.io/issues/6668">6668</a>
    Support setOutputFile() on SchemaValidator</li>
<li><a href="https://saxonica.plan.io/issues/6657">6657</a>
    Fixed line and column numbers in PySaxonApiError message</li>
<li><a href="https://saxonica.plan.io/issues/6656">6656</a>
    Fixed a bug where multiple calls to XdmNode.getParent() could leads to an exception</li>
<li><a href="https://saxonica.plan.io/issues/6649">6649</a>
    Improved error message associated with an expired license</li>
<li><a href="https://saxonica.plan.io/issues/6634">6634</a>
    Added support for getcwd and getProperties</li>
<li><a href="https://saxonica.plan.io/issues/6628">6628</a>
    Fixed a bug where the copy constructor for Xdm objects failed</li>
<li><a href="https://saxonica.plan.io/issues/6620">6620</a>
    Fixed a double-free bug in clearSettings</li>
<li><a href="https://saxonica.plan.io/issues/6619">6619</a>
    Resolved missing calls to super constructors</li>
<li><a href="https://saxonica.plan.io/issues/6618">6618</a>
    Fixed a bug where getDoubleValue crashed for text strings in XdmAtomicValue class</li>
<li><a href="https://saxonica.plan.io/issues/6615">6615</a>
    Fixed a bug where isEmpty crashed for new empty XdmMap</li>
<li><a href="https://saxonica.plan.io/issues/6614">6614</a>
    Fixed a bug where the XdmValue::XdmValue constructor crashed</li>
<li><a href="https://saxonica.plan.io/issues/6606">6606</a>
    Fixed a bug related to cwd and static-base-uri() in XPath</li>
<li><a href="https://saxonica.plan.io/issues/6605">6605</a>
    Fixed a bug in static-base-uri() when compiling a query from a string</li>
<li><a href="https://saxonica.plan.io/issues/6575">6575</a>
    Resolved a bug where som exception messages were empty in the PHP API</li>
<li><a href="https://saxonica.plan.io/issues/6573">6573</a>
    Added isMap, isArray and isFunction methods to the PHP API</li>
<li><a href="https://saxonica.plan.io/issues/6562">6562</a>
    Fixed issues related to mapSize when casting XdmValue from parseJson to XdmMap</li>
<li><a href="https://saxonica.plan.io/issues/6556">6556</a>
    Fixed a bug where the standardErrorOutputFile feature was ignored</li>
<li><a href="https://saxonica.plan.io/issues/6539">6539</a>
    Support PyXdmMap and PyXdmArray on PySaxonProcessor.parse_json</li>
<li><a href="https://saxonica.plan.io/issues/6475">6475</a>
    Fixed a bug where the PySchemaValidator did not handle an XdmNode input correctly</li>
</ul>

<p>If you encounter any issues with Saxon 12.6, please
<a href="https://saxonica.plan.io/projects/saxon/issues">report them</a>
on our issue tracker.</p>

</div></content></entry><entry><title>Announcing SaxonJS-HE 3.0.0-beta1!</title><link href="https://blog.saxonica.com/announcements/2024/12/saxonjs-he-3.0.0-beta1.html" rel="alternate" type="text/html"/><id>https://blog.saxonica.com/announcements/2024/12/saxonjs-he-3.0.0-beta1.html</id><published>2024-12-18T16:30:00Z</published><content type="xhtml" xml:base="https://blog.saxonica.com/announcements/2024/12/saxonjs-he-3.0.0-beta1.html"><div xmlns="http://www.w3.org/1999/xhtml">
<h1>Announcing SaxonJS-HE 3.0.0-beta1!</h1>

<p>SaxonJS 3.0 is a major update to the SaxonJS product. In December 2024, it is
being published as a preview release, version 3.0.0-beta1. This is a preview
release of the SaxonJS 3.0 HE (Home Edition) product. An EE (Enterprise Edition)
product is in the works.
</p>

<div>
<h2>New features in the beta1 release</h2>

<p>This release includes a number of new features, with several more planned
before the final 3.0 release.
</p>

<div>
<h3>Promises</h3>

<p>SaxonJS 3 introduces new mechanisms for enabling asynchronous processing
using promises. A new instruction <code>ixsl:promise</code> is introduced which
can be used as a replacement for the existing <code>ixsl:schedule-action</code>
instruction.
</p>

<ul>
<li>The new instruction can now call any asychronous function to fetch any kind of
resource. Adding new kinds of resource is just a question of implementing new
functions (which can be user-written functions as well as system-supplied
functions). So if you want to fetch data from a SQL database, for example, you
can easily write a function to do that.</li>
<li>The machinery for handling asynchronous requests is now closely aligned with
JavaScript promises, both in terms of the conceptual design, and the
implementation. This makes it much easier to understand for users familiar
with the JavaScript processing model.</li>
<li>The mechanism takes advantage of XDM higher-order functions. (Note, however,
that it still “bends” the pure declarative approach of XPath by introducing
mutability. A promise, for example, is a mutable object, so you need to
exercise care for example if you bind it to a variable.)</li>
</ul>

<p>Note that for Node.js, run time use of ixsl:promise is an EE feature. So XSLT
stylesheets using <code>ixsl:promise</code> can be compiled to SEF with the XX
compiler in SaxonJS without a JS-EE license, and then run in the browser; but to
run such a stylesheet on Node.js requires SaxonJS-EE and a valid JS-EE license.
</p>
</div>

<div>
<h3>JavaScript extension functions</h3>

<p>JavaScript developers have easy access to a huge variety of tools and
libraries distributed as JavaScript packages through <code>npm</code> and other
mechanisms. We want to make those libraries easily accessible for SaxonJS
developers too.
</p>

<p>In SaxonJS 3, you can define extension functions in JavaScript and call them
directly from XPath, both from <code>SaxonJS.XPath.evaluate</code> and from
within XSLT stylesheets running on SaxonJS in the browser or on Node.js.
</p>

<p>This opens up whole new horizons for SaxonJS developers.
</p>
</div>

<div>
<h3>Smaller changes and improvements</h3>

<p>While a lot of our focus has been on larger improvements, a few less dramatic
features are also debuting in beta1.
</p>

<ul>
<li>Support XPath expressions (other than “.”) after ? in <code>xsl:result-document</code></li>
<li>New methods on <code>xsl:result-document</code>: <code>ixsl:replace-element</code>, <code>ixsl:insert-before</code>, and
<code>ixsl:insert-after</code></li>
<li>Improved support for following HTTP redirects</li>
<li>Improved support for accessing JavaScript objects with <code>ixsl:set-property</code>, <code>ixsl:json-parse</code>,
<code>ixsl:new</code>, <code>ixsl:apply</code>, <code>ixsl:call</code>, <code>ixsl:eval</code>, and <code>ixsl:get</code></li>
<li>Support the <code>escape-solidus</code> option when generating JSON.</li>
</ul>
</div>
</div>

<div>
<h2>New features coming soon</h2>

<p>Eager to publish a release, at this stage, we’ve opted only to publish the HE
version of SaxonJS 3.0 as beta1. More work is planned before the general
release, including SaxonJS 3.0 EE.
</p>

<div>
<h3>SaxonJS-EE</h3>

<p>SaxonJS-HE will remain a free product, but in 2025 we will also be introducing a
licensed version of SaxonJS, SaxonJS-EE. The licensed version will provide additional
features on Node.js (such as built-in EXPath and Saxon extension functions).
</p>

<p>The promises API run time will be a licensed feature on Node.js.
</p>
</div>

<div>
<h3>Calling XSLT functions from JavaScript</h3>

<p>Many transformations, on XML and JSON, are easier to define in XSLT than in
JavaScript. XSLT has a rich vocabulary of instructions for describing, constructing,
and transforming data in a clear, descriptive, and functional way.
</p>

<p>We anticipate making those features more accessible to JavaScript developers by
allowing JavaScript to call functions defined in XSLT.
</p>
</div>

<div>
<h3>Adding a SaxonJS.compile API</h3>

<p>The ability to construct an XSLT stylesheet and then compile it directly for
use in the current transformation is a powerful feature. A new API for doing this,
<code>SaxonJS.compile</code>, will be added in the general release.
</p>
</div>

<div>
<h2>Getting started</h2>
</div>

<p>You can try out SaxonJS-HE 3.0 today, the packages have been uploaded to
<a href="https://www.npmjs.com/">npmjs.com</a>: 
<a href="https://www.npmjs.com/package/saxonjs-he">saxonjs-he</a>
and 
<a href="https://www.npmjs.com/package/xslt3-he">xslt3-he</a>. You can also
download them <a href="https://downloads.saxonica.com/SaxonJS/3/index.html">our website</a>.</p>

<p>Our <a href="https://www.saxonica.com/saxonjs/documentation3/index.html">documentation
pages</a> have been updated and a repository of short examples has been
published: <a href="https://github.com/Saxonica/SaxonJS3-demo">SaxonJS3
demo</a>.</p>

<p>We hope you’re as excited as we are and we look forward to your feedback. Please
report any issues that you encounter on
<a href="https://saxonica.plan.io/projects/saxon-js/issues">our issue tracker</a>.
</p>

</div>
</div></content></entry><entry><title>Announcing SaxonJS 2.7!</title><link href="https://blog.saxonica.com/announcements/2024/10/saxonjs-2.7.html" rel="alternate" type="text/html"/><id>https://blog.saxonica.com/announcements/2024/10/saxonjs-2.7.html</id><published>2024-10-17T15:00:00Z</published><content type="xhtml" xml:base="https://blog.saxonica.com/announcements/2024/10/saxonjs-2.7.html"><div xmlns="http://www.w3.org/1999/xhtml">
<h1>Announcing SaxonJS 2.7!</h1>

<p>The SaxonJS 2.7 maintenance release has been published. This is a
maintenance release for NodeJS and the browser. It fixes a number of bugs.
(Including <a href="/norm/2023/10/06-no-longer-supported.html">that one</a>
about the spurious warning message. Again.)</p>

<p>Highlights include:</p>

<ul>
<li><a href="https://saxonica.plan.io/issues/4991">#4991</a>: Support JSON indentation in xml-to-json</li>
<li><a href="https://saxonica.plan.io/issues/5540">#5540</a>: Namespace context is reset before each XSLT transformation</li>
<li><a href="https://saxonica.plan.io/issues/5743">#5743</a>: Text nodes are no longer lost in xsl:catch instruction</li>
<li><a href="https://saxonica.plan.io/issues/6234">#6234</a>: Corrected the behavior of a map called as a function</li>
<li><a href="https://saxonica.plan.io/issues/6318">#6318</a>: Fixed an error in parsing regular expressions</li>
<li><a href="https://saxonica.plan.io/issues/6352">#6352</a>: Resolved a performance issue introduced in SaxonJS 2.6</li>
<li><a href="https://saxonica.plan.io/issues/6393">#6393</a>: Fixed a string/number comparison bug</li>
<li><a href="https://saxonica.plan.io/issues/6418">#6418</a>: Improve behavior when attempting to use IXSL extensions on Node.js</li>
<li><a href="https://saxonica.plan.io/issues/6516">#6516</a>: Fixed some XPath parsing errors related to uncommon expressions (like <code>/[x]</code>)</li>
</ul>

<p>For a complete list of the issues resolved in this release, please visit the
<a href="https://saxonica.plan.io/projects/saxon-js/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=status_id&amp;op%5Bstatus_id%5D=c&amp;f%5B%5D=cf_10&amp;op%5Bcf_10%5D=%3D&amp;v%5Bcf_10%5D%5B%5D=97&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">issue tracker</a>
on the Saxonica support site.</p>

<p>SaxonJS 2.7 was released on 17 October 2024. This release has been
uploaded to the usual locations on the Saxonica website and the NPM
repository.
For more details, please consult
<a href="https://www.saxonica.com/saxon-js/documentation2/index.html">the documentation</a>.
</p>

<div class="note">
<p>Note: Saxon 12.5 won’t create SEF files that can be used with SaxonJS 2.x.
This is a <a href="https://saxonica.plan.io/issues/6487">known bug</a> that will
be fixed in Saxon 12.6. Saxon 12.4 and earlier versions will make SEF files that
SaxonJS 2.x can use.</p>
</div>

<p>If you encounter any issues with SaxonJS 2.7, please
<a href="https://saxonica.plan.io/projects/saxon-js/issues">report them</a>
on our issue tracker.</p>

</div></content></entry><entry><title>Announcing Saxon 12.5!</title><link href="https://blog.saxonica.com/announcements/2024/07/saxon-12.5.html" rel="alternate" type="text/html"/><id>https://blog.saxonica.com/announcements/2024/07/saxon-12.5.html</id><published>2024-07-02T11:30:00Z</published><content type="xhtml" xml:base="https://blog.saxonica.com/announcements/2024/07/saxon-12.5.html"><div xmlns="http://www.w3.org/1999/xhtml">
<h1>Announcing Saxon 12.5!</h1>

<p>The Saxon 12.5 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 previous Saxon 12.4 releases.
</p>

<p>Saxon 12.5 was released on 1 July 2024.
This release has been
uploaded to the usual locations on the Saxonica website, GitHub, and
Maven, PyPi, and NuGet. SaxonCS 12.5 is built with .NET 6. This
release includes SaxonC and Python releases for the ARM 64
architecture as well as X86-64 architecture.</p>

<p>For a list of the issues resolved in this release, please visit the issue trackers
for
<a href="https://saxonica.plan.io/projects/saxon/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=cf_6&amp;op%5Bcf_6%5D=%3D&amp;v%5Bcf_6%5D%5B%5D=96&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">SaxonJ and SaxonCS</a> or
<a href="https://saxonica.plan.io/projects/saxon-c/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=cf_3&amp;op%5Bcf_3%5D=%7E&amp;v%5Bcf_3%5D%5B%5D=12.5&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">SaxonC</a>
on the Saxon support site.
</p>

<p>Download products:</p>

<ul>
<li>Binaries for PE and EE are available from our
<a href="http://www.saxonica.com/download/download_page.xml">download pages</a>.
</li>
<li>SaxonJ-HE is available on the
<a href="https://central.sonatype.com/artifact/net.sf.saxon/Saxon-HE/12.5">Maven Central
repository</a>.
</li>
<li>SaxonJ-HE, PE, and EE can also be found on our
<a href="https://dev.saxonica.com/maven/">experimental Maven repository</a>.
</li>
<li>Python wheels for SaxonC (HE, PE, and EE) are available from
<a href="https://pypi.org/user/saxonica/">PyPI</a>.
</li>
<li>SaxonCS is available on
<a href="https://www.nuget.org/packages/SaxonCS">NuGet</a></li>
<li>Saxon-HE is available from our open source
<a href="https://github.com/Saxonica/Saxon-HE/">GitHub repository</a>.
The GitHub repository also provides source code for those who need it.
</li>
</ul>

<p>For more details, please consult
<a href="https://www.saxonica.com/documentation12">the documentation</a>.
</p>

<h2>Partial list of issues resolved</h2>

<p>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. 
</p>

<h3>Issues in SaxonJ and SaxonCS</h3>

<p>For a full list, see
<a href="https://saxonica.plan.io/projects/saxon/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=cf_6&amp;op%5Bcf_6%5D=%3D&amp;v%5Bcf_6%5D%5B%5D=96&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">the issue tracker</a>.</p>

<ul>

<li><a href="https://saxonica.plan.io/issues/6450">6450</a>
    CollectionFinder parsesd ALLOWED_PROTOCOLS incorrectly</li>
<li><a href="https://saxonica.plan.io/issues/6449">6449</a>
    SaxonCS failure when using collection function to pull a collection catalog file over HTTP(S)</li>
<li><a href="https://saxonica.plan.io/issues/6448">6448</a>
    Saxon-HE 12.4J has wrong column number in trace, unlike Saxon-EE</li>
<li><a href="https://saxonica.plan.io/issues/6446">6446</a>
    Improved performance of XQuery group by some circumstances</li>
<li><a href="https://saxonica.plan.io/issues/6435">6435</a>
    Resolve concurrency issue in the use of accumulators behind the scenes in xsl:for-each</li>
<li><a href="https://saxonica.plan.io/issues/6428">6428</a>
    Output of xsl:on-non-empty changes when using TraceListener</li>
<li><a href="https://saxonica.plan.io/issues/6426">6426</a>
    fn:matches surprisingly returns false for fn:matches("AB", "^(.*)+B")</li>
<li><a href="https://saxonica.plan.io/issues/6420">6420</a>
    -Tout filename not used when set on command line</li>
<li><a href="https://saxonica.plan.io/issues/6419">6419</a>
    Union of nodes in a Template Match produces wrong output in Trace</li>
<li><a href="https://saxonica.plan.io/issues/6415">6415</a>
    Improved results for trace of an unreferenced XSLT variables</li>
<li><a href="https://saxonica.plan.io/issues/6407">6407</a>
    Tree Model option -tree seems to be ignored for initial source documents</li>
<li><a href="https://saxonica.plan.io/issues/6406">6406</a>
    A collection cannot contain the same document more than once</li>
<li><a href="https://saxonica.plan.io/issues/6405">6405</a>
    Improve saxon:column-number() for text nodes not inside xsl:text</li>
<li><a href="https://saxonica.plan.io/issues/6394">6394</a>
    Resolve "Duplicate definition of global variable" exception when using compileLibrary on modules which import a common module</li>
<li><a href="https://saxonica.plan.io/issues/6386">6386</a>
    Resolve inadvertant backwards incompatibility in some uses of Configuration#setFeature</li>
<li><a href="https://saxonica.plan.io/issues/6381">6381</a>
    set_unprefixed_element_matching_policy(1) doesn't seem to work</li>
<li><a href="https://saxonica.plan.io/issues/6380">6380</a>
    Internal error when match pattern invoked by xsl:next-match refers to global variable</li>
<li><a href="https://saxonica.plan.io/issues/6378">6378</a>
    Resolved problem with tracing a variable declared abstract</li>
<li><a href="https://saxonica.plan.io/issues/6377">6377</a>
    Resolved exception that could be thrown by format-time in some circumstances</li>
<li><a href="https://saxonica.plan.io/issues/6370">6370</a>
    XSD based validation finds a validation throws NullPointerException when trying to generate a validation report</li>
<li><a href="https://saxonica.plan.io/issues/6365">6365</a>
    Fixed bug where Gizmo could fail if no license was provided</li>
<li><a href="https://saxonica.plan.io/issues/6363">6363</a>
    Incorrect result comparing untypedAtomic value to NaN</li>
<li><a href="https://saxonica.plan.io/issues/6348">6348</a>
    Fixed multi-threading bug related to xsl:result-document operating asynchronously </li>
<li><a href="https://saxonica.plan.io/issues/6340">6340</a>
    Fixed exception that sometimes arose when using saxon:capture="yes" in an accumlator rule</li>
<li><a href="https://saxonica.plan.io/issues/6339">6339</a>
    Describe fix and workaround for ArrayIndexOutOfBoundsException in saxon:transform() </li>
<li><a href="https://saxonica.plan.io/issues/6313">6313</a>
    Static type error from fn:remove()</li>
<li><a href="https://saxonica.plan.io/issues/6302">6302</a>
    Improved trace output when the transform function is used</li>
<li><a href="https://saxonica.plan.io/issues/6286">6286</a>
    Resolved problem where $connection?close() could throw an error</li>
<li><a href="https://saxonica.plan.io/issues/6279">6279</a>
    Incorrect optimization of generate-id() comparisons</li>
<li><a href="https://saxonica.plan.io/issues/6256">6256</a>
    function-name returns an empty sequence for node-name#0, string#0 and more?</li>
<li><a href="https://saxonica.plan.io/issues/6183">6183</a>
    Improved documentation for debugging errors when using "fallback=no" on UCA collation</li>
</ul>

<h3>Issues in SaxonC</h3>

<p>Memory management in SaxonC, PHP, and Python has been greatly improved. This resolved
a number of issues (<a href="https://saxonica.plan.io/issues/6338">6338</a>,
<a href="https://saxonica.plan.io/issues/6349">6349</a>,
<a href="https://saxonica.plan.io/issues/6357">6357</a>,
<a href="https://saxonica.plan.io/issues/6396">6396</a>, and
<a href="https://saxonica.plan.io/issues/6397">6397</a>). In addition, the following
issues were resolved. (For a full list, see
<a href="https://saxonica.plan.io/projects/saxon-c/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=cf_3&amp;op%5Bcf_3%5D=%7E&amp;v%5Bcf_3%5D%5B%5D=12.5&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">the issue tracker</a>.)</p>

<ul>
<li><a href="https://saxonica.plan.io/issues/6439">6439</a>
    Fixed bug in Python extension that could cause an AttributeError on PyXdmFunctionItem</li>
<li><a href="https://saxonica.plan.io/issues/6402">6402</a>
    Added <code>clearXslMessages</code> to clear accumulated xsl:message messages</li>
<li><a href="https://saxonica.plan.io/issues/6401">6401</a>
    Resolved bug when setting a filename on an executable in Python</li>
<li><a href="https://saxonica.plan.io/issues/6372">6372</a>
    Updated build to include all character sets (will enable Windows-1252 encoded XML files to be parsed on Linux)</li>
<li><a href="https://saxonica.plan.io/issues/6360">6360</a>
    Fixed bug where setOutputFile did not work with transformToFile()</li>
<li><a href="https://saxonica.plan.io/issues/6356">6356</a>
    Fixed argument count error in executable in PHP</li>
<li><a href="https://saxonica.plan.io/issues/6351">6351</a>
    Added methods for getting the line and column number of a node</li>
<li><a href="https://saxonica.plan.io/issues/6342">6342</a>
    Fixed bug where in compileFromAssociatedFile PHP might fail</li>
<li><a href="https://saxonica.plan.io/issues/6341">6341</a>
    Support try/catch in PHP for underlying parse errors</li>
<li><a href="https://saxonica.plan.io/issues/6336">6336</a>
    Fixed bug when passing array values as parameters in Python</li>
<li><a href="https://saxonica.plan.io/issues/6327">6327</a>
    Fixed bug where an empty XdmValue in Python might throw a TypeError</li>
<li><a href="https://saxonica.plan.io/issues/6297">6297</a>
    Fixed build issue on CentOS 7</li>
<li><a href="https://saxonica.plan.io/issues/6276">6276</a>
    Fixed bug where proc.version did not include the patch version</li>
</ul>

<p>If you encounter any issues with Saxon 12.5, please
<a href="https://saxonica.plan.io/projects/saxon/issues">report them</a>
on our issue tracker.</p>

</div></content></entry><entry><title>Announcing SaxonC 12.4.2!</title><link href="https://blog.saxonica.com/announcements/2024/01/saxonc-12.4.2.html" rel="alternate" type="text/html"/><id>https://blog.saxonica.com/announcements/2024/01/saxonc-12.4.2.html</id><published>2024-01-26T10:00:00Z</published><content type="xhtml" xml:base="https://blog.saxonica.com/announcements/2024/01/saxonc-12.4.2.html"><div xmlns="http://www.w3.org/1999/xhtml">
<h1>Announcing SaxonC 12.4.2!</h1>

<p>A SaxonC 12.4.2 maintenance release has been published. This
release fixes several issues:</p>

<ul>
<li><a href="https://saxonica.plan.io/issues/6197">6197</a> A segmentation fault in the PHP extension</li>
<li><a href="https://saxonica.plan.io/issues/6273">6273</a> A change in the way whitespace is handled in filenames</li>
<li><a href="https://saxonica.plan.io/issues/6274">6274</a> An problem with the “encoding” keyword in the python saxon processor</li>
<li><a href="https://saxonica.plan.io/issues/6277">6277</a> A build configuration issue for the SaxonC HE Python processor</li>
<li><a href="https://saxonica.plan.io/issues/6288">6288</a> A build issue for the SaxonC PHP extension</li>
<li><a href="https://saxonica.plan.io/issues/6294">6294</a> A segmentation fault parsing JSON</li>
<li><a href="https://saxonica.plan.io/issues/6301">6301</a> A compile error related to memory allocation with some C++ compilers</li>
<!--
<li><a href="https://saxonica.plan.io/issues/6304">6304</a> An issue when using multiple threads from the Python processor</li>
-->
<li><a href="https://saxonica.plan.io/issues/6306">6306</a> Unreleased memory in the Python processor</li>
<li><a href="https://saxonica.plan.io/issues/6324">6324</a>  A segmentation fault in the Python extension</li>
</ul>

<p>Some efforts have also been made to improve the way dynamic
libraries are referenced when using the C/C++ APIs directly. These
changes are reflected in the builds and in the scripts that compile
the “command” and “samples” applications.</p>

<p>In brief: on macOS, the dynamic library can be accessed through
<code>@rpath</code> and on Linux, the dynamic library can be placed in a standard
location or accessed with the <code>LD_LIBRARY_PATH</code> environment variable.
On Windows, apparently the standard practice is to place the DLL in the same
directory as the executable.</p>

<p>For a more complete list of what’s new in 12.4, please see the original
<a href="../../2023/11/saxon-12.4.html">release announcement</a> and the
<a href="https://www.saxonica.com/saxon-c/release-notes.xml">SaxonC release notes</a>
on the main website.</p>

</div></content></entry><entry><title>Announcing SaxonC 12.4.1!</title><link href="https://blog.saxonica.com/announcements/2023/12/saxonc-12.4.1.html" rel="alternate" type="text/html"/><id>https://blog.saxonica.com/announcements/2023/12/saxonc-12.4.1.html</id><published>2023-12-01T14:50:00Z</published><content type="xhtml" xml:base="https://blog.saxonica.com/announcements/2023/12/saxonc-12.4.1.html"><div xmlns="http://www.w3.org/1999/xhtml">
<h1>Announcing SaxonC 12.4.1!</h1>

<p>A SaxonC 12.4.1 maintenance release has been published. This
release fixes <a href="https://saxonica.plan.io/issues/6268">a build
error</a> on the Windows platform and includes one additional
patch.</p>

<p>I’m an ardent believer in build automation and reproducibility
through scripting. We’ve made a lot of progress in this area, but
Windows is still a bit “hands on.” Problem is, it was my hands and I
messed up.</p>

<p>A while back, we considered upgrading to a newer version of
GraalVM. In the course of testing that, I upgraded the version on the
Windows build machine. But ultimately, we decided not to make that
upgrade.</p>

<p>Despite having an explicit note in my release checklist:</p>

<ul>
<li>☑ Check the version of GraalVM</li>
</ul>

<p>I missed it on the Windows box. A lot of good detective work went
into trying to figure out what was going on, but in the end, just
building with the “right” version of GraalVM fixed it. Apologies to
the team and everyone else for that.</p>

<p>The 12.4.1 release also includes a
<a href="https://saxonica.plan.io/issues/6182">partial fix</a> for
issues relating to UTF-8 string-based C API functions. Unfortunately,
a more complete fix was deemed too risky for what was otherwise an
“emergency” release. That fix will have to wait for next time.</p>

<p>For a more complete list of what’s new in 12.4, please see the original
<a href="../11/saxon-12.4.html">release announcement</a>.</p>

</div></content></entry><entry><title>Announcing Saxon 12.4!</title><link href="https://blog.saxonica.com/announcements/2023/11/saxon-12.4.html" rel="alternate" type="text/html"/><id>https://blog.saxonica.com/announcements/2023/11/saxon-12.4.html</id><published>2023-11-29T18:30:00Z</published><content type="xhtml" xml:base="https://blog.saxonica.com/announcements/2023/11/saxon-12.4.html"><div xmlns="http://www.w3.org/1999/xhtml">
<h1>Announcing Saxon 12.4!</h1>

<p>The Saxon 12.4 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.3 release.
(Note: A <em>12.4.1</em> maintenance release of SaxonC
<a href="../12/saxonc-12.4.1.html">was published</a> on 1 December 2023.)
</p>

<p>Saxon 12.4 was released on 29 November 2023.
This release has been
uploaded to the usual locations on the Saxonica website, GitHub, and
Maven, PyPi, and NuGet. SaxonCS 12.4 is built with .NET 6. This
release includes SaxonC and Python releases for the ARM 64
architecture as well as X86-64 architecture.</p>

<p>For a list of the issues resolved in this release, please visit the issue trackers
for
<a href="https://saxonica.plan.io/projects/saxon/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=cf_6&amp;op%5Bcf_6%5D=%3D&amp;v%5Bcf_6%5D%5B%5D=95&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">SaxonJ and SaxonCS</a> or
<a href="https://saxonica.plan.io/projects/saxon-c/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=cf_3&amp;op%5Bcf_3%5D=%7E&amp;v%5Bcf_3%5D%5B%5D=12.4&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">SaxonC</a>
on the Saxon support site.
</p>

<p>Download products:</p>

<ul>
<li>Binaries for PE and EE are available from our
<a href="http://www.saxonica.com/download/download_page.xml">download pages</a>.
</li>
<li>SaxonJ-HE is available on the
<a href="https://central.sonatype.com/artifact/net.sf.saxon/Saxon-HE/12.4">Maven Central
repository</a>.
</li>
<li>SaxonJ-HE, PE, and EE can also be found on our
<a href="https://dev.saxonica.com/maven/">experimental Maven repository</a>.
</li>
<li>Python wheels for SaxonC (HE, PE, and EE) are available from
<a href="https://pypi.org/user/saxonica/">PyPI</a>.
</li>
<li>SaxonCS is available on
<a href="https://www.nuget.org/packages/SaxonCS">NuGet</a></li>
<li>Saxon-HE is available from our open source
<a href="https://github.com/Saxonica/Saxon-HE/">GitHub repository</a>.
The GitHub repository also provides source code for those who need it.
</li>
</ul>

<p>For more details, please consult
<a href="https://www.saxonica.com/documentation12">the documentation</a>.
</p>

<h2>Partial list of issues resolved</h2>

<p>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. 
</p>

<h3>Issues in SaxonJ and SaxonCS</h3>

<p>For a full list, see
<a href="https://saxonica.plan.io/projects/saxon/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=cf_6&amp;op%5Bcf_6%5D=%3D&amp;v%5Bcf_6%5D%5B%5D=95&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">the issue tracker</a>.</p>

<ul>
<li><a href="https://saxonica.plan.io/issues/5792">5792</a>
    ICU spellout numbering</li>
<li><a href="https://saxonica.plan.io/issues/5896">5896</a>
    Intermittent failure in multi-threading with XSLT</li>
<li><a href="https://saxonica.plan.io/issues/5914">5914</a>
    Performance regression in SaxonJ 12, searching for context properties</li>
<li><a href="https://saxonica.plan.io/issues/5949">5949</a>
    A resource loaded via the resolver vs one loaded "directly" is a different source with different options</li>
<li><a href="https://saxonica.plan.io/issues/6049">6049</a>
    Does XQueryEvaluator for SaxonCS lack the API to set an ErrorReporter?</li>
<li><a href="https://saxonica.plan.io/issues/6082">6082</a>
    Saxon 12 XQuery: Issue with compile-time error checking</li>
<li><a href="https://saxonica.plan.io/issues/6090">6090</a>
    Performance regression SaxonCS 12</li>
<li><a href="https://saxonica.plan.io/issues/6094">6094</a>
    saxon:eval and saxon:expression no longer available with Saxon 12</li>
<li><a href="https://saxonica.plan.io/issues/6116">6116</a>
    UncheckedXPathException and missing error codes in output with Saxon-HE 12J</li>
<li><a href="https://saxonica.plan.io/issues/6117">6117</a>
    Transformation using memo functions fails if the source is an XdmDocument.asSource()</li>
<li><a href="https://saxonica.plan.io/issues/6128">6128</a>
    Unwanted diagnostic output when validating notations</li>
<li><a href="https://saxonica.plan.io/issues/6130">6130</a>
    No error is reported for <code>schema-element(*:foo)</code></li>
<li><a href="https://saxonica.plan.io/issues/6131">6131</a>
    Unexpected function call triggers cardinality check and error</li>
<li><a href="https://saxonica.plan.io/issues/6146">6146</a>
    Relative URI resolution in XQuery vs XSLT</li>
<li><a href="https://saxonica.plan.io/issues/6147">6147</a>
    Incorrect fingerprint for XML_SPACE_TYPE</li>
<li><a href="https://saxonica.plan.io/issues/6148">6148</a>
    xsi:type and xsi:schemaLocation on same element</li>
<li><a href="https://saxonica.plan.io/issues/6149">6149</a>
    $connection?close() throws NullPointerException</li>
<li><a href="https://saxonica.plan.io/issues/6153">6153</a>
    XSD blockDefault effect on complex types</li>
<li><a href="https://saxonica.plan.io/issues/6157">6157</a>
    xsl:array instruction does not perform fallback processing</li>
<li><a href="https://saxonica.plan.io/issues/6158">6158</a>
    Errors in xsl:fallback not detected</li>
<li><a href="https://saxonica.plan.io/issues/6159">6159</a>
    sql:query() throws NullPointerException when retrieving a column with null value</li>
<li><a href="https://saxonica.plan.io/issues/6160">6160</a>
    Key type in a MapTest cannot be a union type</li>
<li><a href="https://saxonica.plan.io/issues/6161">6161</a>
    ReportingSingletonIterator.next throws NullPointerException - race condition</li>
<li><a href="https://saxonica.plan.io/issues/6165">6165</a>
    Spurious template rule ambiguity reported</li>
<li><a href="https://saxonica.plan.io/issues/6166">6166</a>
    Public fields in a Java instance object cannot be accessed from XSLT</li>
<li><a href="https://saxonica.plan.io/issues/6167">6167</a>
    Enclosing modes do not work with JIT enabled</li>
<li><a href="https://saxonica.plan.io/issues/6168">6168</a>
    mode="#all" failures with JIT enabled</li>
<li><a href="https://saxonica.plan.io/issues/6176">6176</a>
    Failure to test for UncheckedXPathException</li>
<li><a href="https://saxonica.plan.io/issues/6186">6186</a>
    IndexOutOfBounds exception during stylesheet compilation when package is overridden</li>
<li><a href="https://saxonica.plan.io/issues/6196">6196</a>
    Functions of wrong arity: arguments → parameters</li>
<li><a href="https://saxonica.plan.io/issues/6198">6198</a>
    SCM export fails for a schema containing namespace prefixes in an XPath expression</li>
<li><a href="https://saxonica.plan.io/issues/6199">6199</a>
    SCM export/import sometimes fails for an <code>xs:alternative</code></li>
<li><a href="https://saxonica.plan.io/issues/6201">6201</a>
    configuration file: option for unparsed text URI Resolver</li>
<li><a href="https://saxonica.plan.io/issues/6202">6202</a>
    Invalid attribute names in configuration files are ignored</li>
<li><a href="https://saxonica.plan.io/issues/6207">6207</a>
    Filter expression not working properly</li>
<li><a href="https://saxonica.plan.io/issues/6210">6210</a>
    Format of numbers generated by fn:json-to-xml</li>
<li><a href="https://saxonica.plan.io/issues/6211">6211</a>
    Saxon return wrong error position in XPath expression</li>
<li><a href="https://saxonica.plan.io/issues/6212">6212</a>
    Serializer tries to guess doctype from content and fails at it.</li>
<li><a href="https://saxonica.plan.io/issues/6215">6215</a>
    SQL extension: returning the results of a join query</li>
<li><a href="https://saxonica.plan.io/issues/6217">6217</a>
    Sliding windows: finished windows not output if windows that started earlier are unfinished</li>
<li><a href="https://saxonica.plan.io/issues/6221">6221</a>
    Static error in XPath expression supplied to xsl:evaluate</li>
<li><a href="https://saxonica.plan.io/issues/6225">6225</a>
    Significant performance problem for case insensitive regex matching under high concurrency</li>
<li><a href="https://saxonica.plan.io/issues/6226">6226</a>
    Race condition initialising UnicodeBlocks class</li>
<li><a href="https://saxonica.plan.io/issues/6230">6230</a>
    fn:transform doesn't use the resource resolver from the XPathContext</li>
<li><a href="https://saxonica.plan.io/issues/6231">6231</a>
    Saxon does not recognise function annotations written using Q{uri}local syntax</li>
<li><a href="https://saxonica.plan.io/issues/6232">6232</a>
    Error message: "An empty sequence is not allowed as the result of a call to map"</li>
<li><a href="https://saxonica.plan.io/issues/6236">6236</a>
    Expected XPathException but got AssertionError 'No current component'</li>
<li><a href="https://saxonica.plan.io/issues/6237">6237</a>
    HTTP redirection expects an absolute URI in the location field</li>
<li><a href="https://saxonica.plan.io/issues/6238">6238</a>
    XPath error information is lost in XSLT</li>
<li><a href="https://saxonica.plan.io/issues/6239">6239</a>
    Function conversion rules: xs:anyURI to xs:string conversion</li>
<li><a href="https://saxonica.plan.io/issues/6249">6249</a>
    <code>xsl:evaluate/@context-item</code> expression is present, but evaluates to empty sequence</li>
<li><a href="https://saxonica.plan.io/issues/6253">6253</a>
    Atomized item type for an array (test CastableAs667)</li>
<li><a href="https://saxonica.plan.io/issues/6256">6256</a>
    function-name returns an empty sequence for node-name#0, string#0 and more?</li>
<li><a href="https://saxonica.plan.io/issues/6257">6257</a>
    Gizmo quits after certain errors</li>
<li><a href="https://saxonica.plan.io/issues/6258">6258</a>
    Repeated failures from unparsed-text() / unparsed-text-available()</li>
<li><a href="https://saxonica.plan.io/issues/6260">6260</a>
    Operator || and fn:concat are not exactly equivalent</li>
<li><a href="https://saxonica.plan.io/issues/6265">6265</a>
    NPE in net.sf.saxon.functions.Contains</li>
</ul>

<h3>Issues in SaxonC</h3>

<p>For a full list, see
<a href="https://saxonica.plan.io/projects/saxon-c/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=cf_3&amp;op%5Bcf_3%5D=%7E&amp;v%5Bcf_3%5D%5B%5D=12.4&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">the issue tracker</a>.</p>

<ul>
<li><a href="https://saxonica.plan.io/issues/6241">6241</a>:
    Python 3.12 wheels</li>
<li><a href="https://saxonica.plan.io/issues/6195">6195</a>:
    Sources node objects not deleted in the C++ Schema validation samples</li>
<li><a href="https://saxonica.plan.io/issues/6174">6174</a>:
    ICU localization is currently not supported</li>
<li><a href="https://saxonica.plan.io/issues/6162">6162</a>:
    SaxonC does not accept multiple catalog files</li>
<li><a href="https://saxonica.plan.io/issues/6144">6144</a>:
    PyXPathProcessor object has no attribute <code>thisxqptr</code></li>
<li><a href="https://saxonica.plan.io/issues/6143">6143</a>:
    White space in file path causing an error</li>
<li><a href="https://saxonica.plan.io/issues/6118">6118</a>:
    parseJson API current not supported in SaxonC</li>
<li><a href="https://saxonica.plan.io/issues/6109">6109</a>:
    Give SaxonC XPath API a counterpart to SaxonJ setUnprefixedElementMatchingPolicy</li>
<li><a href="https://saxonica.plan.io/issues/6099">6099</a>:
    Import xslt package currently not available</li>
</ul>

<p>If you encounter any issues with Saxon 12.4, please
<a href="https://saxonica.plan.io/projects/saxon/issues">report them</a>
on our issue tracker.</p>

</div></content></entry><entry><title>Announcing SaxonJS 2.6!</title><link href="https://blog.saxonica.com/announcements/2023/10/saxonjs-2.6.html" rel="alternate" type="text/html"/><id>https://blog.saxonica.com/announcements/2023/10/saxonjs-2.6.html</id><published>2023-10-13T15:45:00Z</published><content type="xhtml" xml:base="https://blog.saxonica.com/announcements/2023/10/saxonjs-2.6.html"><div xmlns="http://www.w3.org/1999/xhtml">
<h1>Announcing SaxonJS 2.6!</h1>

<p>The SaxonJS 2.6 maintenance release has been published. This is a
maintenance release for NodeJS and the browser. It fixes more than a
dozen bugs (including <a href="/norm/2023/10/06-no-longer-supported.html">that one</a>
about the spurious warning message). Highlights include:</p>

<ul>
<li><a href="https://saxonica.plan.io/issues/5597">#5597</a>: ixsl:schedule-action fails without xsl:call-template</li>
<li><a href="https://saxonica.plan.io/issues/5714">#5714</a>: Update documentation to mention the backtick escaping mechanism</li>
<li><a href="https://saxonica.plan.io/issues/5739">#5739</a>: Space in string in text template not output as element content</li>
<li><a href="https://saxonica.plan.io/issues/5761">#5761</a>: fn:transform called from XPath with simplified stylesheet gives an error</li>
<li><a href="https://saxonica.plan.io/issues/5855">#5855</a>: map:merge with duplicates=combine gives wrong answer</li>
<li><a href="https://saxonica.plan.io/issues/5925">#5925</a>: Dynamic function lookup runs very slowly</li>
<li><a href="https://saxonica.plan.io/issues/5974">#5974</a>: SaxonJS documentation does not address namespaces</li>
<li><a href="https://saxonica.plan.io/issues/6037">#6037</a>: ixsl:schedule-action return objects</li>
<li><a href="https://saxonica.plan.io/issues/6107">#6107</a>: Can't use namespaced attributes on the root element of the body of a SaxonJS http-request</li>
<li><a href="https://saxonica.plan.io/issues/6134">#6134</a>: Partial function application call to function in ixsl namespace fails</li>
<li><a href="https://saxonica.plan.io/issues/6216">#6216</a>: base-uri() value empty for documents async-loaded with ixsl:schedule-action/@http-request</li>
<li><a href="https://saxonica.plan.io/issues/6219">#6219</a>: base-uri(ixsl:page()) returns empty value</li>
</ul>

<p>For a complete list of the issues resolved in this release, please visit the
<a href="https://saxonica.plan.io/projects/saxon-js/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=cf_10&amp;op%5Bcf_10%5D=%3D&amp;v%5Bcf_10%5D%5B%5D=94&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">issue tracker</a>
on the Saxonica support site.</p>

<p>SaxonJS 2.6 was released on 13 October 2023. This release has been
uploaded to the usual locations on the Saxonica website and the NPM
repository.
For more details, please consult
<a href="https://www.saxonica.com/saxon-js/documentation2/index.html">the documentation</a>.
</p>

<p>If you encounter any issues with SaxonJS 2.6, please
<a href="https://saxonica.plan.io/projects/saxon-js/issues">report them</a>
on our issue tracker.</p>

</div></content></entry><entry><title>Announcing Saxon 11.6!</title><link href="https://blog.saxonica.com/announcements/2023/08/saxon-11.6.html" rel="alternate" type="text/html"/><id>https://blog.saxonica.com/announcements/2023/08/saxon-11.6.html</id><published>2023-08-24T13:30:00Z</published><content type="xhtml" xml:base="https://blog.saxonica.com/announcements/2023/08/saxon-11.6.html"><div xmlns="http://www.w3.org/1999/xhtml">
<h1>Announcing Saxon 11.6!</h1>

<p>The Saxon 11.6 maintenance release has been published. This is a
maintenance release for Java, C#, C/C++, PHP, and Python that fixes
almost 40 issues reported since the 11.5 release.</p>

<p>Saxon 11.6 was released on 24 August 2023. This release has been
uploaded to the usual locations on the Saxonica website, GitHub,
Maven, and NuGet. SaxonCS 11.6 is built with .NET 6.</p>

<p>For a list of the issues resolved in this release, please visit the
<a href="https://saxonica.plan.io/projects/saxon/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=status_id&amp;op%5Bstatus_id%5D=c&amp;f%5B%5D=cf_6&amp;op%5Bcf_6%5D=%3D&amp;v%5Bcf_6%5D%5B%5D=93&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">issue tracker</a>
on the Saxon support site.
</p>

<p>Download products:</p>

<ul>
<li>Binaries for PE and EE are available from our
<a href="http://www.saxonica.com/download/download_page.xml">download pages</a>.
</li>
<li>SaxonJ-HE is available on the
<a href="https://central.sonatype.com/artifact/net.sf.saxon/Saxon-HE/11.6">Maven Central
repository</a>.
</li>
<li>SaxonJ-HE, PE, and EE can also be found on our
<a href="https://dev.saxonica.com/maven/">experimental Maven repository</a>.
</li>
<li>SaxonCS is available on
<a href="https://www.nuget.org/packages/SaxonCS">NuGet</a></li>
<li>Saxon-HE is no longer distributed on SourceForge. It is now available from
our open source
<a href="https://github.com/Saxonica/Saxon-HE/">GitHub repository</a>.
The GitHub repository also provides source code for those who need it.
</li>
</ul>

<p>For more details, please consult
<a href="https://www.saxonica.com/documentation11">the documentation</a>.
</p>

<p>If you encounter any issues with Saxon 11.6, please
<a href="https://saxonica.plan.io/projects/saxon/issues">report them</a>
on our issue tracker.</p>

</div></content></entry><entry><title>Announcing Saxon 12.3!</title><link href="https://blog.saxonica.com/announcements/2023/07/saxon-12.3.html" rel="alternate" type="text/html"/><id>https://blog.saxonica.com/announcements/2023/07/saxon-12.3.html</id><published>2023-07-04T17:50:00Z</published><content type="xhtml" xml:base="https://blog.saxonica.com/announcements/2023/07/saxon-12.3.html"><div xmlns="http://www.w3.org/1999/xhtml">
<h1>Announcing Saxon 12.3!</h1>

<p>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.</p>

<p>Saxon 12.3 was released on
<span title="Happy Independence Day to all our readers in the United States!">4 July 2023</span>.
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.</p>

<p>For a list of the issues resolved in this release, please visit the issue trackers
for
<a href="https://saxonica.plan.io/projects/saxon/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=status_id&amp;op%5Bstatus_id%5D=c&amp;f%5B%5D=cf_6&amp;op%5Bcf_6%5D=%3D&amp;v%5Bcf_6%5D%5B%5D=92&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">SaxonJ and SaxonCS</a> or
<a href="https://saxonica.plan.io/projects/saxon-c/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=status_id&amp;op%5Bstatus_id%5D=c&amp;f%5B%5D=cf_3&amp;op%5Bcf_3%5D=%7E&amp;v%5Bcf_3%5D%5B%5D=12.3&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">SaxonC</a>
on the Saxon support site.
</p>

<p>Download products:</p>

<ul>
<li>Binaries for PE and EE are available from our
<a href="http://www.saxonica.com/download/download_page.xml">download pages</a>.
</li>
<li>SaxonJ-HE is available on the
<a href="https://central.sonatype.com/artifact/net.sf.saxon/Saxon-HE/12.3">Maven Central
repository</a>.
</li>
<li>SaxonJ-HE, PE, and EE can also be found on our
<a href="https://dev.saxonica.com/maven/">experimental Maven repository</a>.
</li>
<li>Python wheels for SaxonC (HE, PE, and EE) are available from
<a href="https://pypi.org/user/saxonica/">PyPI</a>.
</li>
<li>SaxonCS is available on
<a href="https://www.nuget.org/packages/SaxonCS">NuGet</a></li>
<li>Saxon-HE is no longer distributed on SourceForge. It is now available from
our open source
<a href="https://github.com/Saxonica/Saxon-HE/">GitHub repository</a>.
The GitHub repository also provides source code for those who need it.
</li>
</ul>

<p>For more details, please consult
<a href="https://www.saxonica.com/documentation12">the documentation</a>.
</p>

<h2>Partial list of issues resolved</h2>

<p>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. 
</p>

<h3>Issues in SaxonJ and SaxonCS</h3>

<p>For a full list, see
<a href="https://saxonica.plan.io/projects/saxon/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=status_id&amp;op%5Bstatus_id%5D=c&amp;f%5B%5D=cf_6&amp;op%5Bcf_6%5D=%3D&amp;v%5Bcf_6%5D%5B%5D=92&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">the issue tracker</a>.</p>

<ul>
<li><a href="https://saxonica.plan.io/issues/6003">6003</a>:
    Inline function expression evaluated using xsl:evaluate</li>
<li><a href="https://saxonica.plan.io/issues/6018">6018</a>:
    UnicodeString - indexWhere does not start from the expected position</li>
<li><a href="https://saxonica.plan.io/issues/6022">6022</a>:
    Eager evaluation prematurely throws exception in analyze-string/non-matching-string.</li>
<li><a href="https://saxonica.plan.io/issues/6024">6024</a>:
    java.lang.NoClassDefFoundError: org/jdom2/Document</li>
<li><a href="https://saxonica.plan.io/issues/6033">6033</a>:
    Invalid warning about field in xs:key</li>
<li><a href="https://saxonica.plan.io/issues/6034">6034</a>:
    Problems with saxon:slice()</li>
<li><a href="https://saxonica.plan.io/issues/6036">6036</a>:
    Undeclaration of default namespace is not reported to a SAXResult</li>
<li><a href="https://saxonica.plan.io/issues/6040">6040</a>:
    Invalid warning displayed when map:contains() is used</li>
<li><a href="https://saxonica.plan.io/issues/6054">6054</a>:
    NamedNodeMap.getNamedItem throw UnsupportedOperationException</li>
<li><a href="https://saxonica.plan.io/issues/6059">6059</a>:
    Bug on "-" castable to xs:duration</li>
<li><a href="https://saxonica.plan.io/issues/6061">6061</a>:
    Crash in SaxonCS using ";n" in regex flags</li>
<li><a href="https://saxonica.plan.io/issues/6063">6063</a>:
    Incorrect attribute indentation</li>
<li><a href="https://saxonica.plan.io/issues/6067">6067</a>:
    Fixed NPE in Saxon HE 12.2</li>
<li><a href="https://saxonica.plan.io/issues/6076">6076</a>:
    Fixed NPE in Saxon HE 12.2</li>
<li><a href="https://saxonica.plan.io/issues/6085">6085</a>:
    Fixed an incomplete path in error messages in a validation report</li>
<li><a href="https://saxonica.plan.io/issues/6086">6086</a>:
    Updated the validation-reports.xsd</li>
<li><a href="https://saxonica.plan.io/issues/6091">6091</a>:
    Fixed an NPE in ContextStackIterator.getMajorCaller</li>
<li><a href="https://saxonica.plan.io/issues/6092">6092</a>:
    Fixed a bug in defaultOpenContent/@appliesToEmpty in XML Schema support</li>
<li><a href="https://saxonica.plan.io/issues/6093">6093</a>:
    Fixed a bug in a predicate with last()</li>
<li><a href="https://saxonica.plan.io/issues/6095">6095</a>:
    Fixed an index out-of-bounds exception when using an accumulator-rule match with variables</li>
</ul>

<h3>Issues in SaxonC</h3>

For a full list, see
<a href="https://saxonica.plan.io/projects/saxon-c/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=status_id&amp;op%5Bstatus_id%5D=c&amp;f%5B%5D=cf_3&amp;op%5Bcf_3%5D=%7E&amp;v%5Bcf_3%5D%5B%5D=12.3&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">the issue tracker</a>.

<ul>
<li><a href="https://saxonica.plan.io/issues/6017">6017</a>:
    Interrupted by signal 11: SIGSEGV when PyDocumentBuilder.set_schema_validator is set to None</li>
<li><a href="https://saxonica.plan.io/issues/6023">6023</a>:
    Thread 1 "python3" received signal SIGSEGV, Segmentation fault</li>
<li><a href="https://saxonica.plan.io/issues/6025">6025</a>:
    Python Saxon not releasing memory</li>
<li><a href="https://saxonica.plan.io/issues/6053">6053</a>:
    PydmNode object gets deleted before reuse</li>
<li><a href="https://saxonica.plan.io/issues/6075">6075</a>:
    Unable to read unicodeBlocks.xml file</li>
<li><a href="https://saxonica.plan.io/issues/6077">6077</a>:
    Axis Iterator required on the XdmNode</li>
<li><a href="https://saxonica.plan.io/issues/6078">6078</a>:
    Undefined reference to <code>dlopen@GLIBC_2.34</code></li>
<li><a href="https://saxonica.plan.io/issues/6084">6084</a>:
    Exception: Initial template parameters can only be of type PyXdmValue</li>
<li><a href="https://saxonica.plan.io/issues/6098">6098</a>:
    SaxonApiException::getSystemId() throws NullPointerException</li>
</ul>

<p>If you encounter any issues with Saxon 12.3, please
<a href="https://saxonica.plan.io/projects/saxon/issues">report them</a>
on our issue tracker.</p>

</div></content></entry><entry><title>Announcing Saxon 12.2!</title><link href="https://blog.saxonica.com/announcements/2023/05/saxon-12.2.html" rel="alternate" type="text/html"/><id>https://blog.saxonica.com/announcements/2023/05/saxon-12.2.html</id><published>2023-05-02T13:00:00Z</published><content type="xhtml" xml:base="https://blog.saxonica.com/announcements/2023/05/saxon-12.2.html"><div xmlns="http://www.w3.org/1999/xhtml">
<h1>Announcing Saxon 12.2!</h1>

<p>The Saxon 12.2 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.1 release.</p>

<p>Saxon 12.2 was released on 2 May 2023. This release has been
uploaded to the usual locations on the Saxonica website, GitHub, and
Maven, PyPi, and NuGet. SaxonCS 12.2 is built with .NET 6. This
release includes SaxonC and Python releases for the ARM 64
architecture as well as X86 64 architecture.</p>

<p>For a list of the issues resolved in this release, please visit the issue trackers
for
<a href="https://saxonica.plan.io/projects/saxon/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=status_id&amp;op%5Bstatus_id%5D=c&amp;f%5B%5D=cf_6&amp;op%5Bcf_6%5D=%3D&amp;v%5Bcf_6%5D%5B%5D=91&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">SaxonJ and SaxonCS</a> or
<a href="https://saxonica.plan.io/projects/saxon-c/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=status_id&amp;op%5Bstatus_id%5D=c&amp;f%5B%5D=cf_3&amp;op%5Bcf_3%5D=%7E&amp;v%5Bcf_3%5D%5B%5D=12.2&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">SaxonC</a>
on the Saxon support site.
</p>

<p>Download products:</p>

<ul>
<li>Binaries for PE and EE are available from our
<a href="http://www.saxonica.com/download/download_page.xml">download pages</a>.
</li>
<li>SaxonJ-HE is available on the
<a href="https://central.sonatype.com/artifact/net.sf.saxon/Saxon-HE/12.2">Maven Central
repository</a>.
</li>
<li>SaxonJ-HE, PE, and EE can also be found on our
<a href="https://dev.saxonica.com/maven/">experimental Maven repository</a>.
</li>
<li>Python wheels for SaxonC (HE, PE, and EE) are available from
<a href="https://pypi.org/user/saxonica/">PyPI</a>.
</li>
<li>SaxonCS is available on
<a href="https://www.nuget.org/packages/SaxonCS">NuGet</a></li>
<li>Saxon-HE is no longer distributed on SourceForge. It is now available from
our open source
<a href="https://github.com/Saxonica/Saxon-HE/">GitHub repository</a>.
The GitHub repository also provides source code for those who need it.
</li>
</ul>

<p>For more details, please consult
<a href="https://www.saxonica.com/documentation12">the documentation</a>.
</p>

<h2>Partial list of issues resolved</h2>

<p>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. 
</p>

<h3>Issues in SaxonJ and SaxonCS</h3>

<p>For a full list, see
<a href="https://saxonica.plan.io/projects/saxon/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=status_id&amp;op%5Bstatus_id%5D=c&amp;f%5B%5D=cf_6&amp;op%5Bcf_6%5D=%3D&amp;v%5Bcf_6%5D%5B%5D=91&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">the issue tracker</a>.</p>

<ul>
<li><a href="https://saxonica.plan.io/issues/5997">5997</a>:
    XSLT version for fn:transform</li>
<li><a href="https://saxonica.plan.io/issues/5996">5996</a>:
    Union types extension is available in Saxon-PE</li>
<li><a href="https://saxonica.plan.io/issues/5995">5995</a>:
    JavaDoc for XPathCompiler.setLanguageVersion should mention 4.0 is accepted</li>
<li><a href="https://saxonica.plan.io/issues/5978">5978</a>:
    StackOverflow during multithreaded schema processing</li>
<li><a href="https://saxonica.plan.io/issues/5970">5970</a>:
    DirectResourceResolver - unresolved XML classpath resources</li>
<li><a href="https://saxonica.plan.io/issues/5957">5957</a>:
    Disabling DTD validation</li>
<li><a href="https://saxonica.plan.io/issues/5953">5953</a>:
    JAXP ValidatorHandler throws an exception if the document is invalid</li>
<li><a href="https://saxonica.plan.io/issues/5952">5952</a>:
    unparsed-text-available throws an un-catchable IllegalCharsetNameException</li>
<li><a href="https://saxonica.plan.io/issues/5939">5939</a>:
    Using -u and a file: URI as the source argument for a query doesn't work</li>
<li><a href="https://saxonica.plan.io/issues/5937">5937</a>:
    Extension function gives NullPointerException in 12.1 when returning empty sequence</li>
<li><a href="https://saxonica.plan.io/issues/5931">5931</a>:
    Remove outdated xml-apis from the Maven artifacts</li>
</ul>

<h3>Issues in SaxonC</h3>

For a full list, see
<a href="https://saxonica.plan.io/projects/saxon-c/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=status_id&amp;op%5Bstatus_id%5D=c&amp;f%5B%5D=cf_3&amp;op%5Bcf_3%5D=%7E&amp;v%5Bcf_3%5D%5B%5D=12.2&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">the issue tracker</a>.

<ul>
<li><a href="https://saxonica.plan.io/issues/5983">5983</a>:
    Saxon.C.API/SaxonApiException.cpp calculates wrong strlen</li>
<li><a href="https://saxonica.plan.io/issues/5954">5954</a>:
    The XPath 4.0 function parse-html not available</li>
<li><a href="https://saxonica.plan.io/issues/5944">5944</a>:
    set_cwd on PySchemaValidator seems to be ignored under some circumstances</li>
<li><a href="https://saxonica.plan.io/issues/5941">5941</a>:
    SaxonC EE 12.1 Validate command line tool seems broken; doesn't give any output</li>
<li><a href="https://saxonica.plan.io/issues/5938">5938</a>:
    Trying to compile XSLT from file after setting allowedProtocols raises an NPE</li>
<li><a href="https://saxonica.plan.io/issues/5936">5936</a>:
    Fix exception reporting for Python on Windows</li>
<li><a href="https://saxonica.plan.io/issues/5934">5934</a>:
    Python wheels don’t work in a virtual environment on Windows</li>
</ul>

<p>If you encounter any issues with Saxon 12.2, please
<a href="https://saxonica.plan.io/projects/saxon/issues">report them</a>
on our issue tracker.</p>

</div></content></entry><entry><title>Announcing Saxon 12.1!</title><link href="https://blog.saxonica.com/announcements/2023/03/saxon-12.1.html" rel="alternate" type="text/html"/><id>https://blog.saxonica.com/announcements/2023/03/saxon-12.1.html</id><published>2023-03-21T15:20:00Z</published><content type="xhtml" xml:base="https://blog.saxonica.com/announcements/2023/03/saxon-12.1.html"><div xmlns="http://www.w3.org/1999/xhtml">
<h1>Announcing Saxon 12.1!</h1>

<p>The Saxon 12.1 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 first Saxon 12.0 release,
in particular it now runs on Java 8.</p>

<p>Saxon 12.1 was released on 21 March 2023. This release has been
uploaded to the usual locations on the Saxonica website, GitHub, and
Maven, PyPi, and NuGet. SaxonCS 12.1 is built with .NET 6.</p>

<p>For a list of the issues resolved in this release, please visit the issue trackers
for
<a href="https://saxonica.plan.io/projects/saxon/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=status_id&amp;op%5Bstatus_id%5D=c&amp;f%5B%5D=cf_6&amp;op%5Bcf_6%5D=%3D&amp;v%5Bcf_6%5D%5B%5D=90&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">SaxonJ and SaxonCS</a> or
<a href="https://saxonica.plan.io/projects/saxon-c/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=status_id&amp;op%5Bstatus_id%5D=c&amp;f%5B%5D=cf_3&amp;op%5Bcf_3%5D=%7E&amp;v%5Bcf_3%5D%5B%5D=12.1&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">SaxonC</a>
on the Saxon support site.
</p>

<p>Download products:</p>

<ul>
<li>Binaries for PE and EE are available from our
<a href="http://www.saxonica.com/download/download_page.xml">download pages</a>.
</li>
<li>SaxonJ-HE is available on the
<a href="https://central.sonatype.com/artifact/net.sf.saxon/Saxon-HE/12.1">Maven Central
repository</a>.
</li>
<li>SaxonJ-HE, PE, and EE can also be found on our
<a href="https://dev.saxonica.com/maven/">experimental Maven repository</a>.
</li>
<li>Python wheels for SaxonC (HE, PE, and EE) are available from
<a href="https://pypi.org/user/saxonica/">PyPI</a>.
</li>
<li>SaxonCS is available on
<a href="https://www.nuget.org/packages/SaxonCS">NuGet</a></li>
<li>Saxon-HE is no longer distributed on SourceForge. It is now available from
our open source
<a href="https://github.com/Saxonica/Saxon-HE/">GitHub repository</a>.
The GitHub repository also provides source code for those who need it.
</li>
</ul>

<p>For more details, please consult
<a href="https://www.saxonica.com/documentation12">the documentation</a>.
</p>

<h2>Partial list of issues resolved</h2>

<p>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. 
</p>

<h3>Issues in SaxonJ and SaxonCS</h3>

<p>For a full list, see
<a href="https://saxonica.plan.io/projects/saxon/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=status_id&amp;op%5Bstatus_id%5D=c&amp;f%5B%5D=cf_6&amp;op%5Bcf_6%5D=%3D&amp;v%5Bcf_6%5D%5B%5D=90&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">the issue tracker</a>.</p>

<ul>
<li><a href="https://saxonica.plan.io/issues/5624">5624</a>:
    SaxonCS validate problem</li>
<li><a href="https://saxonica.plan.io/issues/5801">5801</a>:
    Dependency on axiom pom causes maven-dependency-plugin error</li>
<li><a href="https://saxonica.plan.io/issues/5805">5805</a>:
    Set locator to XmlProcessingIncident</li>
<li><a href="https://saxonica.plan.io/issues/5809">5809</a>:
    NPE on failure to load user-supplied collation class</li>
<li><a href="https://saxonica.plan.io/issues/5823">5823</a>:
    The implemented fn:slice function signature differs from the Saxonica docs and the specification</li>
<li><a href="https://saxonica.plan.io/issues/5824">5824</a>:
    SaxonJ 12.0 does not run with Java 8</li>
<li><a href="https://saxonica.plan.io/issues/5839">5839</a>:
    SaxonCS query problem</li>
<li><a href="https://saxonica.plan.io/issues/5852">5852</a>:
    XML Transformer generates invalid XHTML</li>
<li><a href="https://saxonica.plan.io/issues/5880">5880</a>:
    XQuery error with -p:on command line option</li>
<li><a href="https://saxonica.plan.io/issues/5884">5884</a>:
    SaxonCS 12 doesn't find elements in HTML DOM based on [@class = 'foo'] predicate</li>
<li><a href="https://saxonica.plan.io/issues/5906">5906</a>:
    C# context item absent</li>
<li><a href="https://saxonica.plan.io/issues/5908">5908</a>:
    saxon:for-each-member was dropped in Saxon 11</li>
<li><a href="https://saxonica.plan.io/issues/5910">5910</a>:
    Double reporting of template execution in timing profile</li>
<li><a href="https://saxonica.plan.io/issues/5911">5911</a>:
    SaxonCS crashes when package version number is wrong</li>
<li><a href="https://saxonica.plan.io/issues/5913">5913</a>:
    Tail recursion overwrites value of variable</li>
<li><a href="https://saxonica.plan.io/issues/5920">5920</a>:
    Java reflexive API fails to run, throws ClassNotFoundException</li>
</ul>

<h3>Issues in SaxonC</h3>

For a full list, see
<a href="https://saxonica.plan.io/projects/saxon-c/issues?utf8=%E2%9C%93&amp;set_filter=1&amp;sort=id%3Adesc&amp;f%5B%5D=status_id&amp;op%5Bstatus_id%5D=c&amp;f%5B%5D=cf_3&amp;op%5Bcf_3%5D=%7E&amp;v%5Bcf_3%5D%5B%5D=12.1&amp;f%5B%5D=&amp;c%5B%5D=tracker&amp;c%5B%5D=status&amp;c%5B%5D=priority&amp;c%5B%5D=subject&amp;c%5B%5D=assigned_to&amp;c%5B%5D=updated_on&amp;group_by=&amp;t%5B%5D=">the issue tracker</a>.

<ul>
<li><a href="https://saxonica.plan.io/issues/5849">5849</a>:
    transform_to_file() in PyXslt30Processor not working.</li>
<li><a href="https://saxonica.plan.io/issues/5850">5850</a>:
    Error when compiling XSLT that uses "i" flag in regular expressions.</li>
<li><a href="https://saxonica.plan.io/issues/5856">5856</a>:
    Compilation/build issue PHP 8</li>
<li><a href="https://saxonica.plan.io/issues/5868">5868</a>:
    C samples don't build with Ubuntu</li>
<li><a href="https://saxonica.plan.io/issues/5869">5869</a>:
    For Windows SaxonC HE 12.0 there is no bat file to build the C samples</li>
</ul>

<p>If you encounter any issues with Saxon 12.1, please
<a href="https://saxonica.plan.io/projects/saxon/issues">report them</a>
on our issue tracker.</p>

</div></content></entry></feed>