Code documentation

Development tools

Code Structure

Techniques and Standards

How To

Functional Info

Background Info

JMRI: Technology Road Map History

This page is the historical version of the road map for JMRI's future development. It contains notes on older releases.
For more recent work, see the main Technology Road Map page.

Java Release and Operating System Support

More information on Java releases and the operating systems that support them is on a separate page.

JMRI Release and Development Plan History

This section describes the (notional) plans for JMRI releases.
Release Description Date JRE JDK
1.8 Production version, culmination of 1.7.* series July 2007 (done)
1.9.* Development series 1.3 1.4
2.0 Production version, culmination of 1.9.* series December 2007 (done) 1.3 1.4
2.1.* Development series 1.4 1.5
2.2 Production version, culmination of 2.1.* series June 2008 (done) 1.4 1.5
2.3.* Development series 1.5 1.5
2.4 Production version, culmination of 2.3.* series December 2008 (done) 1.5 1.5
2.5.* Development series 1.5 1.5
2.6 Production version, culmination of 2.5.* series June 2009 (done) 1.5 1.5
2.7.* Development series 1.5 1.5
2.8 Production version, culmination of 2.7.* series December 2009 (done) 1.5 1.5
2.9.* Development series 1.5 1.5
2.10/3.0 Production version, culmination of 2.9.* series June 2010 (done) 1.5 1.5
?.?.* Development series ? ?
?.? Production version, culmination of ?.?.* series ? ?
3.8 Production version, culmination of 3.7.* series July 2014 (done) 1.6 1.6
3.9.* Development series 1.6 1.6
3.10 Production version, culmination of 3.9.* series December 2014 (done) 1.6 1.6

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 Mac OS 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 Mac OS 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 Mac OS X, or version of Linux.

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

JMRI 2.3, 2.4

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

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

To build JMRI 2.1 and 2.2, you will need Windows 98 2nd Ed or later, Mac OS X 10.3 or later, or (almost any?) version of Linux.

JMRI 2.5, 2.6, 2.7, 2.8

These versions will continue to use Java 1.5 for both building and running.

During the 2.7 build series, we moved from the Crimson XML parser to Xerces.

JMRI 2.9, 2.10/3.0

Plans for the JMRI 2.9 development series are not final.

The JRE and JDK choice for JMRI 2.9 development will depend on desired runtime features, and availability on our popular user and development platforms. It is tentatively Java 1.5 for both building and running, which is the same as JMRI 2.3.* and following ones.

During the 2.9.* series, we intend to move from the javax.comm serial classes to the RXTX gnu.io classes, either via RXTX 2.2-pre2 or some later version. This will remove support for the MS100 from JMRI applications.

JMRI after Summer 2010

After JMRI 2.10/3.0 in early summer 2010, development will continue. It's likely that soon after that, if not before, we'll have to move to using Java 1.6.

JMRI 3.9, 3.10 (End of 2014)

The JMRI 3.9 development series will stay with Java 1.6 for JRE and SDK.

JMRI 3.11, 4.0 (Summer 2015)

For multiple reasons including the Spring 2015 series of test releases (JMRI 3.11.*) required Java 1.8 for both building and running. Java 1.8 is also required for the Summer 2015 production release and those that follow.

Planned JMRI changes that affect backwards-compatibility:

New library features (subject to verification):