Info on JMRI:
Development tools
Code Structure
Functional Info
Techniques and Standards
How To
Background Info

JMRI: Technology Road Map

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

JMRI Releases

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

ReleaseDescriptionDateJREJDK
1.8Production version, culmination of 1.7.* series July 2007 (done)
1.9.*Development series 1.31.4
2.0Production version, culmination of 1.9.* series December 2007 (done) 1.31.4
2.1.*Development series 1.41.5
2.2Production version, culmination of 2.1.* series June 2008 1.41.5
2.3.*Development series 1.51.6
2.4Production version, culmination of 2.3.* series June 2009 (tentative) 1.51.6
2.5.*Development series ??

JMRI 1.9, 2.0

The JMRI 1.9 development series moved forward to JRE 1.3, JDK 1.4. This permitted use of:

JMRI 1.9 and 2.0 will run on Windows 95 and later, all versions of MacOS X, and all versions of Linux.

To build JMRI 1.9 and 2.0, you will need Windows 98 1st Ed or later, any version of MacOS X, or (almost any?) version of Linux.

JMRI 2.1, 2.2

The JMRI 2.1 development series moves forward to JRE 1.4, JDK 1.5. This permits use of (subject to verification):

JMRI 2.1 and 2.2 will run on Windows 98 1st Ed or later, any version of MacOS X, or version of Linux.

To build JMRI 2.1 and 2.2, you will need Windows 98 2nd Ed or later, MacOS X 10.4 or later, or (which?) version of Linux.

JMRI 2.3, 2.4

The JMRI 2.1 development series moves forward to JRE 1.5, JDK 1.6 (pending availability of development kits on all relevant platforms). This permits use of (subject to verification):

JMRI 2.3 and 2.4 will run on Windows 98 2nd Ed or later, MacOS X 10.4 or later, or (almost any?) version of Linux.

To build JMRI 2.3 and 2.5, you will need Windows XP or later, MacOS X 10.5 or later (10.4 might be possible, depending on future developments), or (which?) version of Linux.

Java Release and Operating System Support

This section describes the implications on operating system support of the (notional) plans for the development and runtime Java versions for JMRI. The dates refer to when the last supported release is expected. Of course, that code will be around for a very, very long time after that, both for running (JRE - Java Runtime Environment) and for building individual copies (JDK - Java Development Kit).

Remainging Issues

We currently use Log4J for logging. At some future point, there may be good reasons to migrate to ava Logging API. It was introduced in JDK 1.4, and has some nice localization and formating features in SDK 1.6. This version of the plan doesn't discuss this migration, however.

We currently distribute the crimson.jar XML parser with JMRI. At some point, we should revisit that.

JMRI VersionsExpected
end date
JREOldest OS JDKOldest OS
1.9.*
2.0
Dec 20071.3Windows 951.4Windows 98 1st Ed
2.1.*
2.2
Aug 20081.4Windows 98 1st Ed1.5Windows 98 2nd Ed
MacOS X 10.4
2.3.*
2.4
Aug 20091.5Windows 98 2nd Ed
MacOS X 10.4
1.6Windows XP
MacOS X 10.5