Skip to content

News and noteworthy

Philip Helger edited this page Nov 18, 2024 · 85 revisions

Releases

  • v8.0.4 - work in progress
    • Updated to SchXslt 1.10.1
    • The XSLT binding will emit the attribute documents for SVRL element active-pattern parallel to the previous document to ensure ISO 2016 compliance.
  • v8.0.3 - 2024-08-23
    • Provided the possibility to customize the created TransformerFactory used for XSLT transformations. See #176 - thx @SvenHaul
    • [pure] Fixed variable evaluation order. See #177 and PR #178 - thx @bertrand-lorentz
  • v8.0.2 - 2024-07-29
    • Updated to SchXslt 1.10
    • [pure] Improved the type auto detection for "for loop expressions". See #173 - thx @bertrand-lorentz
    • [pure] Improved the type auto detection for "filter expressions". See #175 - thx @bertrand-lorentz
  • v8.0.1 - 2024-07-17
    • Updated to Saxon 12.5
    • The default SVRL to error level mapper changed caution from WARNING to INFORMATION according to official sources. See #168 - thx @costas80
    • Improved the error handling in "pure" mode, in case a test expression does not evaluate properly. See #171 - thx @gediminasre
    • Improved the type detection of test expressions in "pure" mode if Saxon is used as the XSLT engine. See #170 - thx @bertrand-lorentz
  • v8.0.0 - 2024-03-09
    • Updated to Saxon 12.4
    • Updated to ph-commons 11.1.4
    • Updated to jvnet JAXB Maven Plugin
    • The variable resolution problem in pure mode was resolved by a kind contribution in #164 - thx @bertrand-lorentz
    • All deprecated elements, marked as "forRemoval" were removed
    • Renamed interface ISchematronXSLTValidator to ISchematronOutputValidator
    • Renamed method ISchematronXSLTValidator.getSchematronValidity to ISchematronOutputValidator.getSchematronOutputValidity
    • Renamed all implementing classes SchematronXSLTValidator* to SchematronOutputValidityDeterminator*
    • Renamed methods ISchematronXSLTBasedResource.(get|set)XSLTValidator to (get|set)OutputValidityDeterminator
    • Added new SchematronDebug debug log methods
    • Removed the experimental parallel validation in PSXPathBoundSchema
    • Removed the constructors of SchematronResourcePure with a boolean bLenient parameter. Use the version without it and call setLenient(boolean) instead
    • Honoring the @subject attribute in the Pure implementation. See #133 - thx @ericlop
  • v7.1.3 - 2023-12-06
    • Updated to Saxon 11.6
    • Added a new parameter ignoreWarnings to the Maven plugin validate goal. See #159 - thx @IacopoArduini-gmail
  • v7.1.2 - 2023-07-31
    • Updated to ph-commons 11.1
  • v7.1.1 - 2023-07-03
    • Updated to Saxon 11.5 - reverted back from Saxon 12.x as the default branch
    • DefaultSVRLErrorLevelDeterminator now also deals with caution as a warning level
    • Improved logging and code documentation
  • v7.1.0 - 2023-02-21
    • Updated to Saxon HE 12.0 - there seem to be backward incompatible changes
    • Updated to ANT 1.10.13
    • Updated to SchXslt 1.9.5
    • Fixed an error with pattern local variable resolution in "pure" implementation. See #142 - thx @bertrand-lorentz
    • Added a check in "pure" implementation, that Pattern ID must follow the XML NCName convention
  • v7.0.1 - 2023-02-22
    • Updated to ANT 1.10.13
    • Updated to SchXslt 1.9.5
    • Fixed an error with pattern local variable resolution in "pure" implementation. See #142 - thx @bertrand-lorentz
    • Added a check in "pure" implementation, that Pattern ID must follow the XML NCName convention
  • v7.0.0 - 2023-01-08
    • Using Java 11 as the baseline
    • Updated to ph-commons 11
    • Using JAXB 4.0 as the baseline
    • The creation of SVRL metadata was disabled in the SchXslt version (using parameter schxslt.compile.metadata with value false)
    • Removed deprecated methods
  • v6.3.4 - 2022-11-17
  • v6.3.3 - 2022-08-17
    • Updated to Saxon 11.4 (which updates XMLResolver to 4.4 which updates to Apache Http Client 5.x)
    • Extended ISchematronXSLTBasedResource API to enable/disable the SVRL validation
  • v6.3.2 - 2022-07-06
    • Updated the RelaxNG components to version 20220510
    • Updated to SchXslt 1.9.1
    • The Maven "Schematron to XSLT" plugin has the parameter "stopOnError" (boolean)
  • v6.3.1 - 2022-05-05
    • Updated to Saxon 11.3
    • Updated to SchXslt 1.8.7
    • Updated the RelaxNG components to version 20181222
  • v6.3.0 - 2022-03-08
    • Updated to Saxon 11.2
    • Updated to SchXslt 1.8.6
  • v6.2.8 - 2021-12-29
    • Updated to SchXslt 1.8.5
    • Deprecated SchematronHelper.applySchematron in favour of the native methods
    • The Maven plugin prints a progress report, if the execution takes longer than 5 seconds. This can be enabled/disabled with the new parameter showProgress.
    • The diagnostic-reference elements in the Pure implementation now copy the rich attributes. See #126 - thanks @costas80
  • v6.2.7 - 2021-12-09
    • Fixed an error in the ISO Schematron, that caused a message to be emitted if a iso:name[@path] exists that does not had a @select attribute.
    • Avoid double evaluation of Schematron when using the XSLT based approach with disabled caching
  • v6.2.6 - 2021-11-24
    • Extended SchematronResourceSCH API. See #122 - thanks @cshjsc
    • Made an improvement in the ISO Schematron XSLT on attribute handling. See #123 - thanks @Falcon2677
  • v6.2.5 - 2021-11-22
    • Updated to ph-commons 10.1.5
    • Fixed quite some SonarCloud issues - nothing critical
    • Fixed the automatic resource ID of in-memory resources. See #118 - thanks @olavivaino and @qligier
    • Added new factory method overloads for class SchematronResourceSchXslt_XSLT2
  • v6.2.4 - 2021-11-02
    • Updated to ANT 1.10.12
    • Added a new unchecked exception class SchematronInterruptedException that is thrown in case the current Thread gets interrupted during the compilation of XSLTs/Schematrons. See #119 - thanks @Michiel-s
  • v6.2.3 - 2021-10-14
    • Updated to SchXslt 1.8.4
    • Added some factory methods in the PS* classes
  • v6.2.2 - 2021-09-27
    • Updated to Saxon-HE 10.6
    • Updated to SchXslt 1.8.2
    • Added the JAXB dependencies to the ANT task and the Maven plugin
    • Added a new parameter xsltHeader to the sch2xslt Maven plugin goal, to add a comment to the generated XSLTs
    • Added a new parameter schHeader to the preprocessing Maven plugin goal, to add a comment to the generated SCHs
  • v6.2.1 - 2021-08-01
    • Updated to SchXslt 1.7.4
    • Updated the Maven plugin configuration on validation - xmlIncludes, xmlExcludes, xmlErrorIncludes and xmlErrorExcludes are now of type String[] compared to String[] before. No need to change pom.xml configurations afaik.
  • v6.2.0 - 2021-05-02
    • Updated to ph-commons 10.1
    • Updated to Saxon-HE 10.5
    • Updated to SchXslt 1.7.1
  • v6.1.0 - 2021-03-22
    • Updated to ph-commons 10
    • Extended API to have SchematronResource fromClassPath overloads with ClassLoader parameter
    • Made SVRLHelper.getBeautifiedLocation more flexible
    • The update to ph-commons 10 also fixed #110 - thanks @monapadu
  • v6.0.3 - 2021-01-28
    • Updated to SchXslt 1.6.2
    • Changed the internal XSLT caching lock management, so that the cache can be filled in parallel
  • v6.0.2 - 2021-01-06
    • Updated the svrl.xsd to match the requirements of diagnostic-reference of ISO Schematron (see #85) - thanks @nkutsche
    • Language tag of a diagnostic is preserved in SVRL output (see #82) - thanks @dmj
  • v6.0.1 - 2020-12-04
    • Made the "id" attribute accessible in AbstractSVRLMessage (see #103) - thanks @mangeg
  • v6.0.0 - 2020-11-24
    • Using the new Maven group ID com.helger.schematron (the group ID of the Maven plugin stays untouched: com.helger.maven)
    • Created a new submodule ph-schematron-api that contains the shared implementation parts
    • Created a new submodule ph-schematron-pure that contains the pure Java implementation
    • Created a new submodule ph-schematron-xslt that contains the XSLT based implementation (https://github.com/Schematron/schematron)
    • Created a new submodule ph-schematron-schxslt that contains the SchXslt based implementation (https://github.com/schxslt/schxslt)
    • Dropped the submodule ph-schematron - pick one of ph-schematron-xslt or ph-schematron-pure instead
    • Started a Wiki at https://github.com/phax/ph-schematron/wiki
    • Extended the SVRL XSD to also work if foreign elements are allowed see #111 (thanks @flowrider3000) and #101 (thanks @Michiel-s)
    • The default processing engine for the Schematron validation changed from pure to schematron
    • Added new class SchematronXSLTValidatorSuccessfulReportOnly in ph-schematron-xslt
    • The pure implementation now also registers handles for the query bindings xpath3 and xslt3
    • Added SchXslt 1.5.2 as a new way to create SVRL (the engine ID is 'schxslt-xslt2')
    • The ANT task and the Maven plugin also support the SchXslt engine
  • v5.6.5 - 2020-11-19
    • Updated to Saxon-HE 10.3
    • Added SchematronResourceXSLTCache.clearCache() and SchematronResourceSCHCache.clearCache() (see #109) - thanks @SnowMakerDemo
  • v5.6.4 - 2020-10-13
    • Updated to ANT 1.10.9
    • The Maven plugin now also complains on "successful reports" (see #108) - thanks @lueck
  • v5.6.3 - 2020-09-28
    • Extended SchematronResourceXSLT API (see PR #107) - thanks @jw3
  • v5.6.2 - 2020-09-17
    • Updated to Jakarta JAXB 2.3.3
  • v5.6.1 - 2020-08-30
    • Updated to ANT 1.10.8
    • Updated to Saxon-HE 10.2
  • v5.6.0 - 2020-03-29
    • Updated to ph-commons 9.4.0
    • Updated to Saxon-HE 10.0
    • Changed the internal error handler to use IError and therefore also improve the error handling quality
  • v5.5.0 - 2020-03-08
    • Updated to Saxon-HE 9.9.1-7
    • Improved XPath configuration for the pure Schematron implementation (see PR #98) - thanks @aanno
      • See new interface IXPathConfig and builder class XPathConfigBuilder
  • v5.4.1 - 2020-03-08
    • Updated to Saxon-HE 9.9.1-6
    • Added a "lenient" setting to the pure Schematron implementation to allow reading Schematrons with an old namespace URI (see PR #97) - thanks @aanno
    • Added the "lenient" flag to the Maven plugin for validating documents
  • v5.4.0 - 2019-11-29
    • Changed the package of the generated SVRL classes from org.oclc.purl.dsdl.svrl to com.helger.schematron.svrl.jaxb to avoid incompatibilities with other Schematron solutions (incompatible change)
    • Removed ph-sch2xslt-maven-plugin which was deprecated long time ago. Use ph-schematron-maven-plugin instead.
  • v5.3.0 - 2019-11-22
    • Updated to ANT 1.10.7
    • Updated to Saxon-HE 9.9.1-5
    • The default include handler of the pure version, now allows to include non-Schematron XMLs
    • The Maven plugin preprocess Mojo now emits the XML declaration as well
    • Added support for the Schematron query bindings xpath and xpath2 (issue #80)
    • Extended API of SCHTransformerCustomizer for forcing result caching (issue #87), added new parameters in Maven plugin and ANT task for this setting (forceCacheResult)
    • Renamed method IPSValidationHandler.onRule to onFiredRule (incompatible change)
    • Added methods IPSValidationHandler.onRuleStart and and for chaining
  • v5.2.0 - 2019-06-13
    • Fixed a ClassLoader issues for ANT task (issue #78)
    • Updated the SVRL XSD with the ISO Schematron 2016 changes (incompatible change)
  • v5.1.1 - 2019-06-12
    • Fixed regression in ANT task (see issue #71)
  • v5.1.0 - 2019-06-11
    • Updated to ANT 1.10.6
    • Updated to Saxon-HE 9.9.1-3
    • Fixed created Schematron XSDs (issue #76)
    • Improved logging results in ANT task (issue #71)
    • Added new ANT task parameters failOnValidationError, failOnValidationWarn and failOnValidationInfo that all default to false (issue #50)
    • Removed deprecated methods
    • SCH and XSLT based compilers now correctly pass the URIResolver to the created XSLT - important for include resolution (issue #77)
    • The default include resolver was improved for file based SCH and XSLT validation
  • v5.0.10 - 2019-05-07
    • Improved handling of XML elements from other namespaces (issue #51)
    • The Maven preprocess goal now uses the <ns> elements from the Schematron as XML namespace context
    • The ANT task is now build against 1.10.x but is source compatible with ANT 1.9.x
    • Added Java 12 support for Maven plugins
  • v5.0.9 - 2019-04-25
    • Updated to ant 1.9.14
    • Updated to Saxon-HE 9.9.1-1
    • The Maven plugin ph-sch2xslt-maven-plugin is now deprecated and will be removed in the next major version. The functionality was moved "as-is" to the ph-schematron-maven-plugin
    • The Maven plugin ph-schematron-maven-plugin got a new goal preprocess to create preprocessed Schematrons (issue #75)
  • v5.0.8 - 2018-11-26
    • Fixed an initialization error in the SCH to XSLT maven plugin in JDK 11
  • v5.0.7 - 2018-11-22
    • Updated to ph-commons 9.2.0
    • Updated to Saxon-HE 9.9.0-1
  • v5.0.6 - 2018-09-09
    • The Ant task has the possibility to provide custom parameters to XSLT and SCH validations (issue #62)
    • Instances of SchematronResourceSCH now have a default URI resolver to resolve references relative to the source Schematron
    • Requires ph-commons 9.1.5
    • SVRLHelper can now handle null inputs
  • v5.0.5 - 2018-08-13
    • Updated to Saxon-HE 9.8.0-14
    • Added support to disable "fail fast" mode in ph-schematron-maven-plugin (see issue #69)
    • Fixed custom error handling for report when using role (see issue #66 again)
  • v5.0.4 - 2018-05-14
    • Really fixed OSGI ServiceProvider configuration
    • Updated to Saxon-HE 9.8.0-12
  • v5.0.3 - 2018-05-09
    • Fixed OSGI ServiceProvider configuration
  • v5.0.2 - 2018-04-12
    • Added new interface ISchematronXSLTBasedResource as a common base class for XSLT based validations
    • Improved the DefaultSVRLErrorLevelDeterminator implementation to be more flexible and cater for more error levels
    • Updated to Saxon-HE 9.8.0-11
    • The Maven plugins now require Maven 3.0
    • Added new parameter parameters to the ph-sch2xslt-maven-plugin
    • Finally the role attribute is copied to a failed assertion when using the pure implementation
    • The Ant task has the possibility to provide values for role and flag that are interpreted as error (issue #66)
  • v5.0.1 - 2018-02-01
    • Moved getBeautifiedLocation to class SVRLHelper and made it public
    • Updated to Saxon-HE 9.8.0-7
    • Requires ph-commons 9.0.1
  • v5.0.0 - 2018-01-02
    • Updated to ph-commons 9.0.0
    • Added new ANT task for preprocessing Schematron files only
    • Improved support for base-uri() XPath function when using the pure implementation (issue #47)
    • Fixed issue with role attribute in SVRL when using pure implementation (issue #54)
    • Updated to Saxon-HE 9.8.0-6 - therefore no XLST v1 scripts can be used anymore - this only works up to 9.7.x!
    • Added ANT task property failOnError (issue #57)
  • v4.3.4 - 2017-07-27
    • Added new class SchematronDebug that centrally manages the debug flags for logging etc.
  • v4.3.3 - 2017-07-27
    • Reverted to Saxon-HE 9.7.0_18 because of incompatibilities in production
  • v4.3.2 - 2017-07-25
    • Updated to Saxon-HE 9.8.0-3
    • Changed all XSLT scripts to use and create only XSLT 2.0 (because Saxon 9.8.x does not support XSLT 1.0 anymore)
    • Updated to ph-commons 8.6.6
  • v4.3.1 - 2017-05-29
    • Updated to ph-commons 8.6.5
    • Fixed too verbose logging of created XSLT
    • Removed some old deprecated methods
  • v4.3.0 - 2017-05-15
    • Updated to Saxon-HE 9.7.0-18
    • Fixed an error with nested SVRL directories in Maven plugin (issue #37)
    • Added possibility to use "negative" tests in Maven plugin (issue #38)
    • Added ANT plugin to validate Schematron resources (issue #39, issue #40)
    • Using the EntityResolver also for the XML files to be validated (not just the Schematron)
    • Added a default EntityResolver and a default URIResolver that tries to resolve includes relative to the base Schematron.
  • v4.2.2 - 2017-02-22
    • Updated to Saxon-HE 9.7.0-15
    • Fixed usage of <let> in <extend>-based rules for the pure implementation (issue #36)
  • v4.2.1 - 2017-01-20
    • Added WrappedCollectingPSErrorHandler
  • v4.2.0 - 2017-01-09
    • Binds to ph-commons 8.6.0
    • Updated to Saxon-HE 9.7.0-14
    • Added a new Schematron validation Maven plugin
  • v4.1.1 - 2016-11-03
    • Added possibility to use XML EntityResolver (issue #30)
    • Updated to Saxon-HE 9.7.0-10
  • v4.1.0 - 2016-09-09
    • Binding to ph-commons 8.5.x
  • v4.0.2 - 2016-07-22
  • v4.0.1 - 2016-07-05
    • better integration of sch2xslt Maven plugin into m2e - thanks to @baerrach
  • v4.0.0 - 2016-06-15
    • updated to JDK8
    • updated to Saxon-HE 9.7
  • v3.0.1 - 2015-10-14
    • keep diagnostics in Pure version; resource resolving emits to error handler
  • v3.0.0 - 2015-07-29
    • because of update to ph-commons 6.0.0; extended XSLT based API
  • v2.9.2 - 2015-03-12
    • because of update to ph-commons 5.6.0
  • v2.9.1 - 2015-02-03
    • fixes a classloader issue added in 2.9.0
  • v2.9.0 - 2015-01-30
    • introduced new APIs in several places
    • updated to Saxon-HE 9.6
  • v2.8.4 - 2014-10-30
  • v2.8.3 - 2014-09-16
    • An easy way to use XQuery functions (like funcx library) as custom XPath functions was added
  • v2.8.2 - 2014-09-02
  • v2.8.1 - 2014-08-29
  • v2.8.0 - 2014-08-28
Clone this wiki locally