The release notes on GitHub list the changes. Here are the highlights:
Common to Languages Under Test
XSpec is tested with Saxon 12, 11, and 10, while use of Saxon versions earlier than 12.4 is not recommended.
XSpec no longer supports Saxon 9.
When comparing XML, you can ignore some or all attributes using three-dot syntax x:attrs="...".
XPath function items stored in global variables are testable using syntax <x:call function="my-function" call-as="variable">.
XSLT
XSLT code coverage feature is compatible with Saxon 12.4. Compatibility note: This upgrade is not backward compatible with earlier Saxon versions. Also, Saxon 12.4 does not report some <xsl:sequence> instructions that are actually hit.
XSpec experimentally supports testing with XSLT 4.0 and XPath 4.0. Set xslt-version="4.0" on x:description, and use an XSLT processor that has support for 4.0 enabled.
XQuery
XSpec experimentally supports testing with XQuery 4.0 and XPath 4.0. Set xquery-version="4.0" on x:description, and use an XQuery processor that has support for 4.0.
Schematron
SchXslt 1.9.5 replaces the skeleton implementation because the latter is no longer maintained. Compatibility note: Some XSpec tests might produce different results with SchXslt.
XSpec scenarios can verify the text of messages or diagnostics. Add expected text inside x:expect-assert or x:expect-report.
Many thanks to all the XSpec contributors who made this release possible. They are listed in the release notes.
Please try it and feel free to report any bugs, feature requests, or feedback.