|
| 1 | +--- |
| 2 | +title: "RDF4J 5.3.0 Milestone 2" |
| 3 | +date: 2026-02-11T22:15:21+0100 |
| 4 | +layout: "single" |
| 5 | +categories: ["news"] |
| 6 | +--- |
| 7 | +Milestone number 2 of the upcoming 5.3.0 release of RDF4J is now available for download. |
| 8 | + |
| 9 | +RDF4J 5.3.0 is a minor release focusing on stability and getting the code ready for the next major release. |
| 10 | + |
| 11 | +### Notable changes in 5.3.0 M2 |
| 12 | + |
| 13 | + - SHACL validation can now be configured more precisely for inferred data ([GH-5676](https://github.com/eclipse-rdf4j/rdf4j/issues/5676)). If a shape (or global SHACL setting) disables inferred statements, underlying sails must emit inferred-aware callbacks by implementing `statementAdded(Statement, boolean inferred)` and `statementRemoved(Statement, boolean inferred)` in `SailConnectionListener`. |
| 14 | + - Query builder fix: `FILTER NOT EXISTS` is now preserved when adding `GraphPatterns.filterNotExists(...)` to an empty `GraphPatterns.and()` ([GH-5561](https://github.com/eclipse-rdf4j/rdf4j/issues/5561)). |
| 15 | + - Parser extension note: if you subclass `TupleExprBuilder` and override `createAnonVar()`, consider also overriding newer specialized methods used during parsing: `createAnonCollectionVar()`, `createAnonBnodeVar()`, `createAnonHavingVar()`, and `createAnonPathVar(boolean)`. |
| 16 | + - `Var` remains extensible through SPI (as introduced in M1): use `Var.of(...)` factories, provide a custom `Var.Provider` (`newVar(...)` and optionally `cloneVar(...)`), and register via `META-INF/services/org.eclipse.rdf4j.query.algebra.Var$Provider` or the `org.eclipse.rdf4j.query.algebra.Var.provider` system property. |
| 17 | + - Additional end-user fixes include support for refining JSON-LD `@context` ([GH-5573](https://github.com/eclipse-rdf4j/rdf4j/issues/5573)) and major LuceneSail transaction performance improvements ([GH-5291](https://github.com/eclipse-rdf4j/rdf4j/issues/5291)). |
| 18 | + |
| 19 | +### Deprecations since 5.2.0 |
| 20 | + |
| 21 | + - Legacy compare methods in `org.eclipse.rdf4j.query.algebra.evaluation.util.QueryEvaluationUtil`: |
| 22 | + - `compare(Value, Value, CompareOp)` |
| 23 | + - `compare(Value, Value, CompareOp, boolean)` |
| 24 | + - `compareLiterals(Literal, Literal, CompareOp)` |
| 25 | + - `compareLiterals(Literal, Literal, CompareOp, boolean)` |
| 26 | + - Constructors in `org.eclipse.rdf4j.query.algebra.Var` are now deprecated (for removal), use `Var.of(...)` factories instead: |
| 27 | + - `Var(String, Value, boolean, boolean)` |
| 28 | + - `Var(String)` |
| 29 | + - `Var(String, boolean)` |
| 30 | + - `Var(String, Value)` |
| 31 | + - `Var(String, Value, boolean)` |
| 32 | + - Elasticsearch integration APIs deprecated for removal (preparation for Elasticsearch client upgrade): |
| 33 | + - `org.eclipse.rdf4j.sail.elasticsearchstore.ElasticsearchStore` |
| 34 | + - `org.eclipse.rdf4j.sail.elasticsearchstore.ElasticsearchStoreConnection` |
| 35 | + - `org.eclipse.rdf4j.sail.elasticsearchstore.SingletonClientProvider` |
| 36 | + - `org.eclipse.rdf4j.sail.elasticsearchstore.UserProvidedClientProvider` |
| 37 | + - `org.eclipse.rdf4j.sail.elasticsearchstore.config.ElasticsearchStoreConfig` |
| 38 | + - `org.eclipse.rdf4j.sail.elasticsearchstore.config.ElasticsearchStoreFactory` |
| 39 | + - `org.eclipse.rdf4j.sail.elasticsearch.ElasticsearchBulkUpdater` |
| 40 | + - `org.eclipse.rdf4j.sail.elasticsearch.ElasticsearchDocument` |
| 41 | + - `org.eclipse.rdf4j.sail.elasticsearch.ElasticsearchDocumentDistance` |
| 42 | + - `org.eclipse.rdf4j.sail.elasticsearch.ElasticsearchDocumentResult` |
| 43 | + - `org.eclipse.rdf4j.sail.elasticsearch.ElasticsearchDocumentScore` |
| 44 | + - `org.eclipse.rdf4j.sail.elasticsearch.ElasticsearchIndex` |
| 45 | + - `org.eclipse.rdf4j.sail.elasticsearch.config.ElasticsearchSailConfig` |
| 46 | + - `org.eclipse.rdf4j.sail.elasticsearch.config.ElasticsearchSailFactory` |
| 47 | + - Solr integration APIs deprecated for removal: |
| 48 | + - `org.eclipse.rdf4j.sail.solr.SolrBulkUpdater` |
| 49 | + - `org.eclipse.rdf4j.sail.solr.SolrClientFactory` |
| 50 | + - `org.eclipse.rdf4j.sail.solr.SolrDocumentDistance` |
| 51 | + - `org.eclipse.rdf4j.sail.solr.SolrDocumentResult` |
| 52 | + - `org.eclipse.rdf4j.sail.solr.SolrDocumentScore` |
| 53 | + - `org.eclipse.rdf4j.sail.solr.SolrIndex` |
| 54 | + - `org.eclipse.rdf4j.sail.solr.SolrSearchDocument` |
| 55 | + - `org.eclipse.rdf4j.sail.solr.SolrSearchQuery` |
| 56 | + - `org.eclipse.rdf4j.sail.solr.SolrUtil` |
| 57 | + - `org.eclipse.rdf4j.sail.solr.client.cloud.Factory` |
| 58 | + - `org.eclipse.rdf4j.sail.solr.client.embedded.Factory` |
| 59 | + - `org.eclipse.rdf4j.sail.solr.client.http.Factory` |
| 60 | + - `org.eclipse.rdf4j.sail.solr.config.SolrSailConfig` |
| 61 | + - `org.eclipse.rdf4j.sail.solr.config.SolrSailFactory` |
| 62 | + |
| 63 | +This milestone build is not yet feature-complete, but we are putting it out to receive early feedback on all the improvements we have put in. |
| 64 | + |
| 65 | +<!--more--> |
| 66 | + |
| 67 | + - [issues fixed in 5.3.0 Milestone 2](https://github.com/eclipse/rdf4j/issues?q=is%3Aissue+label%3AM2+is%3Aclosed+milestone%3A5.3.0) |
| 68 | + - [issues planned for 5.3.0](https://github.com/eclipse/rdf4j/milestone/124) |
| 69 | + |
| 70 | +### Links |
| 71 | + |
| 72 | +- [Download RDF4J](/download/) |
0 commit comments