Download and install JMRI®
JMRI Setup and Installation
JMRI environments...
Release Notes
Supported Hardware
Devices, command stations, networks, and protocols:
Source Code

JMRI Help:

Contents Index
Glossary FAQ

Donate to JMRI Donate to

Release Notes for JMRI 2.4 release

Date: December 21, 2008

From: Bob Jacobsen

Subject: Production version 2.4 of JMRI/DecoderPro is available for download.


We are very pleased to announce that the 2.3 series of JMRI test releases has resulted in a version that's good enough to be recommended for general use, including by new users. We're therefore making that version, "Production version 2.4" available for download today. It contains many new features, including:

  • Many updates to decoder definitions and new decoder definitions.
  • New systems and devices supported:
  • Many new decoders, including:
    • New Lenz Standard decoder definition
    • Several new MRC sound decoder definitions
    • New Team Digital SRC16 definition
    • Multiple updates for ESU decoders
    • Many new Tsunami definitions, including several diesels
    • New definition for the Hornby 8249
    • Many new and updated QSI definitions
  • New features:
  • Updates:
    • Throttle tool has been updated to improve it's interface and operation. It now gets labels for the function buttons from the individual roster entry, so you can label the proper buttons with the sounds, etc, they control.
    • Updated the Lenz XPressNet code to take advantage of XPressNet 3.6 capabilities if available.
    • The Layout editor has been improved with many features: snap-to-grid, zooming, a reporter icon, train markers, selectable scroll bars.
  • Many new and updated help pages.
  • New sample scripts:
    • NumberInput, showing how to use a series of sensors on a control panel to e.g. enter a track number in a memory
    • ParallelPortTest and ParallelPortTurnouts, which demonstrate connecting JMRI to layout hardware through a parallel (printer) port.
    • RosterLoop shows how to access the entire locomotive roster
    • RobotThrottle for automated running of trains
    • USBThrottle for configuring a USB joystick or other control to act as a throttle.
    along with lots of other changes. The complete list can be found in the release notes from the test releases leading up to this production release: along with a few updates listed at the bottom of this note.

    JMRI is now only available under the GNU General Public License. For more information, please see our copyright and licensing page.


    Linux users, especially Ubuntu users, of Panel Editor and Layout Editor may experience trouble with displaying popup menus and repositioning items on their panels. This is a known problem that is being worked on. It is expected to be fixed in an early 2.5.x test version.

    Windows desktop shortcuts have been restructured to make them more reliable. If you have custom shortcuts (ones you made), you may have to update them. The JMRI-created ones will be updated automatically. Users of Mac OS X and Linux will not be effected by this change.

    By default JMRI is now allowed to use up to 200MB of memory (up from a limit of 60MB or 64MB previously). If this is more memory than you have available, e.g. on an older computer, and you notice JMRI slowing down a lot, please let us know so we can provide a work-around.

    When starting up, JMRI now builds the classpath (the list of libraries used by the program) dynamically on Windows. We'll use this in the future for plug-ins and other features, and other platforms have been doing this for a while. If you have added any .jar files to your JMRI program directory, they may cause problems when the program is starting. Also, if originally installed a very old version of JMRI, there might still be files around that can cause this problems. If so, you can fix it by moving aside those extra .jar files from the JMRI program directory, or by asking Windows to un-install JMRI, before rerunning the installer. For more information on this, please see this discussion on the JMRI Users group.

    JMRI is moving toward requiring Java 1.5 or later. Certain new features may not work if you are using an earlier version of Java. To see JMRI's future plans for this and other compatibility issues, please see the JMRI technology roadmap.

    To improve reliability for NCE users, we recommend that if you use NCE AIUs, that you upgrade the command station EPROM to version 2007 or newer and turn off AIU broadcasts. Code has been added to detect if AIU broadcasts are enabled, and if so a warning message will appear at startup requesting that AIU broadcasts be turned off for proper operation of the JMRI programs.

    Indexed CVs will not be included in any printouts for this release.

    QSI CV 56.129 Engine ID Access is not supported in this release.

    While programming QSI decoders in Ops mode, it is necessary to disable CV 62 QSI Control (Verbal Acknowledgement), otherwise the writes will fail.

    QSI CV 64 CV Numeric Verbal Readout currently does not work for indexed CVs.

    Download links:

    Please use these links for downloading:

    Mac OS X:



    Changes since test version 2.3.8:

    Paul Bender added a work-around a couple of Elite Specific throttle issues:
    1. The Hornby Elite does not send out a message indicating another throttle h as taken control. The code now polls the command station every 5 seconds to get the current status of the throttle.
    2. The Throttle information response messages sent by the Hornby Elite always indicate the throttle is in 14 speed step mode and the locomotive is part of an MU. Ignore the speed step setting so we do not reset the software throttle to 14 speed steps and loose control of the train. Note: This requires the user to change the speed step setting in the throttle if using a mode other than the default (the default is 128 speed step mode).

    Dan Boudreau made a number of improvements to the operations code.

    Paul Bender updated the throttle to fix a problem with mismatched speed steps.

    Chris Zurek added a new MRC 1662 definition, and updated the MRC 1666 definition to include more info on bells and horn.

    Ken Cameron fixed a problem in the X10 support that was preventing the 16th device on a housecode from working.

    Dan Boudreau fixed a problem in the operations code that could cause lots of additional entries in various operations tables.