Re: SaxonCS 11.0 is available

Emanuel Wlaschitz <[email protected]> Wed, 6 Oct 2021 14:05:12 +0000
Newsgroups gmane.text.xml.saxon.help
Message-ID <[email protected]>
Woah, nice.

Are there any plans to use multi-targetting and support .NET Standard 2.0 as well (so we can replace SaxonN on .NET Framework 4.8 with SaxonCS where we're still stuck with .NET Framework for other reasons; such as WCF Server or .NET Remoting)?
If not, are there any plans or suggestions other than "keep using SaxonN v10"?

Thanks, Emanuel 

-----Original Message-----
From: Michael Kay <mike-JkSD5nQpfvpWk0Htik3J/[email protected]> 
Sent: Wednesday, October 6, 2021 15:55
To: Mailing list for the SAXON XSLT and XQuery processor <[email protected]>
Subject: [saxon] SaxonCS 11.0 is available

We are pleased to announce the release of SaxonCS-EE 11.0 - Saxon Enterprise Edition for .NET 5.

Details:

Documentation: https://www.saxonica.com/documentation11/index.html
Download: https://www.saxonica.com/download/dotnet.xml (or search for SaxonCS on nuget)

Previous products for .NET were built using IKVM to convert the Java bytecode of the Java product (which we are now calling SaxonJ). IKVM doesn't work with .NET Core or .NET 5, so we had to come up with a new approach; SaxonCS is therefore built by generating C# from the Java source code of SaxonJ using a custom transpiler, written in XSLT.

As well as being our first product for .NET 5, this is also the first product built from the version 11 code base (SaxonJ 11 will follow). There are lots of new features, described in detail in the change history section of the documentation, but for most users support for .NET 5 will be the main reason for adoption. We've tested the product on .NET 5 running on Windows, MacOS, and Linux.

Licensing: being Enterprise Edition, a license key is required. Existing license keys will work provided they have current upgrade rights. You can also get a 30-day evaluation license in the usual way. However, we're making a change to the licensing at the same time: from Saxon 11, we plan to offer term and/or subscription licenses only, rather than perpetual licenses. The software is now in a mature phase where many users are looking for stability and support rather than new features, and we feel that perpetual licenses encourage people to stay on old releases until they hit a support problem, at which point it's hard for us to offer assistance. Much of the industry has moved to term and subscription licensing, and we think this will work better. We'll be updating the online shop over the
  next few days.

Compatibility and transition: the API for SaxonCS follows the design of the old .NET API closely, but not slavishly. When we've seen where it can be improved by breaking compatibility, we've improved it. (For example, callbacks are typically now implemented as delegates rather than interfaces.) So some reworking of existing applications will be needed, but we hope it won't be onerous. There are a few areas in which we haven't (yet) replicated the functionality of the old .NET product: the most obvious is localization (number and date formatting), and we'll be addressing this in later releases.

Performance: initial results are very encouraging, but slightly inconsistent. Some things are faster than SaxonJ, some are slower, and we haven't yet been able to establish a clear pattern. Please try it out on your own workload and let us know how it goes.

Michael Kay
Saxonica

_______________________________________________
saxon-help mailing list archived at http://saxon.markmail.org/ [email protected] https://lists.sourceforge.net/lists/listinfo/saxon-help