<?xml-stylesheet href="../make-menu.xsl?cache=20250912" type="text/xsl"?>
<html>
    <head>
        <this-is section="products" page="latest" subpage="archive"></this-is>
        <title>Saxonica: Older releases</title>
        <meta name="title" content="Saxonica: Older releases" />
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta name="description" content="the full range of Saxon products and features implementing four W3C defined languages on four technology platforms such as Java, .NET, Native, JavaScript" />
        <meta name="keywords" content="XSLT, XQuery, XSD, XPath, Java, .NET, Native, JavaScript" />
        <meta name="coverage" content="Worldwide" />
        <meta name="copyright" content="Copyright Saxonica Ltd" />
        <meta name="robots" content="follow" />
    </head>
    <body class="main">
        <h1>Older releases</h1>
        <p>This page contains archive information about past Saxon releases. For information on the
            most recent releases, see <a class="bodylink" href="latest.xml">Latest releases</a>.</p>
        
        <p>To download older commercial products (Saxon-EE and Saxon-PE) see <a class="bodylink"
            href="../download/information.xml#earlier">Earlier releases</a>. For older releases of the open-source
            product Saxon-HE visit the <a class="bodylink" href="https://github.com/saxonica/Saxon-Archive/"
                target="_blank">Saxon-Archive GitHub repository</a>.</p>
        
        <a id="saxon10" class="anchor"></a>
        <h1>Saxon 10</h1>
        <p><b>Saxon 10.9 maintenance release for Java and .NET, released 16 February 2023.</b></p>
        <p>Saxon 10.8 maintenance release for Java and .NET, released 15 March 2022.</p>
        <p>Saxon 10.7 maintenance release for Java and .NET, released 1 March 2022.</p>
        <p>Saxon 10.6 maintenance release for Java and .NET, released 16 September 2021.</p>
        <p>Saxon 10.5 maintenance release for Java and .NET, released 14 April 2021.</p>
        <p>Saxon 10.3 maintenance release for Java and .NET, released 28 October 2020. With this
            release, we are now recommending Saxon 10 as the most stable and reliable release
            for production use.</p>
        <p>Saxon 10.2 maintenance release for Java, and first release for .NET, released 26
            August 2020.</p>
        <p>Saxon 10.1 maintenance release for Java, released 14 May 2020.</p>
        <p>Saxon 10.0, the first release in this series for Java, released 16 March 2020.</p>
        <h3>Product headlines</h3>
        <p>10 feels like a special number, and marks something of a milestone, although to be
            honest it's only called 10 because it happens to be the 31st major release since 7.0
            came out back in 2002. Think of it as the culmination of 18 years' work, think of it as
            the dawn of a new era, or just think of it as Saxonica carrying on doing what we're good
            at.</p>
        <p>As always there's a minutely detailed list of changes in the <a class="bodylink"
            href="../documentation10#!changes">Change history</a> section of the documentation, but to
            save you time, here are the "top ten" highlights that we think will be most
            popular: </p>
        <ol>
            <li><p>Higher order functions and xsl:evaluate are now available in Saxon-HE.</p></li>
            <li><p>An interactive command-line utility named Gizmo is available for ad-hoc querying
                and updating of documents.</p></li>
            <li><p>A new API is provided for easy and efficient tree construction, based on modern
                API design ideas using fluent and immutable objects.
                These complement the stream-based API introduced in 9.9 for tree navigation.</p></li>
            <li><p>XSLT and XPath provide an optional switch to allow unprefixed names to ignore
                namespaces, so the path <code>/a/b/c</code> matches elements with local names "a",
                "b", and "c" regardless of namespace. Ideal for ad-hoc queries where namespaces just
                get in the way, as well as queries on single-namespace documents.</p></li>
            <li><p>HTML serialization now generates HTML5 by default (support for html-version="4"
                is retained if explicitly requested).</p></li>
            <li><p>Saxon now integrates with the new date-and-time handling features in Java 8,
                including a new extension function <code>saxon:parse-dateTime()</code> 
                that builds on Java date parsing capabilities.</p></li>
            <li><p>Many new extension functions are available, most of them taking advantage of the
                power of higher-order functions. For example,
                <code>saxon:replace-with("Chapter 13", "[0-9]+", function($x){number($x)+1})</code>
                returns "Chapter 14".</p></li>
            <li><p>Saxon 10 includes experimental implementations of a number of powerful new XSLT
                and XPath features, which Saxonica has put forward for inclusion in a new version
                4.0 of the standards. These include tuple types, named item types, streamlined syntax
                for inline functions and conditional instructions, XSLT instructions to handle
                arrays, and enhancements to XSLT patterns to make JSON transformation much easier.
                These features are only available if explicitly enabled.</p></li>
            <li><p>A number of extensions to XML Schema 1.1 are provided: list data types can be
                constrained to be distinct and/or ordered, and can use a separator other than
                whitespace; elements in a sequence can also be constrained to appear in ascending or
                descending order.</p></li>
            <li><p>As always, there has been significant internal re-engineering to keep the code
                performant and maintainable. A significant change is in the way namespaces are
                represented both in the tree model (the <code>NodeInfo</code> interface) and in the
                push pipeline (the <code>Receiver</code> interface): both now deliver namespace maps
                representing complete sets of namespace bindings, rather than individual namespace
                declarations and undeclarations. The main benefit is that copying of trees with many
                namespaces is significantly faster.</p></li>
        </ol>
        <p>For further details, see the <a class="bodylink" href="feature-matrix-10.xml">Saxon 10
            feature matrix</a>.</p>
        <p>Saxon 10 requires Java 8 or higher. (A .NET version is available from 10.2.) Saxon 10 can
            export compiled stylesheets in the form of SEF files suitable for reading either by
            Saxon 10, or by Saxon-JS 2; SEF files cannot be used with earlier releases.</p>
        
        <a id="saxon9-9" class="anchor"></a>
        <h1>Saxon 9.9</h1>
        <p><b>Saxon 9.9.1.8 maintenance release for Java and .NET, released 22 October 2020.</b></p>
        <p>Saxon 9.9.1.7 maintenance release for Java and .NET, released 4 March 2020.</p>
        <p>Saxon 9.9.1.6 maintenance release for Java and .NET, released 6 December 2019.</p>
        <p>Saxon 9.9.1.5 maintenance release for Java and .NET, released 5 September 2019.</p>
        <p>Saxon 9.9.1.4 maintenance release for Java and .NET, released 28 June 2019.</p>
        <p>Saxon 9.9.1.3 maintenance release for Java and .NET, released 15 May 2019.</p>
        <p>Saxon 9.9.1.2 maintenance release for Java and .NET, released 12 March 2019.</p>
        <p>Saxon 9.9.1.1 maintenance release for Java, and first release for .NET, released 21 January 2019.</p>
        <p>Saxon 9.9.0.2 maintenance release for Java, released 7 November 2018.</p>
        <p>Saxon 9.9.0.1, the first release in this series for Java, released 27 September 2018.</p>
        <h3>Product headlines</h3>
        <p>Saxon 9.9 is the first major release for 15 months. For the first time, there are no new W3C standards to
            chase, though we've inevitably found a few forgotten corners where conformance work was needed. On the whole
            though, this release has given us an opportunity to think about what users need other than W3C conformance.
            There's a long list of enhancements in the change log at <a class="bodylink"
                href="../documentation9.9/#!changes">Change history</a>, but here are what we consider the top ten:</p>
        <ol>
            <li><p>There's a significant extension of the s9api interface to provide XDM tree navigation. Under the
                hood, this takes advantage of Java 8 streams. As an alternative to using XPath expressions such as
                <code>XdmValue selectedBooks = xpath.evaluate("//book[author='" + key + "']", doc);</code> you can now
                write <code>doc.select(descendant("book").where(eq(child("author"), key)).asXdmValue();</code></p>
                <p>There's a usability benefit because you're only using one language (Java) rather than two
                    (Java+XPath), and there's a performance benefit because it cuts out the expensive XPath parsing
                    stage. It also reduces the risk of injection attacks, and is likely to detect more programming
                    errors at compile time. To make this work, we're now requiring a baseline of Java 8.</p></li>
            <li><p>Tuple types extend the XPath type system to provide better type checking of complex data structures.
                If you're representing employee data as a map, then instead of declaring it as <code>map(xs:string, item()*)</code>,
                you can now declare it as <code>tuple(empNr: xs:string, dob: xs:date, name: element(personalName))</code>. The result
                is more readable code, better type checking (meaning faster debugging), and better performance. The
                extension has been implemented in such a way that it can be used without compromising the portability of
                your code to other XSLT 3.0 processors.</p></li>
            <li><p>Arrays, like maps, now have an internal implementation that means updates to individual entries in
                the array don't require the whole array to be copied, giving substantial performance improvements for
                applications that use arrays heavily.</p></li>
            <li><p>Improvements have been implemented to the TinyTree data structure to further reduce memory usage, and
                to enable zero-cost copying of subtrees from one tree to another in the course of a transformation.</p></li>
            <li><p>A number of powerful new extension instructions and functions are provided to enable easier query and
                update of the trees of maps and arrays that typically arise when processing JSON input. For example, the
                instruction <code>&lt;saxon:deep-update root="json-doc('empData.json')" select="?*[?customer='Jones']?orders"
                    action="array:append($order)"/&gt;</code> reads and parses a JSON file, adds a new order for a selected
                customer, and returns a data structure representing the modified data set, which can then be serialized
                using the JSON output method.</p></li>
            <li><p>Streamed accumulators, as defined in the XSLT 3.0 Recommendation, are extended with a new feature: by
                annotating an accumulator rule with the attribute <code>saxon:capture="yes"</code>, an entire element from the source
                document can be captured as the value of the accumulator. For example this can be used to capture the
                header section at the start of a document and make it available for reference while the rest of the
                document is processed using pure streaming.</p></li>
            <li><p>The updating primitives of the XQuery Update specification are now available for use in XSLT via
                Saxon-defined extension instructions. These make many simple updates (such as "delete all comments")
                easier to express and faster in execution, without sacrificing the declarative nature of the XSLT
                language. For a future release we are thinking about new data structures that make such updates very
                efficient, avoiding the need to copy all the data in the source document that has not changed.</p></li>
            <li><p>The XPath lookup operator "?" has been exploited to provide easier call-out from XSLT and XQuery to
                Java code. For example, if the variable <code>$connection</code> holds a SQL database connection obtained using the
                <code>sql:connect()</code> extension function, then the expression <code>$connection?isClosed()</code> calls the Java method
                <code>isClosed</code> defined on the underlying connection object.</p></li>
            <li><p>The ability for an XSLT stylesheet to produce "raw" output (for example, a sequence of integers
                rather than an XML document), as envisaged in the XSLT 3.0 specification, is now much better supported
                in the Saxon API. A new <code>RawDestination</code> is available to define the destination of a
                transformation. Internally, there has been a significant tidying-up of the interface between the
                transformation engine and a destination such as a <code>Serializer</code>.</p></li>
            <li><p>There have been further improvements to diagnostics on type errors. This applies especially when
                passing complex data structures between templates and functions using maps. In general, instead of
                telling you that the expected type was X but the supplied value V was an instance of Y, the message now
                tells you in what way V fails to conform to the type X: for example, if X is <code>map{xs:string, node()}</code> and
                V contains an entry whose key is of type xs:untypedAtomic, then the error message in 9.8 would tell you
                that V is an instance of <code>map{xs:anyAtomicType, node()}</code>, while 9.9 will tell you that V is not an
                instance of <code>map{xs:string, node()}</code> because it contains a key whose type is xs:untypedAtomic and whose
                value is (say) "Idaho".</p></li>
        </ol>
        <p>For further details, see the <a class="bodylink" href="feature-matrix-9-9.xml">Saxon 9.9
            feature matrix</a>.</p>
        
        <a id="saxon9-8" class="anchor"></a>
        <h1>Saxon 9.8</h1>
        <p><b>Saxon 9.8.0.15 maintenance release for Java and .NET, released 6 November 2018.</b></p>
        <p>Saxon 9.8.0.14 maintenance release for Java and .NET, released 25 July 2018.</p>
        <p>Saxon 9.8.0.12 maintenance release for Java and .NET, released 9 May 2018.</p>
        <p>Saxon 9.8.0.11 maintenance release for Java and .NET, released 19 March 2018.</p>
        <p>Saxon 9.8.0.10 maintenance release for Java and .NET, released 16 March 2018.</p>
        <p>Saxon 9.8.0.8 maintenance release for Java and .NET, released 5 February 2018.</p>
        <p>Saxon 9.8.0.7 maintenance release for Java and .NET, released 20 December 2017.</p>
        <p>Saxon 9.8.0.6 maintenance release for Java and .NET, released 30 October 2017.</p>
        <p>Saxon 9.8.0.5 maintenance release for Java and .NET, released 5 October 2017.</p>
        <p>Saxon 9.8.0.4 maintenance release for Java and .NET, released 16 August 2017.</p>
        <p>Saxon 9.8.0.3 maintenance release for Java and .NET, released 6 July 2017.</p>
        <p>Saxon 9.8.0.2 maintenance release for Java and .NET, released 21 June 2017.</p>
        <p>Saxon 9.8.0.1, the first release in this series for Java and .NET, released 8 June 2017.</p>
        <h3>Product headlines</h3>
        <ul>
            <li><b>XSLT 3.0 implementation</b>: The release is timed to coincide with the publication
                of the final <a class="bodylink" href="https://www.w3.org/TR/xslt-30/">XSLT 3.0
                    recommendation</a> on 8 June 2017. Saxon 9.8 is a
                complete implementation: <a href="../documentation9.8#!conformance/xslt30" class="bodylink">Conformance details</a> are available.
            In particular, the <i>basic conformance</i> level of XSLT 3.0 is now implemented in Saxon-HE.</li>
            <li><b>New optimizations</b>: As well as taking XSLT 3.0 support forward to match the final Recommendation, Saxon 9.8 includes a number
            of new optimizations (these apply to Saxon-EE only):
            <ul>
                <li>Just-in-time compilation of template rules, to reduce the cost of loading large stylesheets like DocBook and DITA 
                    where typical source documents trigger only a fraction of the template rules</li>
                 <li>hot-spot bytecode generation, focusing compilation effort where it delivers most benefits</li>
                 <li>optimization of template rule sets where the matching is predominantly based on predicates rather than element names (DITA-OT being
                     the most obvious example)</li>
                 <li>a new approach to processing of DOM trees (the Domino model), which speeds up navigation of the DOM by building index structures</li>
                 <li>bytecode generation for validation of user-defined simple types in XSD.</li>
            </ul></li>
            <li><b>Packaging</b>: Support for XSLT 3.0 packages is enhanced with a new mechanism allowing available packages and their versions to be catalogued in the
            Saxon configuration file, with dependencies between packages resolved automatically.</li>
            <li><b>Generating SEFs</b>: Saxon-EE is able to generate stylesheet export files (SEFs) containing compiled XSLT packages, either for execution in the browser using Saxon-JS, or
            for distribution to the production servers where the transformations will be executed.</li>
        </ul>
        <p>For further details, see the <a class="bodylink" href="feature-matrix-9-8.xml">Saxon 9.8
            feature matrix</a>.</p>
        
        <a id="saxon9-7" class="anchor"></a>
        <h1>Saxon 9.7</h1>
        <p><b>Saxon 9.7.0.21 maintenance release for Java and .NET, released 5 December 2017.</b></p>
        <p>Saxon 9.7.0.20 maintenance release for Java and .NET, released 28 July 2017.</p>
        <p>Saxon 9.7.0.19 maintenance release for Java and .NET, released 7 July 2017.</p>
        <p>Saxon 9.7.0.18 maintenance release for Java and .NET, released 5 April 2017.</p>
        <p>Saxon 9.7.0.15 maintenance release for Java and .NET, released 7 February 2017.</p>
        <p>Saxon 9.7.0.14 maintenance release for Java and .NET, released 2 December 2016.</p>
        <p>Saxon 9.7.0.13 maintenance release for Java and .NET, released 28 November 2016.</p>
        <p>Saxon 9.7.0.12 maintenance release for Java and .NET, released 22 November 2016.</p>
        <p>Saxon 9.7.0.11 maintenance release for Java and .NET, released 2 November 2016.</p>
        <p>Saxon 9.7.0.10 maintenance release for Java and .NET, released 21 October 2016.</p>
        <p>Saxon 9.7.0.8 maintenance release for Java and .NET, released 1 September 2016.</p>
        <p>Saxon 9.7.0.7 maintenance release for Java and .NET, released 15 July 2016.</p>
        <p>Saxon 9.7.0.6 maintenance release for Java and .NET, released 17 June 2016.</p>
        <p>Saxon 9.7.0.5 maintenance release for Java and .NET, released 12 May 2016.</p>
        <p>Saxon 9.7.0.4 maintenance release for Java and .NET, released 11 March 2016.</p>
        <p>Saxon 9.7.0.3 maintenance release for Java, released 18 February 2016.</p>
        <p>Saxon 9.7.0.2 maintenance release for Java, released 19 January 2016.</p>
        <p>The first release in this series, Saxon 9.7.0.1 for Java, was issued 27 November
            2015.</p>
        <h3>Product headlines</h3>
        <ul>
            <li><b>XSLT 3.0 implementation largely complete</b> (requires Saxon-PE or Saxon-EE): 
                Saxon 9.7 implements the
                new <a class="bodylink" href="https://www.w3.org/TR/xslt-30/">XSLT 3.0 candidate
                    recommendation</a> of 19 November 2015.</li>
            <li><b>Schema validation</b>: the schema validator offers
                customised error reporting. </li>
            <li><b>Arrays, Maps, and JSON</b>: XPath 3.1 Arrays are implemented. Along with maps, this
                provides the infrastructure for full support of JSON. </li>
            <li><b>Miscellaneous new functions</b>: two of the most interesting are
                    <code>random-number-generator()</code>, and <code>parse-ietf-date()</code>. </li>
            <li><b>Streaming</b>: further improvements to the set of constructs that can be
                streamed, and the diagnostics when constructs cannot be streamed. </li>
            <li><b>Collections</b>: In line with XPath 3.1 changes, a major overhaul of the way
                collections work.</li>
            <li><b>Concurrency improvements</b>: Saxon 9.6 already offered various options for
                executing stylesheets in parallel to take advantage of multi-code processors. These
                facilities have now been tuned for performance and made more robust, by taking
                advantage of more advanced concurrency features in the JDK platform. </li>
            <li><b>Cost-based optimization</b>: Saxon's optimizer now makes cost estimates in order
                to decide the best execution strategy.</li>
        </ul>
        <p>For further details, see the <a class="bodylink" href="feature-matrix-9-7.xml">Saxon 9.7
                feature matrix</a>.</p>
        
        <a id="saxon9-6" class="anchor"></a>
        <h1>Saxon 9.6</h1>
        <p><b>Saxon 9.6.0.10 maintenance release for Java and .NET, released 2 December 2016.</b></p>
        <p>Saxon 9.6.0.9 maintenance release for Java and .NET, released 26 May 2016.</p>
        <p>Saxon 9.6.0.8 maintenance release for Java and .NET, released 10 December 2015.</p>
        <p>Saxon 9.6.0.7 maintenance release for Java and .NET, released 5 August 2015.</p>
        <p>Saxon 9.6.0.6 maintenance release for Java and .NET, released 5 June 2015.</p>
        <p>Saxon 9.6.0.5 maintenance release for Java and .NET, released 27 March 2015.</p>
        <p>Saxon 9.6.0.4 maintenance release for Java and .NET, released 14 January 2015.</p>
        <p>Saxon 9.6.0.3 maintenance release for Java and .NET, released 2 December 2014.</p>
        <p>Saxon 9.6.0.2 maintenance release for Java and .NET, released 13 November 2014.</p>
        <p>The first release in this series, Saxon 9.6.0.1 for Java, was issued 2 October 2014.</p>
        <h3>Product headlines</h3>
        <ul>
            <li>Saxon 9.6 implements the <a class="bodylink"
                    href="https://www.w3.org/TR/2014/WD-xslt-30-20141002/">XSLT 3.0 working draft
                    specification</a> dated 2 October 2014. </li>

            <li>Support for <a class="bodylink" href="https://www.w3.org/TR/xquery-30/">XQuery
                    3.0</a> and <a class="bodylink" href="https://www.w3.org/TR/xpath-30/">XPath
                    3.0</a> (recommendations published 8 April 2014) was added to the open-source
                product Saxon-HE. </li>

            <li>Saxon 9.6 performs localization using the ICU (International Components for
                Unicode), which supports many more languages. </li>
        </ul>
        <p>For further details, see the <a class="bodylink" href="feature-matrix-9-6.xml">Saxon 9.6
                feature matrix</a>.</p>
        
        <a id="saxon9-5" class="anchor"></a>
        <h1>Saxon 9.5</h1>
        <p><b>Saxon 9.5.1.10 maintenance release for Java and .NET, released 15 April 2015.</b></p>
        <p>Saxon 9.5.1.8 maintenance release for Java and .NET, released 31 October 2014.</p>
        <p>Saxon 9.5.1.6 maintenance release for Java and .NET, released 10 July 2014.</p>
        <p>The first release in this series, 9.5.0.1, was issued 16 April 2013.</p>
        <h3>Product headlines</h3>
        <ul>
            <li>Complete and conformant support for XQuery 3.0 and XPath 3.0, now in the Candidate
                Recommendation phase.</li>
            <li>Many advances in XSLT 3.0 support (still a working draft), including more capability
                for streaming of large documents.</li>
            <li>In Saxon-EE, multi-threading "out-of-the-box" when processing multiple input files
                or when generating multiple output files.</li>
            <li>There are some very handy new extensions, including libraries (defined by the EXPath
                initiative) for handling of files and directories and ZIP archives, and a function
                for sending email notifications.</li>
        </ul>
        
        <a id="saxon-c" class="anchor"></a>
        <h1>Saxon/C 1.2</h1>
        <p><b>Saxon/C 1.2.1 maintenance release for C/C++, PHP and Python, released 28 October 2019.</b></p>
        <p>Saxon/C 1.2.0, the first release in this series for the C/C++, PHP and Python programming
            languages, built from Saxon 9.9.1.5, released 16 October 2019.</p>
        <p>APIs are available to run XSLT 3.0, XQuery 3.1, XPath 3.1, and Schema Validation from
            C/C++, PHP or Python applications.
            Saxon/C 1.2.0 is built from the Saxon 9.9 Java product using the Excelsior JET Enterprise tool
            (version 15.3 MP1).</p>
        <p>Saxon/C is available in the standard Saxon range of editions: the open-source product
            Saxon-HE/C, and the commercial products Saxon-PE/C and Saxon-EE/C. Separate downloads are
            available to run on Linux, Mac OS X and Windows.</p>
        
        <h1>Saxon/C 1.1</h1>
        <p>Saxon/C 1.1.3 Windows only maintenance release (to fix a Windows specific bug 4192)
            released on 11 April 2019.</p>
        <p>Saxon/C 1.1.2 maintenance release for C/C++/PHP platforms, built from Saxon 9.8.0.15,
            released 21 February 2019.</p>
        <p>Saxon/C 1.1.0, the first release in this series for C/C++/PHP platforms, built from Saxon
            9.8.0.4, released 27 September 2017.</p>
        <p>APIs are available to run XSLT 3.0, XQuery 3.1, XPath 3.1, and Schema Validation from
            C/C++ or PHP applications. 
            Saxon/C 1.1.2 is built from the Saxon 9.8 Java product using the Excelsior JET tool
            (version 15.3 MP1).</p>
        <p>Saxon-C is available in the standard Saxon range of editions: the open-source product
            Saxon-HE/C, and the commercial products Saxon-PE/C and Saxon-EE/C.</p>
        
        <h1>Saxon/C 1.0</h1>
        <p><b>Saxon/C 1.0.2 maintenance release for C/C++ platforms, released 5 August 2016.</b></p>
        <p>Saxon/C 1.0.1 maintenance release for C/C++ platforms, released 7 April 2016.</p>
        <p>Saxon/C 1.0.0 first major release for C/C++ platforms, released 5 February
            2016.</p>
        <p>APIs are available to run XSLT 2.0/3.0, XQuery 1.0/3.0,
            XPath 2.0/3.0 and Schema Validation from C/C++ or PHP applications. 
            Saxon/C 1.0 is built from the Saxon 9.6.0.9 Java product using the Excelsior JET tool
            (version 11 MP3).</p>
        <p>Saxon-C 1.0 is available in the standard Saxon range of editions: the open-source product
            Saxon-HE/C, and the commercial products Saxon-PE/C and Saxon-EE/C.</p>
        
        <a id="saxon-js" class="anchor"></a>
        <h1>Saxon-JS 1</h1>
        <p>Saxon-JS 1.2.0 maintenance release 5 October 2018.</p>
        <p>Saxon-JS 1.1.0 maintenance release 9 May 2018.</p>
        <p>Saxon-JS 1.0.2 maintenance release 5 October 2017.</p>
        <p>Saxon-JS 1.0.1 maintenance release 21 July 2017.</p>
        <p>Saxon-JS 1.0 first full release 7 February 2017.</p>
        <p>Saxon-JS 1 allows execution of XSLT 3.0 stylesheets in the browser. It is a run-time only
            product; you first need to compile the stylesheet using
            Saxon-EE (9.7.0.15 or later). The compiled form (called a "stylesheet export file") is an
            XML document in a Saxon-specific format, so you can prepare the stylesheet on a
            development workstation and then deploy it anywhere on the web.</p>
        <p>Saxon-JS is a replacement for Saxon-CE. It shares with Saxon-CE the ability to
            write interactive applications, where template rules with modes such as "ixsl:onclick"
            respond to user interaction. Unlike Saxon-CE, it's a new product written in pure
            JavaScript, which makes it much smaller and more manageable.</p>
        <p>Saxon-JS at its first release has almost complete coverage of XPath 3.1 (including maps,
            arrays, and JSON), plus support for many XSLT 3.0 features such as try/catch and text
            value templates. To keep it small, it omits most optional features including schema
            awareness, streaming, and higher order functions.</p>
        <p>For further information see <a href="../saxonjs/archive.xml" class="bodylink">Saxon-JS
            1.x</a>.</p>
        
        <a id="saxon-ce" class="anchor"></a>
        <h1>Saxon Client Edition 1.1</h1>
        <p class="warning"><i>Note: Saxon-CE is no longer in development.</i> As of 2017, the product has been superseded by <a
            class="bodylink" href="../saxonjs/index.xml">Saxon-JS</a>, the XSLT 3.0
            run-time in JavaScript.</p>
        <p><b>Saxon-CE 1.1 is open-source, released 22 February 2013.</b></p>
        <p>Saxon Client Edition achieved its first production release 1.0 in June 2012, marking
            the culmination of effort in porting and then wrapping the Saxon XSLT 2.0 processor core
            into a product fit and ready for the browser, in the era of HTML5 and the dynamic
            web.</p>
        <p>Saxon-CE features interactive event-driven templates and works in any modern browser with
            JavaScript enabled - including mobile devices. </p>
        <p>In February 2013 Saxonica announced that the product would be made open-source, in the
            hope that this would enable the technology to become mainstream, allowing every
            developer to produce the same kind of quality interactive applications that pioneer
            users of the 1.0 release have shown to be possible.</p>
        <p>For further information see <a href="../ce/index.xml" class="bodylink">Saxon-CE</a>.</p>
        
        <div id="fixed-aside">
            <h2>On this page:</h2>
            <ul>
                <li><a href="#saxon10" class="title">Saxon 10</a></li>
                <li><a href="#saxon9-9" class="title">Saxon 9.9</a></li>
                <li><a href="#saxon9-8" class="title">Saxon 9.8</a></li>
                <li><a href="#saxon9-7" class="title">Saxon 9.7</a></li>
                <li><a href="#saxon9-6" class="title">Saxon 9.6</a></li>
                <li><a href="#saxon9-5" class="title">Saxon 9.5</a></li>
                <li><a href="#saxon-c" class="title">Saxon/C</a></li>
                <li><a href="#saxon-js" class="title">Saxon-JS</a></li>
                <li><a href="#saxon-ce" class="title">Saxon-CE</a></li>
            </ul>
            <br />
            <h2>See also:</h2>
            <ul>
                <li><a href="latest.xml" class="title">Latest releases information</a></li>
                <li><a href="../download/information.xml#earlier" class="title">Download earlier releases</a></li>
                <li><a href="https://github.com/Saxonica/Saxon-HE/" class="title" target="_blank">Saxon-Archive GitHub repository</a></li>
            </ul>
        </div>
    </body>
</html>
