[x] +1 Approve the release

    Andy

On 16/03/2024 18:32, Andy Seaborne wrote:
Hi,

Here is a vote on the release of Apache Jena version 5.0.0.

==== Release Vote

This vote will be open until at least

     Wednesday 20th March 2024 at 08:00 UTC

Please vote to approve this release:

         [ ] +1 Approve the release
         [ ]  0 Don't care
         [ ] -1 Don't release, because ...

Everyone, not just committers, is invited to test and vote.
Please download and test the proposed release. See the checklist below.

Staging repository:
   https://repository.apache.org/content/repositories/orgapachejena-1063

Proposed dist/ area:
   https://dist.apache.org/repos/dist/dev/jena/

Keys:
   https://svn.apache.org/repos/asf/jena/dist/KEYS

Git commit (browser URL):
   https://github.com/apache/jena/commit/f475cdc84a

Git Commit Hash:
   f475cdc84a85e48c22a2c6487141e2d782c10517

Git Commit Tag:
   jena-5.0.0

If you expect to check the release but the time limit does not work
for you, please email within the schedule above.

     Andy


==== About Jena5 ====

== General

Issues since Jena 4.10.0:

   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.

** 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.

** Misc

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


==== 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

The update to slf4j 2.x means any use of log4j should use artifact "log4j-slf4j2-impl" (was "log4j-slf4j-impl").


==== 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.


-------------------


Checking:

+ are the GPG signatures fine?
+ are the checksums correct?
+ is there a source archive?
+ can the source archive be built?
           (NB This requires a "mvn install" first time)
+ is there a correct LICENSE and NOTICE file in each artifact
           (both source and binary artifacts)?
+ does the NOTICE file contain all necessary attributions?
+ have any licenses of dependencies changed due to upgrades?
            if so have LICENSE and NOTICE been upgraded appropriately?
+ does the tag/commit in the SCM contain reproducible sources?

Reply via email to