Thank you Andy for your continued leadership in the Apache Jena project and
the committers and testers for helping to bring the Jena 5 release to the
wider developer and user communities around the world.

All The Best,
Marco



Marco Neumann
Lotico Community Lead
http://www.lotico.com

On Wed, Mar 20, 2024 at 9:06 AM Andy Seaborne <[email protected]> wrote:

> The Apache Jena development community is pleased to
> announce the release of Apache Jena 5.0.0.
>
> In Jena5:
>
> * Minimum Java requirement: Java 17
>
> * Language tags are case-insensitive unique.
>
> * Term graphs for in-memory models
>
> * RRX - New RDF/XML parser
>
> * Remove support for JSON-LD 1.0
>
> * Turtle/Trig Output : default output PREFIX and BASE
>
> * New artifacts : jena-bom and OWASP CycloneDX SBOM
>
> * API deprecation removal
>
> * Dependency updates :
>      Note: slf4j update : v1 to v2 (needs log4j change)
>
> More details below.
>
> ==== Contributions:
>
> Configurable CORS headers for Fuseki
>    From Paul Gallagher
>
> Balduin Landolt @BalduinLandolt - javadoc fix for Literal.getString.
>
> @OyvindLGjesdal - https://github.com/apache/jena/pull/2121 -- text index
> fix
>
> Tong Wang @wang3820 Fix tests due to hashmap order
>
> Explicit Accept headers on RDFConnectionRemote fix
>    from @Aklakan
>
> ====
>
> All issues in this release:
>      https://s.apache.org/jena-5.0.0-issues
>
> which includes the ones specifically related to Jena5:
>
>    https://github.com/apache/jena/issues?q=label%3Ajena5
>
> ** Java Requirement
>
> Java 17 or later is required.
> Java 17 language constructs now are used in the codebase.
>
> Jakarta JavaEE required for deploying the WAR file (Apache Tomcat10)
>
> ** Language tags
>
> Language tags become are case-insensitive unique.
>
> "abc"@EN and "abc"@en are the same RDF term.
>
> Internally, language tags are formatted using the algorithm of RFC 5646.
>
> Examples "@en", "@en-GB", "@en-Latn-GB".
>
> SPARQL LANG(?literal) will return a formatted language tag.
>
> Data stored in TDB using language tags must be reloaded.
>
> ** Term graphs
>
> Graphs are now term graphs in the API or SPARQL. That is, they do not
> match "same value" for some of the Java mapped datatypes. The model API
> already normalizes values written.
>
> TDB1, TDB2 keep their value canonicalization during data loading.
>
> A legacy value-graph implementation can be obtained from GraphMemFactory.
>
> ** RRX - New RDF/XML parser
>
> RRX is the default RDF/XML parser. It is a replacement for ARP.
> RIOT uses RRX.
>
> The ARP parser is still temporarily available for transition assistance.
>
> ** Remove support for JSON-LD 1.0
>
> JSON-LD 1.1, using Titanium-JSON-LD, is the supported version of JSON-LD.
>
> https://github.com/filip26/titanium-json-ld
>
> ** Turtle/Trig Output
>
> "PREFIX" and "BASE" are output by default for Turtle and TriG output.
>
> ** Artifacts
>
> There is now a release BOM for Jena artifacts - artifact
> org.apache.jena:jena-bom
>
> There are now OWASP CycloneDX SBOM for Jena artifacts.
> https://github.com/CycloneDX
>
> jena-tdb is renamed jena-tdb1.
>
> jena-jdbc is no longer released
>
> ** Dependencies
>
> The update to slf4j 2.x means the log4j artifact changes to
> "log4j-slf4j2-impl" (was "log4j-slf4j-impl").
>
>
> ==== API Users
>
> ** Deprecation removal
>
> There has been a clearing out of deprecated functions, methods and
> classes. This includes the deprecations in Jena 4.10.0 added to show
> code that is being removed in Jena5.
>
> ** QueryExecutionFactory
>
> QueryExecutionFactory is simplified to cover commons cases only; it
> becomes a way to call the general QueryExecution builders which are
> preferred and provide all full query execution setup controls.
>
> Local execution builder:
> QueryExecution.create()...
>
> Remote execution builder:
> QueryExecution.service(URL)...
>
> ** QueryExecution variable substitution
>
> Using "substitution", where the query is modified by replacing one or
> more variables by RDF terms, is now preferred to using "initial
> bindings", where query solutions include (var,value) pairs.
>
> "substitution" is available for all queries, local and remote, not just
> local executions.
>
> Rename TDB1 packages org.apache.jena.tdb -> org.apache.jena.tdb1
>
> ==== Fuseki Users
>
> Fuseki: Uses the Jakarta namespace for servlets and Fuseki has been
> upgraded to use Eclipse Jetty12.
>
> Apache Tomcat10 or later, is required for running the WAR file.
> Tomcat 9 or earlier will not work.
>
>
> == Obtaining Apache Jena 5.0.0
>
> * Via central.maven.org
>
> The main jars and their dependencies can used with:
>
>        <dependency>
>          <groupId>org.apache.jena</groupId>
>          <artifactId>apache-jena-libs</artifactId>
>          <type>pom</type>
>          <version>5.0.0</version>
>        </dependency>
>
> Full details of all maven artifacts are described at:
>
>      http://jena.apache.org/download/maven.html
>
> * As binary downloads
>
> Apache Jena libraries are available as a binary distribution of
> libraries. For details of a global mirror copy of Jena binaries please see:
>
> http://jena.apache.org/download/
>
> * Source code for the release
>
> The signed source code of this release is available at:
>
>      http://www.apache.org/dist/jena/source/
>
> and the signed master source for all Apache Jena releases is available
> at: http://archive.apache.org/dist/jena/
>
> == Contributing
>
> If you would like to help out, a good place to look is the list of
> unresolved JIRA at:
>
>      https://https://github.com/apache/jena/issuesissues-current
>
> or review pull requests at
>
>      https://github.com/apache/jena/pulls
>
> or drop into the dev@ list.
>
> We use github pull requests and other ways for accepting code:
>       https://github.com/apache/jena/blob/master/CONTRIBUTING.md
>


-- 


---
Marco Neumann

Reply via email to