SaxonC release notes
Maintenance release version 12.5
Released on 2 July 2024
SaxonC 12 maintenance release for Linux, MacOS and Windows.
Documented changes in the release:
- The methods
getLineNumber()
and getColumnNumber()
have been added to the
XdmNode
class in the C++, Python and PHP APIs.
- The
clearXslMessages()
method has been added to the
XsltExecutable
class in the C++, Python and PHP APIs.
- Breaking changes have been made to the
PyXdmFunctionItem
methods
get_system_function()
and call()
. The
PyXdmFunctionItem.get_system_function()
method is now defined as
a static method on the class, instead of an instance method.
This is a breaking change to maintain consistency with the C++ API, which requires
a user to
change their code accordingly.
Meanwhile, the argument supplying the PySaxonProcessor
has been removed
for the call()
method. This is because the
PyXdmFunctionItem
object already contains the
PySaxonProcessor
object internally therefore passing it as an argument
is not necessary.
- The
PyXdmValue
class constructor now requires the
PySaxonProcessor
instance as an argument to create an empty sequence.
For example, xdm_value = PyXdmValue(saxonproc)
, where the
saxonproc
is the instance of the PySaxonProcessor
class.
This is another breaking change but an important one for better memory management.
As an alternative, the new method empty_sequence()
is added on the
PySaxonProcessor
class, which can be used to create an empty PyXdmValue
object.
- The way that memory management is handled internally has been significantly overhauled,
removing a
number of memory leaks, and making it much more robust concerning memory handling
in C++, Python,
and PHP. (See bug issues #6338,
#6349, and
#6392.)
For a full list of bug fixes in this SaxonC release, see the bug tracker database.
Maintenance release version 12.4.2
Released on 25 January 2024
SaxonC 12 maintenance release for Linux, MacOS and Windows.
Maintenance release to fix bugs in the SaxonC 12.4 PHP extension (see bug issues #6288 and #6324), and a number of other SaxonC
bugs:
- Bug #6197: PHP - SIGSEGV in zend_mm_alloc_small or in Java_java_lang_ProcessEnvironment_environ
- Bug #6273: White space in file path causing an error
- Bug #6274: parse_json on PySaxonProcessor is broken: has a documented keyword "encoding" argument
but throws error for more than one keyword parameter, gives error with json_text
- Bug #6288: SaxonC PHP extension fails to build - error: 'argument' was not declared in this
scope; did you mean 'arguments'?
- Bug #6294: parseJsonFromFile gives segmentation fault
- Bug #6301: error: dangling pointer 'parameters' to 'temp' may be used
- Bug #6304: Multithreaded XSLT transformations runs through with SaxonC 12.4.1 HE but then on
Windows gives lengthy error
- Bug #6306: Saxon in python is not releasing memory
- Bug #6324: PyXdmValue toString causes SIGSEGV, Segmentation fault
Documented changes:
- PHP API: added the methods
XdmNode.getAttributeNodes()
and
XdmNode.getChildren()
which respectively return the attribute nodes, and
child nodes, of the current node, as a PHP array of XdmNode
objects.
- We have thoroughly reviewed how we handle paths passed in by the user so that they
are now getting properly resolved with the 'current working directory'.
(see bug issue #6273)
- The build scripts for the command line programs for Linux, MacOS, and Windows have
been updated and renamed. For details see "Command line interface" at Running SaxonC.
Maintenance release version 12.4.1
Released on 1 December 2023
SaxonC 12 maintenance release for Linux, MacOS and Windows.
Maintenance release to fix a bug in the Windows build of SaxonC 12.4 (see bug issue
#6268).
Maintenance release version 12.4
Released on 29 November 2023
SaxonC 12 maintenance release for Linux, MacOS and Windows.
Documented changes in the release:
- The
importPackage(const char * filename)
method is added to the C++, Python and PHP APIs on the
Xslt30Processor
class. This method supports the xsl:use-package
declaration to import a library package before
compiling a primary stylesheet or package.
PyXdmNode
now implements the built-in function len()
to return the number of
children at a given node. Note this is different to the size()
method inherited
from PyXdmValue
which gets the number of items in a sequence, and so returns the
value 1 for a PyXdmNode
.
- The SaxonC Python API now supports the subscript operator (i.e. square brackets [])
on
PyXdmValue
and PyXdmNode
objects. For example, given a node object
n
and integer i
, n[i]
returns the i'th child node of
n
or None if the i'th child does not exist. Then n[i][j]
returns the
j'th child node of n[i]
, and so on. For a PyXdmValue
object,
n[i]
returns the i'th item in the sequence.
- Added ICU localization support for SaxonC-EE and SaxonC-PE using ICU4J.
- The C API is now documented: see SaxonC C API.
- The main Saxon 12 documentation has
been updated to provide more details relevant for the C/C++, PHP and Python platforms
where
this differs to Saxon on the Java and C# platforms.
For a full list of bug fixes in this SaxonC release, see the bug tracker database.
Maintenance release version 12.3
Released on 4 July 2023
SaxonC 12 maintenance release for Linux, MacOS and Windows.
Documented changes in the release:
- The
getXslMessages()
method is added back into the C++, Python and PHP APIs on the
XsltExecutable
class.
- Added the method
PyXPathProcessor.set_base_uri()
(see bug issue #6064).
- Added the
PyXdmNode.local_name
property (see bug issue #6065).
- Added the node axis feature to get the array of nodes reachable from the current node
via a
given axis. See the
axisNodes()
method on the XdmNode
class (C++,
PHP and Python).
- From 12.3, GLIBC 2.32 is no longer a minimum prerequisite for SaxonC. SaxonC now now
works on
older versions of GLIBC, allowing users to run the product on these systems.
For a full list of bug fixes in this SaxonC release, see the bug tracker database.
Maintenance release version 12.2
Released on 2 May 2023
SaxonC 12 maintenance release for Linux, MacOS and Windows.
Documented changes in the release:
PySaxonApiError
is now supported on Windows as on other platforms (removing this
restriction in SaxonC 12.1).
- The
set_language_version()
method has belatedly been added to the Python
PyXPathProcessor
API.
- The XPath 4.0
fn:parse-html()
function is now supported.
For a full list of bug fixes in this SaxonC release, see the bug tracker database.
Maintenance release version 12.1
Released on 21 March 2023
SaxonC 12 maintenance release for Linux, MacOS and Windows.
Documented changes in the release:
- Updated to version 22.3.1 of GraalVM Native Image, used to compile SaxonC to a
native executable.
- Exceptions that are thrown from the underlying Java code are now handled in the C++
API and
re-thrown as a C++ exception called
SaxonApiException
. Likewise these exceptions
are thrown in the Python API as PySaxonApiError
and in the PHP extension as PHP
exceptions. Note: For the Python API on Windows the PySaxonApiError
is not
available therefore we throw RuntimeError
if there are any failures.
- The
setStreaming()
and isStreaming()
methods have been added to
XQueryProcessor
.
- The
setLanguageVersion()
method has been added to XPathProcessor
and
XQueryProcessor
; this can be used to enable use of the experimental 4.0
extensions with SaxonC-PE and SaxonC-EE (as documented in the main Saxon 12
documentation).
- The
registerSchemaFromNode()
method has been added to SchemaValidator
.
For a full list of bug fixes in this SaxonC release, see the bug tracker database.
Major release version 12.0
Released on 12 January 2023
SaxonC 12 is built from SaxonJ 12 using GraalVM Native Image 22.3.0, available on
Linux,
MacOS and Windows.
As previously, SaxonC is available in three editions: SaxonC-HE (open-source), SaxonC-PE
and SaxonC-EE (commercial products). SaxonC runs on the C/C++ platform (C++ 14 minimum),
with extensions for the PHP and Python programming languages.
As well as upgrading the version of SaxonJ that SaxonC is built from, a number of
other
changes have been made, and several bugs have been fixed in the new release.
Documented changes in the release:
- SaxonC is now compiled to a native executable using GraalVM Native Image (version
22.3.0). (Earlier
versions used Excelsior Jet, which is no longer marketed or supported.) GraalVM performs
ahead-of-time
compilation of the Java source code to executable machine code: the target code is
specific to an
operating system (Windows, Linux, or MacOS) and CPU architecture (AArch64 and Intel
x86_64 for
MacOS). The move from Excelsior JET to GraalVM has a number of benefits:
- GraalVM is actively developed and supported by Oracle, and has excellent performance.
- We can now deliver (for each target platform) a single shared native library which
contains all the code required at run time, that is the application classes,
standard library classes, the language runtime, and statically linked native
code from the JDK.
All editions of SaxonC are currently built using GraalVM Community Edition.
- SaxonC now uses the Native Image C API instead of JNI Invocation API for calling methods
embedded
in a native (that is, non-Java) shared library. There are benchmarks
available which show that using the Native Image C API is considerably faster than
using JNI.
- The SaxonC Python extension is now available as a Python wheel package on PyPI for
multiple
platforms. This means that it can be installed with pip, which greatly simplifies
the installation process. Python 3.8+ is supported.
- SaxonC now works with PHP 8 and has removed support for PHP 7 since it is no longer
supported.
- In SaxonC 12.0, a few features from SaxonC 11.x have not yet been bridged to GraalVM,
in particular:
-
Localization using ICU4J. (Localization using the capabilities of the JDK remains
available, but is more limited.)
-
Calls to user-written host language extension functions.
We hope to restore these features (perhaps in a slightly different form) in the future.
- The move to a different JVM technology inevitably changes the mechanisms for
product installation and configuration. Please see the documentation for details.
- The SAXONC_HOME environment variable is no longer used for the location of the installed
SaxonC library. Dynamic linking of the library is done according to the system default.
For
example, for a unix system lookup is done according to the path /lib, and then /usr/lib
(or
/usr/local/lib for MacOS). In some systems the LD_LIBRARY_PATH environment variable
can be used
instead.
- Some changes have been made to the structure of the SaxonC product downloads:
- The download directory has been restructured to move the core library file into the
libs/[nix|darwin|win]
directory.
- The Windows download is now presented as a .zip file rather than an .exe file.
- The python source code has been moved out of the
Saxon.C.API/python-saxon
directory to
the top-level under the pypi
directory.
- There are a few API changes, including:
- The new methods
clarkNameToEQName()
and EQNameToClarkName()
are available on the SaxonProcessor
class across the languages C++, PHP and
Python.
- The
flag
argument in the setCatalog()
method of
SaxonProcessor
has been dropped.
- A number of methods have been added to the
Xslt30Processor
class to better
support exporting an XSLT stylesheet to SEF: setFastCompilation()
,
setRelocatable()
, setTargetEdition()
and
setXsltLanguageVersion()
. These methods are available across all languages (C++,
PHP and Python).
For a full list of bug fixes in this SaxonC release, see the bug tracker database.
Maintenance release version 11.6
Released on 24 August 2023
SaxonC 11 maintenance release for Linux, MacOS and Windows.
No SaxonC specific bug fixes in this release. See the main Saxon bug tracker for other fixes.
Maintenance release version 11.5
Released on 8 February 2023
SaxonC 11 maintenance release for Linux, MacOS and Windows.
Bug fixes:
- Bug #5675: DocumentBuilder.setBaseUri not working
- Bug #5770: set_initial_mode does not handle xsl:unnamed and xsl:default
- Bug #5854: PyDocumentBuilder missing exception handling method
Maintenance release version 11.4
Released on 28 July 2022
SaxonC 11 maintenance release for Linux, MacOS and Windows.
Bug fixes:
- Bug #5429: when using no argument with new SaxonProcessor(), further code gives access violation
- Bug #5446: transform_to_file on PyXslt30Processor and PyXsltExecutable ignores documented xdm_node
keyword argument
- Bug #5449: XSLT:garbage appended to output
- Bug #5452: set_source and set_output_file functions don't exists but are in examples
- Bug #5455: build-windows.bat for cppTests samples is not complete, using it gives errors due
to various unresolved symbols
- Bug #5456: testValidator.exe core dumps on Windows in testValidator5
- Bug #5470: SaxonC HE for Mac in SaxonCGlue.c looks for EE library libsaxoneec.dylib
- Bug #5533: segfault when setting xslt parameter in a loop
- Bug #5537: Xslt30Processor.transform_to_file not giving the correct output
- Bug #5538: string XdmAtomic-getHead: found when XdmAtomicValue->getHead() called
- Bug #5541: PyXsltExecutable.transform_to_string keyword xdm_node not recognized
- Bug #5542: Python example causes segmentation error
- Bug #5546: Calling setCatalog in the SaxonC PHP extension throws an error
Maintenance release version 11.3
Released on 28 March 2022
SaxonC 11 maintenance release for Linux, MacOS and Windows.
Bug fixes:
- Bug #4428: Multi-threading support of Python bindings Saxon-C
- Bug #4452: ldconfig /sbin/ldconfig.real: file /lib/libsaxonhec.so is truncated
- Bug #4682: Inconsistencies in documentation on relative and absolute paths in PHP
- Bug #5252: Building the command line tools issues a couple of warnings
- Bug #5307: SENR0001 Cannot serialize a map using this output method
- Bug #5330: libsaxon-HEC-11.1/samples/php/query is empty for Linux
- Bug #5337: callTemplateReturningValue(null) with PHP does not call the template named xsl:initial-template
but rather gives error "java.lang.IllegalArgumentException: Supplied Clark name is
null or empty"
- Bug #5342: PyXdmMap and PyXdmArray should be iterable
- Bug #5343: Error found when converting array of XdmValue to XdmArray
- Bug #5349: PyXPathProcessor.evaluate_single does not handle PyXdmMap, PyXdmArray and PyXdmFunction
- Bug #5365: Unable to load /usr/lib/libsaxoneec.so
- Bug #5372: SaxonC HE fails to compile XSLT stylesheets using Unicode categories as it fails
to find the categories.xml file during compilation
- Bug #5373: Python multithreading code crashes
- Bug #5374: TransformFromFile fails to create output file
- Bug #5404: Configuration properties not set on SaxonProcessor
- Bug #5426: Wrong version information displayed for SaxonC 11 PHP module
Maintenance release version 11.2
Released on 18 February 2022
SaxonC 11 maintenance release for Linux, MacOS and Windows.
Bug fixes:
- Bug #5228: Saxon-C example dir and Saxon-C and/or documentation is out of sync?
- Bug #5270: NameError: name 'derivedaaptr' is not defined
- Bug #5274: xsl:template with name="xsl:initial-template" returns None
- Bug #5279: XdmArray.values() fails to return values as subclasses of XdmValue
- Bug #5280: Use of fn:highest in XSLT 4 from transform.exe of SaxonC EE 11.1 fails
with "Failed to load built-in function library: function-library.sef.xml"
- Bug #5282: Error: /usr/lib/libsaxoneec.socallTemplateReturningFile not found
- Bug #5287: How to use XPath system function from Python with SaxonC 11.1
- Bug #5290: java.lang.ClassCastException : net.sf.saxon.ma.arrays.SimpleArrayItem
- Bug #5291: build[Edition]-command.bat for Windows have links to 1.2.1 directory
- Bug #5293: Thread 1 "testXQuery" received signal SIGSEGV, Segmentation fault
- Bug #5298: TypeError: __str__ returned non-string (type NoneType)
- Bug #5305: XdmValue::toString for SaxonC not aligned to XdmValue.toString() for
SaxonJ
Major release version 11.1
Released on 1 February 2022
SaxonC 11 is the first major release of SaxonC in over two years, available on Linux,
MacOS and Windows. The first release in this series is 11.1, which is built from SaxonJ
11.1, also released in February 2022. For the first time, this brings Saxon on C/C++,
PHP, and Python up to date with the latest releases on the Java and .NET platforms.
Note
that the version numbering has been changed to reflect this: for SaxonC, series 11
follows series 1.2.
As previously, SaxonC is available in three editions: SaxonC-HE (open-source), SaxonC-PE
and SaxonC-EE (commercial products).
As well as upgrading the version of SaxonJ that SaxonC is built from, a number of
other
changes have been made, and several bugs have been fixed in the new release.
Documented changes in the release:
- Compiling the C++ API now requires at least C++14 compiler version. This also affects
the building of the Python and
PHP APIs.
- ICU localization support added in SaxonC-PE and SaxonC-EE, to provide support for
formatting numbers
and dates, as well as sorting and comparison of strings, in a wide variety of languages.
- Implemented the classes
XdmFunctionItem
, XdmArray
and XdmMap
as new XDM data types, making it
easier to pass maps and arrays as parameters to queries or stylesheets.
- The
XsltExecutable
class has been introduced across all APIs (C++, Python and PHP) to facilitate the
execution of compiled stylesheets.
This works alongside the Xslt30Processor
class which is used to compile stylsheets. In accordance with this we have dropped
the XsltProcessor
class.
- Feature #3854: Add PHP's magic
methods
- Bug #4366: Returning string of Maps in XQuery failing
- Bug #4368: Unable to run Saxon HEC 1.2.1 Python: looks for
SaxonHEC1.2.0\libsaxonhec.dll
- Bug #4370: samples/cppTests/buildCPPSaxonHE.bat still references 1.2.0
- Feature #4372: Compiling SCM files with
Saxon/C
- Bug #4386: setProperty and setParameter does not replace keys already in the
map
- Bug #4387: set_context() takes exactly 0 positional arguments (1 given)
- Bug #4395: setBaseOutputURI missing from XSLT API
- Bug #4409: TypeError: expected bytes, str found in
saxonc.PyXQueryProcessor.set_query_base_uri
- Bug #4410: Error: MyClassInDll.setBaseURI not found
- Bug #4411: static base URI property missing from XSLTProcessor for
C++/PHP/Python
- Bug #4415: add_package method not implemented
- Bug #4417: java.util.MissingResourceException: Could not load any resource
bundle
- Bug #4418: Configuration file currently not supported in Python
- Bug #4467: transformToString() Encoding issue
- Bug #4513: Error: "declareNameSpace not found
- Bug #4524: Saxon/C documentation does not give information on customizing
installation directory
- Bug #4528: PHP extension name (ext-saxon/c vs ext-saxonc)
- Bug #4594: build file for command interface not available on Windows
- Bug #4595: commands library paths not customizable
- Bug #4679: Saxon\XSLT30Processor::transformToString() expects exactly 1
parameter, 0 given
- Bug #4716: size method of XdmValue returns random numbers
- Bug #4789: Throw exceptions instead of silently returning null
- Support #4792: Python program using
SaxonC 1.2.1 HE module with xquery_processor.run_query_to_string() crashes
- Support #4847: sotransformToString -
Python
- Feature #4848: PyXdmValue should be
iterable
- Feature #4855: Saxon-C/PHP based on
Saxon 10 ?
- Bug #4873: JETVM crash on some linux servers
- Bug #4885: Exception 0xC0000005 (EXCEPTION_ACCESS_VIOLATION) Failed to read
memory at 0x0000000000000000
- Bug #5027: setting xslt parameter from python/saxon-c
- Bug #5030: _0 namespace created from User Extension function
- Bug #5033: missing getXslMessages() registration in zend_function_entry
XsltProcessor_methods[]
- Bug #5055: setCatalog not included in python API
Maintenance release version 1.2.1 of the 1.2 series
Released on 28 October 2019
This is a maintenance release of Saxon/C on Linux, Mac OS X and Windows. We have made
a
number of changes and fixed several bugs in the new release.
Documented changes in the release:
- Bug #4189: Error message does not indicate the Saxon/C method it was called
from
- Bug #4348: SaxonC-1.2.0 for Python does not return expected attribute
value
- Bug #4349: TypeError: expected bytes, str found in make_string_value
- Bug #4351: set_parameter failing under PyXPathProcessor
- Bug #4352: JET RUNTIME HAS DETECTED UNRECOVERABLE ERROR: system exception at
0x0000000000428b82
- Bug #4355: The version incorrectly shows up Saxon-HE 9.9.1.5J
- Bug #4356: XPathProcessor missing methods
- Bug #4360: isSchemaAware method in the SaxonProcessor is missing an
implementation
Major release version 1.2.0
Released on 16 October 2019
This is a major release of Saxon/C on Linux, Mac OS X and Windows. We have made a
number
of changes and fixed several bugs in the new release. With this release, support for
the
Python language is also now available, in addition to the C/C++ and PHP languages
already supported. Saxon/C is available in the following products: Saxon-HE/C,
Saxon-PE/C and Saxon-EE/C
Documented changes in the release:
- Updated the core XSLT processor to the Java Saxon 9.9.1.5 version. Please see Latest releases:
Saxon/C for details
- Updated APIs: Support for XSLT 3.0, XQuery 3.1, XPath 3.1 and Schema Validation
1.0/1.1
- Added a feature rich XSLT30 processor API to the languages: C++, PHP 7.2 and Python.
Therefore we now have two XSLT Processor classes for each language supported:
- Support for Python. Implemented using Cython.
- Updated to Excelsior JET Enterprise 15.3 (MP1) - cross compiler tool of Saxon
- Additional methods in the APIs for XSLT, XQuery in C++ and PHP. Also supported in
Python
- XML Catalog file support in Saxon/C
- Support of Saxon's XSLT export SEF file
- Bug #2055: Apache allocates a lot of memory without releasing it
- Bug #3837: Cannot locate the built PHP extension in Saxon/HE for Mac OS X
- Bug #3952: SchemaValidator 'lax' option causes crash
- Bug #4147: module php setProperty('m',xxxx) ?
- Bug #4151: support of compileFromStringAndSave / compileFromFileAndSave + PHP5
build
- Bug #4156: Just-In-Time compilation cannot be switched on and off
- Bug #4170: Wrong version information displayed for Saxon PHP module
- Bug #4177: SchemaValidator setParameter has no effect
- Bug #4180: getTypedValue is missing from XdmNode
- Bug #4188: incorrect jni file link Dockerfile
- Bug #4195: Windows samples run without outputting anything
- Bug #4274: Using a catalog file with Saxon in PHP
- Bug #4292: PHP5 segmentation error when call setParameter with NULL value
- Bug #4302: High memory usage with Saxon/C + PHP
- Bug #4318: cannot combine with previous 'int' declaration specifier typedef int
bool; - Mac OS X
Maintenance release version 1.1.2 of the 1.1 series
Released on 21 February 2019
This is a maintenance release of Saxon/C on Linux, Mac OS X and Windows. We have made
a
number of changes and fixed several bugs in the new release. In this release we have
the
following Saxon/C products: Saxon-HE/C, Saxon-PE/C and Saxon-EE/C
Documented changes in the release:
- Updated the core XSLT processor to the Java Saxon 9.8.0.15 version. Please see Latest releases:
Saxon/C for details
- Updated to Excelsior JET 15.3 - cross compiler tool of Saxon
- Bug #3597:
XdmValue::getUnderlyingValue does not return a value
- Bug #3816:
SaxonCGlue.c: enc_len undeclared identifier
- Bug #3847: Unable
to load /usr/local/lib/libsaxonpec.dylib on Mac OSX
- Bug #3848:
addUnderlyingValue does not return anything
- Bug #3924: The
'it' option in the setProperty does not accept string with prefix
- Bug #3952:
SchemaValidator 'lax' option causes crash
- Bug #3953: Error:
Processor is not licensed for schema processing!
- Bug #3961:
checkException() method sometimes returns NULL
- Bug #3963:
exceptionOccurred does not return true when exceptionCount() > 1 for
XsltProcessor
- Bug #3977:
XdmAtomicValue problems when deleting object - JET RUNTIME HAS DETECTED
UNRECOVERABLE ERROR
- Bug #4031:
Generating SEF files via API not available
- Bug #4063: Fix
Saxon/C compile warnings
Major release version 1.1.0
Released on 27 September 2017
This is a major release of Saxon/C on Linux, Mac OS X and Windows. We have made a
number
of changes and fixed several bugs in the new release. In this release we have the
following Saxon/C products: Saxon-HE/C, Saxon-PE/C and Saxon-EE/C
Documented changes in the release:
- Updated the core XSLT processor to the Java Saxon 9.8.0.4 version. Please see Latest releases:
Saxon/C for details
- Updated APIs: Support for XSLT 3.0, XQuery 3.1, XPath 2.0/3.0 and Schema Validation
1.0/1.1
- Added XDM Data Model API in support of the specs XPath, XQuery, XSLT and Schema
Validation
- Support for user defined functions. Users can now write their functions in C++/PHP
and invoke them in XSLT, XQuery and XPath.
- Support for PHP7 distribution
- Windows Saxon/C builds
- Updated to Excelsior JET 11.3 (MP1) - cross compiler tool of Saxon
- Revised API for Xslt, XQuery in C, C++ and PHP
- #2907: php saxon.so is looking for libsaxonhec.so without so extension in both
/usr/lib64 and /usr/lib and failing
- Feature #3084: Must be built for PHP5.6 and 7.x
- #3117: Unable to load libsaxoneec. with missing .so extension
Maintenance release version 1.0.2 of the 1.0 series
Released on 5 August 2016
This release is a significant one in that the Mac OS X release is out in addition
to the
Linux version.
The Windows version will follow shortly. We have made a number of changes and fixed
several bugs in this release. The fixes applies to the products Saxon-HE/C, Saxon-PE/C
and Saxon-EE/C
Bug fixes in this release:
- Applied the maintenance pack 3 (MP3) to Excelsior JET 11 - cross compiler tool of
Saxon
- Bug #2137 -
error: unknown type name 'TCHAR' on Mac OS X
- Bug #2706 -
Unlicensed SchemaValidator segmentation error
- Bug #2772 -
Static variable environ resetting its value to zero and crashes Python test
- Bug #2847 - C
properties and parameters array null and never initialised by default
Maintenance release version 1.0.1 of the 1.0 series
Released on 7 April 2016
This is the first maintenance release of the Saxon/C 1.0 series on Linux only. Windows
version will follow shortly. We have made a number of changes and fixed several bugs
in
this release. The fixes applies to the products Saxon-HE/C, Saxon-PE/C and
Saxon-EE/C
Bug fixes in this release:
- Applied the maintenance pack 2 (MP2) to Excelsior JET 11 - cross compiler tool of
Saxon
- Bug #2636 -
XdmValue.h: ISO C++ forbids initialization of member valueType
- Bug #2637 - PHP
build config still using old library naming: libsaxon.so
- Bug #2640 -
Sample files in release referencing local machine
- Bug #2649 -
Compilation with DEBUG defined
- Bug #2652 - cast
from ‘jobject {aka __jobject*}’ to ‘jint {aka int}’ loses precision
[-fpermissive]
- Bug #2657 -
Command line tool: Transform, Query, Validate
- Bug Support #2670 -
JET RUNTIME HAS DETECTED UNRECOVERABLE ERROR: system exception at 0x009165e9
- Bug #2672 -
validating with validateToNode
- Bug #2673 -
returning validation with getValidationReport
- Bug #2675 -
Validation report properties missing from documentation
- Bug #2677 -
Saxon/C PHP API getErrorMessage does not report useful error
- Bug #2680 - JNI
DeleteLocalRef: tried to delete non local reference
- Bug #2690 -
saxon.so file missing from 64-bit version and wrong library reference in
config.m4
- Bug #2691 -
longer custom path to
Major release version 1.0.0
Released on 5 February 2016
This is the first major Release of Saxon/C on Linux only. Windows version will follow
shortly. We have made a number of changes and fixed several bugs in the new release.
What is important in this release is the addition of the commercial products to Saxon/C.
Namely Saxon-PE/C and Saxon-EE/C
Documented changes in the release:
- This release now has in addition to Saxon-HE/C commercial products available under
Saxon/C: Saxon-PE/C and Saxon-EE/C
- Updated to Excelsior JET 11 (MP1) - cross compiler tool of Saxon
- Updated the core XSLT processor to the Java Saxon 9.6.0.9 version
- New APIS: Support for XPath 2.0/3.0 and Schema Validation 1.0/1.1
- Added XDM Data Model API in support of the specs XPath, XQuery, XSLT and Schema
Validation
- Improved memory handling of XDM data model and internal code structure both in C++
and PHP
- Revised API for Xslt, XQuery in C, C++ and PHP
- #2072 - Saxon/C PHP doesn't (properly) keep a reference in a loop
- #2115 - transformToFile appends to file if it exists
- #2142 - setSourceFile does not work with absolute paths
- #2143 - setResourcesDirectory method not directly available in the PHP API
- #2156 - Environment variable for Saxon library
- #2380 - XsltProcessor name clash with libxsl
- #2473 - Incorrect assumption that 'o' property is relative filename
- #2477 - Saxon/C set absolute path to Stylesheets is not possible
Beta release version 0.3.1
Released on 28 June 2014
We have made a number of changes and fixed several bugs in the new release. This release
is a much more stable and robust product than previous releases therefore we have
deemed
it a beta release.
Documented changes in the release:
- Updated the core XSLT processor to the Java Saxon-HE 9.5.1.5 version
- Improved memory handling and internal code structure both in C++ and PHP
- #2045 - Resolving resource files on Windows not workings
- #2046 - XQuery file and source files does not use the CWD
- #2047 - PHP API: setParameter still has the unused namespace argument
- #2053 - Strange text strings "test1" and "test2" in the error log
- #2054 - Web server aborts page loading - Extensive work has been done here in
the PHP extension - Java VM preserved between requests
- #2072 - Saxon/C PHP doesn't (properly) keep a reference in a loop
- #2073 - Can't use XML from string
- #2074 - NullPointerException when setting Serialization property.
- #2088 - Namespace argument in setParameter and in setProperty has been dropped
in favour of the JAXP solution. For example, we use a single parameter in the form
"{uri}local" or just "local"
- #2089 - Unable to read normalizationData.xml file
Alpha release version 0.2
Released on 14 March 2014
We have made a number of changes and fixed several bugs in the new release. In some
cases
a complete redesign of classes and structure. We hope this release is much more robust
and closer to a usable product. We have added some handy use cases in the samples
directory primarily as PHP code.
Documented changes in the release:
- Added XQuery 1.0 support
- Change of C/C++ and PHP APIs.
- Bug fixed #1963 - Show SAXON and Excelsior JET versions from phpinfo()
- Bug fixed #1959 - Files should be resolved relative to CWD instead of file path
First alpha release version 0.1
Released on 28 November 2013
Please use the help forums and bug trackers at saxonica.plan.io if you need
help or advice.