21 Jan 2025 17:32:04 Andy Seaborne <andy@xxxxxxxxxx>:
The Apache Jena development community is pleased to announce the release of Apache Jena 5.3.0.
All issues in the release:
https://s.apache.org/jena-5.3.0-issues
Jena 5.3.0 has changes in the structure of the Fuseki server; a new IRI provider; and clean-up and simplification of Jena's use of Apache Xerces code in RDF Datatypes.
==== Contributions
@Ostrzyciel has contributed several test cases for initialization in
Datatypes:
https://github.com/apache/jena/issues/2797
JenaSystem.init deadlock
https://github.com/apache/jena/issues/2787
TypeMapper.getSafeTypeByName race condition
https://github.com/apache/jena/issues/2795
and also cleaning up of Jena's use of Apache Xerces-derived code for RDF datatypes:
https://github.com/apache/jena/issues/2828
PRs:
GH-2828: Remove unused code in ext.xerces
https://github.com/apache/jena/pulls/2906
GH-2828: Remove validation for XML-only datatypes
https://github.com/apache/jena/pulls/2846
GH-2797: Lazy init for ValidationState hash maps
https://github.com/apache/jena/pulls/2798
@OyvindLGjesdal
Improve jena-text build (java21->)
https://github.com/apache/jena/pull/2782
@Aklakan
Support for Timeouts on Updates
https://github.com/apache/jena/issues/2821
Committers with PRs: rvesse, sszuev, kinow, arne-bdt, afs
and not forgetting @dependabot
==== Fuseki
The artifact jena-fuseki-main now has equivalent functionality, including UI, to the former Fuseki/webapp packaging.
The artifact jena-fuseki-server packages jena-fuseki-main with dependencies and UI files into a single jar. This is now the jar
in the Fuseki download.
It should be a drop-in replacement.
There is no functionality added or removed; it is a better base for future development.
Fuseki/webapp packaging for the WAR file which will continue to be produced but may not get all future Fuseki development features.
==== IRI3986
Issue: https://github.com/apache/jena/issues/2800
New maven artifact and jar: jena-iri3986.
This adds a new IRI parser and checker. It is the upcoming replacement for jena-iri.
General URIs are handled, with additional URI scheme specific rules for:
http:, https:, did:, file:,
urn:, (including urn:uuid:, urn:oid:),
example:
and non-standard schemes
uuid: and oid:
When parsing, "Bad syntax", that is, not passing the grammar of RFC 3986 is treated as a parse error. Violations of scheme-specific rules are warnings. The severity levels can be adjusted.
This is the same as principle as Jena has had, but the parser/checker is
jena-iri3986 supports URI scheme-specific rules for the latest
This new IRI implementation is not active by default.
It is activated by setting the environment variable
JENA_IRIPROVIDER=IRI3986
or java system property, then call SystemIRIx.reset().
On the command line, try it out with
env JENA_IRIPROVIDER=IRI3986 riot MyInterestingData.ttl