Skip to content

Compatibility policy

Jelly-JVM follows Semantic Versioning 2.0.0, with MAJOR.MINOR.PATCH releases. Please see the compatibility table on the main page for the current compatibility information. The documentation is versioned to match each Jelly-JVM MAJOR.MINOR version.

JVM and Scala

The current version of Jelly-JVM is compatible with Java 11 and newer. Java 11, 17, and 21 are tested in CI and are guaranteed to work. We recommend using a recent release of GraalVM to get the best performance.

Jelly is built with Scala 3 LTS releases, however, Scala 2.13-compatible builds are available as well.

RDF libraries

Major-version upgrades of RDF4J and Apache Jena (e.g., updating from 4.0.x to 5.0.x) are done in Jelly-JVM MINOR releases. Jelly-JVM generally does not use any complex features of these libraries, so you can expect it to work with multiple versions without any problems. For example, although Jelly-JVM 1.0.x officially supports only Jena 4.x.x, it works fine with 5.0.x.

If you do encounter any compatibility issues, please report them on the issue tracker.

Apache Jena 4.x.x

Jelly-JVM 1.0.x only supports the RDF 1.1 mode of Apache Jena (enabled by default in Jena 4.x.x). The RDF 1.1 mode became the only available one in Apache Jena 5 (RDF 1.0 support was removed).

Internal vs external APIs

Generally, all public classes and methods in Jelly-JVM are considered part of the public API. However, there are some exceptions.

Auto-generated classes in the jelly-core module, eu.ostrzyciel.jelly.core.proto.v1 package are not considered part of the public API, although we will avoid any incompatibilities where possible. These classes may change between MINOR releases.

See also