Code documentation
Development Tools
Code Structure
Techniques and Standards
Help and Web Site
How To
Functional Info
Background Info

JMRI Help:

Contents Index
Glossary FAQ

Donate to JMRI Donate to

JMRI: Technology Road Map

This page is the road map for JMRI's future development, including changes to our use of Java technologies. It is maintained and updated through continuing discussion on the jmri-developers mailing list.

There's also a page containing the history, particularly the saga of how we moved forward to Java 1.6 and Java 8 across a series of platform-related changes.

JMRI Releases

This section describes the history and (notional) plans for JMRI releases in the future.

Release Description Date JRE JDK
3.11.* Development series 1.6 8
4.0 Production version, culmination of 3.11.* series July 2015 8 8
4.2 Production version, culmination of 4.1.* series December 2015 8 8
... ... ... 8 8
4.22 Production version, culmination of Fall 2020 series February 2021 8 8
4.24 Production version, culmination of Spring 2021 series July 2021 8 8
4.26 Production version, culmination of Fall 2021 series January 2022 8 8
5.0 Production version, culmination of Spring 2022 series June 2022 11 11
5.2 Production version, culmination of Fall 2022 series Jan 2023 11 11
(Intended) 5.4 Production version, culmination of Spring 2023 series June 2023 11 11
(Intended) 5.6 Production version, culmination of Fall 2023 series Jan 2024 11 11

Java and JMRI in the Near Future

The 4.1.* series of test releases in Fall 2015 started the requirement for Java 8. This continued through the following release series. Java 8 continued to be the requirement through the Fall of 2021.

The next long-term-support (LTS) Java release after Java 8 is Java 11 from Fall of 2018. Oracle has aligned their Java and the OpenJDK from that point.

In Spring 2022 the Java version required by JMRI moved forward, making JMRI 4.27.1 the last JMRI version running on Java 8.
Newer development releases 4.99.x will culminate in the June 2022 production releases requiring Java 11 and therefore being called JMRI 5.0.

Java 17 is the current LTS release. JMRI is built and tests are run on it too, but we don't recommend using it due to some remaining compatibility issues.

Java Release and Operating System Support

More information on Java releases and the operating systems that support them can be found here.

Java installers are now available from multiple sources. Our Java installer page lists a number of them.

Migration Notes

This is a section of notes for various code migrations that are in progress or contemplated. These don't directly affect JMRI users in the way that Java version changes do, but they may affect external users of the JMRI libraries.