JMRI: Technology Road MapThis 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 ReleasesThis section describes the (notional) plans for JMRI releases in the future.
|1.8||Production version, culmination of 1.7.* series||July 2007 (done)|
|2.0||Production version, culmination of 1.9.* series||December 2007 (done)||1.3||1.4|
|2.2||Production version, culmination of 2.1.* series||June 2008 (done)||1.4||1.5|
|2.4||Production version, culmination of 2.3.* series||December 2008 (done)||1.5||1.5|
|2.6||Production version, culmination of 2.5.* series||June 2009 (done)||1.5||1.5|
|2.8||Production version, culmination of 2.7.* series||December 2009 (tentative)||1.5||1.5|
|2.10/3.0||Production version, culmination of 2.9.* series||June 2010 (tentative)||1.5||1.5|
|?.?||Production version, culmination of ?.?.* series||December 2010 (tentative)||?||?|
JMRI 1.9, 2.0The JMRI 1.9 development series moved forward to JRE 1.3, JDK 1.4. This permitted use of:
- Collections in java.util instead of com.sun
- Java2D, along with the associated printing support
- Annotations (we need to develop conventions for their use)
- JDOM 1.0 - Simplifies XML code, allows use of XSLT for dynamic combination
- JUnit 3.8 - Minor improvements to test writing ease
- Fewer jar files included in distribution
- The Jakarta regexp regular expression library. (At some later point, we'll have to move that forward to java.util.regexp, but that won't be available until Java 1.4 in a later JMRI release)
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.2The JMRI 2.1 development series moves forward to JRE 1.4, JDK 1.5. This permits use of (subject to verification):
- SwingWorker (and associated updates of threading)
- JUnit 4.0
- JavaHelp update
- Drag and Drop
- Annotations (we'll have to develop conventions for these)
- Java regular expressions (java.util.regexp)
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.4The JMRI 2.3 development series moves forward to JRE 1.5, JDK 1.5. This permits use of (subject to verification):
- JSpinner (and removal of our replacement in jmri.util)
- Enums (we'll need to make decisions about interface updates, e.g. Turnout.CLOSED)
- printf, Formatter
- generics (subject to decisions about conventions and interface updates)
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.8These 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.0Plans 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 2010After 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.
Java Release and Operating System SupportMore information on Java releases and the operating systems that support them is on a separate page.