Compatibility Matrix
Supported JDK and Maven versions per library release, plus EOL status.
functional-reactive aims to be predictable about what it supports and clear about what it has stopped supporting. The table below lists every release line, the JDK and Maven versions known to work, and the current support status.
Current line
| Library | JDK | Maven | Module path | License | Status |
|---|---|---|---|---|---|
| 06.x | 8 โ 25 | 3.9.6+ | optional module-info.java | EUPL 1.2 | current |
Use 06.x for any new project. It is the only line that receives bug fixes, dependency updates and security patches.
Previous lines
| Library | JDK | Maven | License | Status | Migration |
|---|---|---|---|---|---|
| 03.x | 8+ | 3.6+ | EUPL 1.2 | EOL | Bump version โ same coordinates. |
| 02.x | 8+ | 3.6+ | EUPL 1.2 | EOL | Update Java imports: org.rapidpm.frp.* โ com.svenruppert.functional.* (the 03.x rename). |
| 01.x | 8+ | 3.5+ | Apache 2.0 | EOL | Update coordinates from org.rapidpm:functional-reactive โ com.svenruppert:functional-reactive, then follow the 02โ03 step. |
| 0.7.x | 8 / 10 / 11 | 3.5+ | Apache 2.0 | EOL | โ ๏ธ Avoid 0.7.1 โ broken module-info.java. |
| 0.6.x | 8 | 3.5+ | Apache 2.0 | EOL | Same as 01.x. |
| 0.5.x | 8 | 3.5+ | Apache 2.0 | EOL | JUnit 5 added here; Tripel renamed to Triple in 0.5.1. |
| 0.0.x โ 0.1.x | 8 | 3.5+ | Apache 2.0 | EOL | Initial public releases. Migrate. |
“EOL” means no further releases on that line. Existing artifacts on Maven Central remain available, but bug reports against them are closed without action โ the response is “upgrade to 06.x.”
JDK support policy
- Baseline: the library compiles, tests and runs on JDK 8.
- Tested LTS: every release is built once on JDK 8 (baseline) and tested against the current LTS (currently JDK 21) before tagging.
- Newer JDKs: any JDK 9+ release with a working classpath should work. If you hit a problem on an exotic JDK build, please file an issue.
- module-info.java: included for callers on the module path. The library is a single module:
com.svenruppert.functional.reactive.
Maven version
Minimum Maven version for building from source: 3.9.6. Consumers using mvn dependency:resolve to pull the artifact have no Maven version constraint.
Transitive dependencies
functional-reactive has zero runtime dependencies. Adding it to a project pulls in only the library JAR itself. Test scope adds Hamcrest.
<dependency>
<groupId>com.svenruppert</groupId>
<artifactId>functional-reactive</artifactId>
<version>06.01.01</version>
</dependency>
Operating system
There is no OS-specific code in the library. Linux, macOS and Windows are all supported, on any architecture the JDK runs on (x86_64, arm64, riscv64, etc.).
What “supported” means
For the current line (06.x):
- Bug reports are triaged and fixed in priority order.
- Security issues are handled with the next reasonable release; see Sponsoring for priority access.
- Breaking changes ship in a new major version only. Within a major line, signatures and behaviour are stable.
For EOL lines: artifacts remain available on Maven Central; no further releases will ship.
Related
- Changelog โ full version history with dates and breaking changes.
- Getting Started โ adding the current release to your build.