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.
| 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 | 1.4 | 1.5 |
| 2.3.* | Development series | 1.5 | 1.6 | |
| 2.4 | Production version, culmination of 2.3.* series | June 2009 (tentative) | 1.5 | 1.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:- 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 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):- SwingWorker (and associated updates of threading)
- JUnit 4.0
- Java3D
- JavaHelp update
- Drag and Drop
- Annotations (we'll have to develop conventions for these)
- JavaMail
- Java regular expressions (java.util.regexp)
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):- 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, 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 Versions | Expected end date |
JRE | Oldest OS | JDK | Oldest OS |
|---|---|---|---|---|---|
| 1.9.* 2.0 | Dec 2007 | 1.3 | Windows 95 | 1.4 | Windows 98 1st Ed |
| 2.1.* 2.2 | Aug 2008 | 1.4 | Windows 98 1st Ed | 1.5 | Windows 98 2nd Ed MacOS X 10.4 |
| 2.3.* 2.4 | Aug 2009 | 1.5 | Windows 98 2nd Ed MacOS X 10.4 | 1.6 | Windows XP MacOS X 10.5 |