Hi,
Here is a vote on the release of Apache Jena version "5.0.0-rc1".
The release candidate is made for wider review and feedback. It will
hopefully be for a period of a month after which Jena 5.0.0 will be
released.
Normal Jena development for fixes and improvements that do not cause
change of functionality will continue as usual.
==== Release Vote
This vote will be open until at least
Wednesday 14th February 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-1062
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/c44b77d3ff
Git Commit Hash:
c44b77d3ffc04c25ee369c3af928fd8fe1394453
Git Commit Tag:
jena-5.0.0-rc1
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?