-
Notifications
You must be signed in to change notification settings - Fork 681
Expand file tree
/
Copy pathCHANGES.txt
More file actions
1434 lines (964 loc) · 39.5 KB
/
CHANGES.txt
File metadata and controls
1434 lines (964 loc) · 39.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
==== Apache Jena 6.0.0
Released: 2026-02-04
Issues: https://s.apache.org/jena-6.0.0-issues
Announcement:
https://lists.apache.org/thread/8kd5zptnp1c1kb098djwgz1hhqd77z52
== Jena 6.0.0
* Minimum Java version: Java 21
* Reloading data into TDB2 is recommended
* Reload geospatial data for the move to Kyro5
* Lucene update to 10.* (this requires Java21+)
* Switch to jena-iri3986 as the IRI parser; retire jena-iri
* Retired - jena-permissions
* Retired - the Fuseki WAR file, jena-fuseki-webapp, jena-fuseki-war
Using Jena as an application library:
* Removed ARQ initial bindings
* Removed deprecated code
* Deprecation of TDB1 (but not removed)
== Contributions to Jena 6.0.0:
Contributors:
@jduchateau
Updates to schemagen for keyword handling and
Allow versionInfo to be a URI
Aklakan
Improve query cancellation
Fix for AbstractIterhasJoin
RDFS improvements
GeoSpatql - upgrade to kryo5
SimonBin:
Ability to render GeoSPARQL results on a map in Fuseki-UI
https://github.com/apache/jena/pull/3587
@imsdu:
Conversions to/from JSON object for Titanium JSON-LD
https://github.com/apache/jena/pull/3702
@MathiasVDA
Correction for GeoSPARQL #3577
@AtesComp
Update Fuseki Edit view CodeMirror usage
== Impact:
The minimum version of Java is now Java21.
= TDB2
There is a fix for handling xsd:decimals.
It is advisable to reload data if xsd:decimals have been used.
= geosparql
jena-geosparql: Jena 6 requires re-creation of spatial index files that were
generated with earlier versions. The reason is a bump to the latest major
version of the kryo serialization framework dependency.
In general, it is recommended to back up existing databases including the
spatial indexes prior to engaging in the migration process.
The GeoSPARQL Assembler will automatically re-create all referenced absent
spatial index files. Hence, moving or deleting existing spatial indexes is
usually sufficient. The Fuseki SPARQL server runs spatial index creation of
GeoSPARQL assemblers during server start. This process may take a while
depending on the sizes of the involved datasets.
= Lucene 10
jena-text upgraded to use Apache Lucene 10.
= modules removed:
jena-iri, jena-fuseki-webapp, jena-fuseki-war, jena-permissions
= Package org.apache.jena.tdb removed.
Migrate to TDB2 or use package org.apache.jena.tdb1 (for now).
==== Apache Jena 5.6.0
Released: 2025-10-15
Issues: https://s.apache.org/jena-5.6.0-issues
Announcement:
https://lists.apache.org/thread/joh04217qs9h14g01qqf4dp3s1cqy2q9
== Preparation for Jena 6.0.0
In preparation for Jena 6.0.0, the 5.6.0 release has code deprecations
indicating methods, classes and modules that are planned for removal.
For Jena 6:
* Minimum Java version: Java 21
* Lucene update to 10.* (this requires Java21+)
* Retire jena-permissions
* Retire the Fuseki WAR file, jena-fuseki-webapp, jena-fuseki-war
* Code deprecation removal
* Deprecation of TDB1 but not for removal
* Remove Graph Capabilities and Graph.dependsOn
* No RDF/XML in jena-core/main
* Remove ARQ initial bindings
* Switching to org.apache.jena.ontapi (artifact jena-ontapi)
from the original org.apache.jena.ontology (part of jena-core)
* Switch to jena-iri3986 as the IRI parser; retire jena-iri
== Other items in Jena 5.6.0
* Use async HTTP; abortable remote query requests
* Update to Titanium json-ld v1.7.0
* Jena testing switches to Junit6.
== Contributions to Jena 5.6.0:
@shawnsmith:
* Fix for resolved URIs in jena-iri3986
https://github.com/apache/jena/issues/3465
Aklakan:
* GH-3464: ASync HTTP
https://github.com/apache/jena/pull/3464
Switch Jena's HTTP request processing (HttpLib) to using
HttpClient.async.
* GH-3437: Initialize fields of Cmds.java before JenaSystem.init()
* Allow transform from NodeValue to Var.
* GH-2048: Remove left-over dependencies to expiring-map and rdf-tables.
* Use kryo-shaded instead of kryo in order to avoid conflicts with asm.
* Support CONSTRUCT_JSON query type in RDFLinkHTTP.
* Allow Node_Ext to be wrapped as NodeValueNode without further checks.
* Revert fontawesome
sszuev:
* GH-3322: [jena-ontapi] add assemblers
@arne-bdt:
* GH-3323 COALESCE checks variable bindings
==== Apache Jena 5.5.0
Released: 2025-07-18
Issues: https://s.apache.org/jena-5.5.0-issues
Announcement:
https://lists.apache.org/thread/9dtbh9j30qh03bbgj4j27htx7fdbmyy8
== RDF 1.2
There is a Model API class StatementTerm for RDF 1.2 triple terms.
This change reflects the W3C Working Groups decision. It is only permitted
in the only in the object position. Unlike the work of the RDF-star CG,
triple terms are not valid in the subject position.
Most application code will be using reifiers : Model.createReifier
== Fuseki/TDB2
There is a fix to release database files promptly on deletion.
This includes after compaction.
https://github.com/apache/jena/issues/3240
== Preparation for Jena 6.0.0
In preparation for a future Jena 6.0.0, the 5.5.0 release has code deprecations
indicating methods, classes and modules that are planned for removal.
== Contributions
@ebremer
GH-2411: Command line improvements (arq)
Issue #2411, PR #3216
Aklakan
+ Add GeoSPARQL to jena-fuseki-server
https://github.com/apache/jena/issues/3026
https://github.com/apache/jena/pull/3027
+ Fixed ExprUtils.eval raising exception because of null dataset.
+ Support for uploading compressed data with GSP and SPARQL
https://github.com/apache/jena/issues/3258
https://github.com/apache/jena/pull/3266
@fpotier
GH-3221 Fix SchemaDO._abstract URI
Kengo Seki / @sekikn
Fix DBpedia examples
https://github.com/apache/jena/pull/3252
==== Apache Jena 5.4.0
Released: 2025-04-27
Issues: https://s.apache.org/jena-5.4.0-issues
Announcement:
https://lists.apache.org/thread/j8qx6zbxgl12d42q3bpckfxjh760jx9m
Jena 5.4.0 introduces a preview of RDF 1.2 support.
This work is *experimental* and is subject to change
in future releases.
== RDF 1.2
RDF 1.2 is different to the RDF-star Community Group proposal. This
release gives users a chance to assess the impact if they use any of the
RDF-star CG work (i.e. have << >> in the data).
The RDF 1.2 / SPARQL 1.2 specs aren't finished.
Jena will track the work of the RDF and SPARQL Working Group.
In this experimental release:
- Triple terms and rdf:reifies.
- Initial text direction of literals.
- API updated for RDF 1.2.
- Turtle, Trig, N-Triples, Q-quads and SPARQL parsing updated for
triple terms and initial text direction.
Not in this experimental release:
- Rendering of SPARQL result sets in the Fuseki UI
- RDF/XML support
- Turtle pretty printing. The turtle output is correct RDF 1.2 but
there is no Turtle pretty printing using the syntax for reified
triples or annotations.
- HTTP protocol changes
- There are working group discussions about version directives which
are still in-progress within the working group. There is nothing
in the experimental Jena code.
The RDF 1.2 Primer:
https://www.w3.org/TR/rdf12-primer/#section-triple-terms
RDF 1.2 Concepts and Abstract Syntax
https://www.w3.org/TR/rdf12-concepts/
RDF 1.2 Turtle
https://www.w3.org/TR/rdf12-turtle/
SPARQL 1.2 Query
https://www.w3.org/TR/sparql12-query/
These document are currently working group drafts.
== New artifact
Jena 5.4.0 introduces a new module jena-langtag for language tag parsing
in compliance with RFC 5646. Language tag validation is strengthened.
When parsing, language tag violations are still treated as warnings.
== Contributions
@Ostrzyciel has contributed several test cases for initialization
and also cleaning up of Jena's use of Apache Xerces-derived code for RDF
datatypes:
@OyvindLGjesdal has contributed improvement to the jena-text build for
java21 and also in fixing the unstable build on github actions.
@Aklakan has contributed support for timeouts in SPARQL Updates,
provided fixes for closing execution iterators, OpAsQuery, and for
NodeFmtLib.
Committers with PRs: rvesse, sszuev, kinow, arne-bdt, afs
==== Apache Jena 5.3.0
Released: 2025-01-21
Issues: https://s.apache.org/jena-5.3.0-issues
Announcement:
https://lists.apache.org/thread/4gk0kpf75hyk58db343hx13nzq8pvldg
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
==== Apache Jena 5.2.0
Released: 2024-10-15
Issues: https://s.apache.org/jena-5.2.0-issues
Announcement:
https://lists.apache.org/thread/ynf70r2z6cs7x48cvytqqk5bxh6qln9l
The main feature for Jena 5.2.0 is an implementation of CDT "Composite Datatype
Literals", an experimental idea for dealing with maps and lists in RDF and
SPARQL while remaining within RDF 1.1.
All issues in the release:
https://s.apache.org/jena-5.2.0-issues
and includes
* hash join improvements
* performance improvements for RDF/XML parsing, and for command startup.
* refinement of jena-ontapi
== CDT : "Composite Datatype Literals"
This is a contribution from AWSlabs.
The website:
https://github.com/awslabs/SPARQL-CDTs
Spec:
https://w3id.org/awslabs/neptune/SPARQL-CDTs/spec/latest.html
SPARQL
https://github.com/w3c/sparql-dev/tree/main/SEP/SEP-0009
Issue: https://github.com/apache/jena/issues/2518
PR: https://github.com/apache/jena/pull/2501
This is "experimental" meaning it is subject to change. There should be no
impact if the feature isn't used.
== Contributions
CDT: Composite Datatype Literals
Olaf Hartig (@Hartig) et al.
https://github.com/apache/jena/issues/2518
https://github.com/w3c/sparql-dev/tree/main/SEP/SEP-0009
https://github.com/awslabs/SPARQL-CDTs
Hash join improvements.
@Aklakan Claus Stadler
https://github.com/apache/jena/issues/2404
https://github.com/apache/jena/pull/2405
GH-2580: Added parseCheck flags to query and update exec builders
https://github.com/apache/jena/issues/2580
This helps when dealing with vendor extensions to SPARQL.
@Aklakan Claus Stadler
GH-2578: Fix Quad.isTriple() handling in JenaTitanium
@Ostrzyciel Piotr Sowiński
==== Apache Jena 5.1.0
Released: 2024-07-18
Issues: https://s.apache.org/jena-5.1.0-issues
Announcement:
https://lists.apache.org/thread/hx8zljq8hn5p1ddb2qf66f1jwo6kfs0q
The major item for the 5.1.0 release is the new artifact jena-ontapi:
It has API support for working with OWL2 as well as other ontologies. It
is the long-term replacement for org.apache.jena.ontology.
https://github.com/apache/jena/issues/2160
This is a contribution from @sszuev
== Contributions
@karolina-telicent
Prefixes Service
New endpoint for Fuseki to give read and read-write access to the
prefixes of a dataset enabling lookup and modification over HTTP.
https://github.com/apache/jena/issues/2543
Micrometer - Prometheus upgrade
See
https://github.com/micrometer-metrics/micrometer/wiki/1.13-Migration-Guide
https://github.com/apache/jena/pull/2480
Value space of rdf:XMLLiteral changed to be RDF 1.1/1.2 value semantics.
Issue https://github.com/apache/jena/issues/2430
The value space in RDF 1.0 was different.
@TelicentPaul - Paul Gallagher
Migrating Base 64 operations from Apache Commons Codec to Util package.
https://github.com/apache/jena/pull/2409
@thomasjtaylor Thomas J. Taylor
Fix for NodeValueFloat
https://github.com/apache/jena/pull/2374
@Aklakan Claus Stadler
"Incorrect JoinClassifier results with unbound values."
https://github.com/apache/jena/issues/2412
@Aklakan Claus Stadler
"QueryExec: abort before exec is ignored."
https://github.com/apache/jena/issues/2394
@osi peter royal
Track rule engine instances
https://github.com/apache/jena/issues/2382
https://github.com/apache/jena/pull/2432
Normalization/Canonicalization of values
Including RDFParserBuilder.canonicalValues
This has been reworked to provide a consistent framework
and also guarantee the same behavior between parsing
and TDB2 handling of values.
https://github.com/apache/jena/issues/2557
==== Apache Jena 5.0.0
Released: 2024-03-20
Issues: 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
Announcement:
https://lists.apache.org/thread/hn1d1mpg9hwv7m0m620j53jgpw2rrdyz
== Apache Jena 5.0.0-rc1
Released: 2024-02-14
* 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)
== 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
** Java and Servlet versions
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 or later)
** 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. 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.
==== Apache Jena 4.10.0
Released: 2023-11-01
Issues: https://s.apache.org/jena-4.10.0-issues
Announcement: https://lists.apache.org/thread/th447c7r0kl26s5f4j1nt5gj10dl8q5x
In this release:
* Prepare for Jena5
Check use of deprecated API calls
These are largely being removed in Jena5.
Jena5 will require Java17
jena5 Fuseki will switch from javax.servlet to jakarta.servlet
This will require use of Apache Tomcat 10 to run the WAR file.
jena-jdbc is planned for retirement in Jena 5.0.0
See the Jena5 label in the github issues area:
https://github.com/apache/jena/issues?q=is%3Aissue+label%3Ajena5
* Development will switch to Jena5.
The 'main' branch is now for Jena5 development.
There is a branch 'jena4' marking the 4.10.0 release
== Notes
All issues: https://s.apache.org/jena-4.10.0-issues
There is a CHANGES.txt in the root of the repository
with the history of announcement messages.
== Contributions:
Shawn Smith
"Race condition with QueryEngineRegistry and
UpdateEngineRegistry init()"
https://issues.apache.org/jira/browse/JENA-2356
Ali Ariff
"Labeling for Blank Nodes Across Writers"
https://github.com/apache/jena/issues/1997
sszuev
"jena-core: add more javadocs about Graph-mem thread-safety and
ConcurrentModificationException"
https://github.com/apache/jena/pull/1994
sszuev
GH-1419: fix DatasetGraphMap#clear
https://github.com/apache/jena/issue/1419
sszuev
GH-1374: add copyWithRegisties Context helper method
https://github.com/apache/jena/issue/1374
All issues in this release:
https://s.apache.org/jena-4.10.0-issues
== Key upgrades
org.apache.lucene : 9.5.0 -> 9.7.0
org.apache.commons:commons-lang3: 3.12.0 -> 3.13.0
org.apache.sis.core:sis-referencing : 1.1 -> 1.4
==== Apache Jena 4.9.0
Released: 2023-07-08
Issues: https://s.apache.org/jena-4.9.0-issues
Announcement:
https://lists.apache.org/thread/vhn0olwcmv755np52qqddn74d5hrnot8
In this release:
* New in-memory graph implementations
* Important update to Fuseki UI.
Switch from TriplyDB/(yasr,yasqe) to zazuko/(yasr,yasqe)
This changes picks up some security fixes in yasr and
Fuseki users are advised to upgrade to get these fixes.
* Prepare for Jena5:
Deprecate JSON-LD 1.0 constants
Deprecate API calls that may be removed.
== Notes
All issues: https://s.apache.org/jena-4.9.0-issues
There is a CHANGES.txt in the root of the repository
with the history of previous announcement messages.
== Jena5
Plans for jena5 include:
* Require Java17
* Move from javvax.servlet.* to jakara.servlet.* (Jetty11)
* Drop JSON-LD 1.0 subsystem.
It will not happen until after Java21 is released in
keeping with the policy of supporting two java versions.
Jena 4.9.0 is built for a minimum of Java11.
It has been tested on Java17 and Java21 EA.
== Items in this release
Arne Berdhardt
https://github.com/apache/jena/issues/1912
New implementations of in-memory graphs with better storage and performance.
See the issue for performance details.
See GraphMemFactory for access to these new graph implementations.
Arne has also provided a performance analysis and improvements for the
existing default in-memory graphs together with a benchmarking framework
https://github.com/apache/jena/pull/1279
--
Switch from TriplyDB/(yasr,yasqe) to zazuko/(yasr,yasqe)
to pick up fixes.
Thank you Zazuko!
This changes picks up some security fixes in yasr and users are advised
to upgrade to get these fixes.
--
SERVICE on/off control
https://github.com/apache/jena/pull/1906
Provide the ability to switch off all SERVICE processing completely.
Use
Code: arq:httpServiceAllowed
or http://jena.apache.org/ARQ#httpServiceAllowed=false
to disable.
e.g.
fuseki-server --set arq:httpServiceAllowed=false ....
--
Additional restrictions and control for SPARQL script functions
https://github.com/apache/jena/pull/1908
There is a new Jena context setting
http://jena.apache.org/ARQ#scriptAllowList
which is on the command line:
arq:scriptAllowList
and java constant
ARQ.symCustomFunctionScriptAllowList
Its value is a comma separated list of function names.
"function1,function2"
Only the functions in this can be called from SPARQL.
As in Jena 4.8.0, the Java system property "jena:scripting" must also be
set to "true" to enable script functions.
Website (when published):
https://jena.apache.org/documentation/query/javascript-functions
--
Track RDF 1.2 and SPARQL 1.2
Specific SPARQL 1.2 parser, tracking the RDF-star working group.
All features are also available in the default SPARQL parser.
--
Ryan Shaw(@rybesh)
new Turtle RDFFormat
https://github.com/apache/jena/issues/1924
--
Simon Bin (@SimonBin)
A fix for incorrect integer cast in scripting.NV
https://github.com/apache/jena/pull/1851
--
Alexander Ilin-Tomich (@ailintom)
Fix for SPARQL_Update verification and /HTTP PATCH
--
Ryan Shaw (@rybesh)
Script fix for additional classpath elements
https://github.com/apache/jena/pull/1877
--
FusekiModules:
Issue: https://github.com/apache/jena/issues/1897
There is a change in that the interface for automatically loading
modules from the classpath has changed to FusekiAutoModule. The
interface FusekiModule is now the configuration lifecycle only. This is
to allow for programmatically set up a Fuskei server with Fuseki
modules, including custom one from the calling application.
==== Apache Jena 4.8.0
Released: 2023-04-23
Issues: https://s.apache.org/jena-4.8.0-issues
Announcement:
https://lists.apache.org/thread/o5x5tls77t13c3mc93dp2h4fgh1hr6kp
* The RDF/XML parser has been converted to use the
Jena IRI abstraction IRIx.
https://github.com/apache/jena/issues/1773
See below.
* New keyword in SPARQL : "ADJUST"
https://github.com/apache/jena/issues/1706
ADJUST adjusts the timezone of time and date related datatypes.
It calls one of:
fn:adjust-dateTime-to-timezone
fn:adjust-date-to-timezone
fn:adjust-time-to-timezone
based on argument type.
== Notes
All issues: https://s.apache.org/jena-4.8.0-issues
There is a CHANGES.txt in the root of the repository
with the history of announcement messages.
@lucasvr (Lucas C. Villa Real) provided an analysis and improvement to bulk loading operations.
https://github.com/apache/jena/issues/1803
https://github.com/apache/jena/pull/1819
@wjl110 - Shiro upgrade PR#1728
https://github.com/apache/jena/pull/1728
Lucene upgrade from 9.4.2 to 9.5.0
https://github.com/apache/jena/pull/1740
https://lists.apache.org/thread/696xgpyg2441kzdowmp1b40tshctw25c
@dplagge (Daniel Plagge) - Delta graph fix
https://github.com/apache/jena/issue/1751
Simon Bin: Fix for sharing link in Fuseki and YASGE
https://github.com/apache/jena/issues/1745
Improved performance of "GRAPH ?g {}" (all graph names)
Prefix scan -- GRAPH ?G
https://github.com/apache/jena/issues/1639
https://github.com/apache/jena/pull/1655
Custom Javascript execution checking:
Use of javascript or Python to write custom functions
new requires system property -Djena:scripting=true
@nichtich (Jakob Voß) jena-site improvements:
https://github.com/apache/jena-site/pull/151
@sverholen JENA-2350 Pass JsonLdOptions to titanium for json-ld 1.1
Simon Bin: Fix for working on non-root gsp-rw endpoint
https://github.com/apache/jena/issues/1679
== RDF/XML reader changes.
* The RDF/XML parser has been converted to use the
Jena IRI abstraction IRIx.
https://github.com/apache/jena/issues/1773
Uses of RDF/XML read through RIOT (RDFDataMgr, RDFParser) and from the command
line "riot" should see no changes except where both WARN and ERROR were
reported, now only the ERROR happens.
Code that directly calls the RDF/XML parser will encounter the behaviour seen
from RIOT. Relative IRIs will not be in the parsed data. IRI errors are reported
as errors.
The original RDF/XML parser is still accessible:
https://jena.apache.org/documentation/io/rdfxml-io.html
From the command line: "riot --set xmlrdf:xmlrdf0=true ..."
This is the first part of a move to convert the RDF/XML parser to be consistent with the rest of Jena parsing
1. unified IRI treatment of error handling and reporting throughout Jena
2. improve maintainability
3. allow for alternative providers of IRI functionality
==== Apache Jena 4.7.0
Released: 2023-01-03
Issues: https://s.apache.org/jena-4.7.0-issues
Announcement:
https://lists.apache.org/thread/2flk0xyz1bf0xpfmk1jgz74cvdog40z9
Major items:
* Lucene upgrade 8.11.1 to 9.4.1 - @OyvindLGjesdal
There are changes to the stopword setting in the default
configuration of Lucene's StandardAnalyzer
Issue: https://github.com/apache/jena/issues/1581
PR: https://github.com/apache/jena/pull/1582
* LATERAL joins
This is an experimental feature.
Documentation:
https://jena.apache.org/documentation/query/lateral-join.html
* RDF Patch
Documentation:
https://jena.apache.org/documentation/rdfpatch/
* Path improvements - @SimonBin et al
https://github.com/apache/jena/pull/1616
https://github.com/apache/jena/pull/1638
Plan: https://github.com/apache/jena/issues/1629
All GH issues for this release:
Contributors:
OyvindL Gjesdal
Simon Bin
Alexandre Ardhuin
Claus Stadler
Brian Vvosburgh
Eric Prud'hommeaux
==== Apache Jena 4.6.1
Released: 2022-09-06
Announcement:
https://lists.apache.org/thread/vrkn42nkr82wlkwyv4vlg57rqg035kx2
This release has a bug fix release for TDB2 and Fuseki.
https://github.com/apache/jena/issues/1499
Users should upgrade from 4.6.0.
==== Apache Jena 4.6.0
Released: 2022-08-25
Issues: https://s.apache.org/jena-4.6.0-issues
Announcement:
https://lists.apache.org/thread/63vtkb9hwzzd9mrmmxr2xsmd5zvw53vv
-- Bulk retrieval and caching for SERVICE clauses
There is a new module "jena-serviceenhancer", a contribution from Claus Stadler,
for federated query, including caching remote data and controlling execution
order for SERVICE.
https://jena.apache.org/documentation/query/service_enhancer.html
-- GeoSPARQL: GML handling.
GH-1299 - The GeoSPARQL has acknowledged a mistake in their documentation
whereby the wrong namespace was being used for "gml:".
https://github.com/opengeospatial/ogc-geosparql/pull/334
This also leads to problems with interoperation with GML data sources.
Unfortunately the change impacts impacts existing data and any spatial indexes
would will need to be deleted and rebuilt.
https://github.com/apache/jena/issues/1299
-- SHACL listener
This contribution by Florian Kleedorfer adds listeners to the SHACL validation execution.
https://jena.apache.org/documentation/shacl/#validationlistener
-- Helper for authentication with a bearer token.
GH-1292: https://github.com/apache/jena/issues/1292
Add support for authentication with a bearer token