Release Notes for JMRI 3.10 release

Date: December 20, 2014

From: Bob Jacobsen

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

We are very pleased to announce that the 3.9 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 3.10" available for download today.


JMRI 3.10.1 includes a bug fix for MRC Hardware.

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

This is the last JMRI production or test version that will work with Java 1.6. To use any later JMRI test or production releases, you'll have to update the Java on your computer to Java 1.8 or later. This version has been tested on Java 1.8, so you can do the Java update now if you want to.


The XmlIO web service has been deprecated and is scheduled to be removed after JMRI 3.12 (July 2015). All users and developers who are relying on direct access to the XmlIO API are recommended to begin using the JSON API. inControl web throttle users are recommended to begin using webThrottle instead, or to plan on investing in devices that can support webThrottle, WiThrottle for iOS, or Engine Driver for Android.

Several methods in the InstanceManager class have been deprecated and will be removed after JMRI 3.12 (July 2015). This doesn't affect JMRI users, but if you have your own code that uses JMRI, please take a look at the code and make any necessary changes.

Known problems with this release

This version of JMRI can't program CVs greater than 127 using the MRC command stations. If you use MRC hardware, you should update to JMRI 3.10.1. This is the only change in JMRI 3.10.1, so users of other hardware who have installed JMRI 3.10 (this release) do not need to up date to 3.10.1.

Download links:

Please use these links for downloading:

Mac OS X:



Changes since production release 3.8

New / Updated decoder definitions

There's now an "exists" qualifier for use in decoder definition files.

A user-defined pane with the same pane name as a standard programmer pane will replace that pane. (Dave Heap)

Much work on improving the structure of the files, which has resulted in some internal changes.

Improvements to the Italian translation.

Dave Heap made the following changes to the Function Map:


Alain Le Marchand made the following changes:

Added Digitrax SFX006 & DN166I2B definitions (Alain Le Marchand)

Doehler & Haass

Added Doehler & Haass DHF250 definition (Alain Le Marchand)

Pierre Billon improved the Doehler & Haass FH05A definition.

CT Elektronik

Added CT Elektronik DCX33 and DCX74 (v26) definitions (Alain Le Marchand)


Alain Le Marchand added N12K0a and N12K0b

Fixed Kuehn N025/T125/T145 definition (CV55) and refactored definition file and panes (Alain Le Marchand)


Alain Le Marchand made the following changes:

Added Soundtraxx Tsunami SoundCar DSD definition (Alain Le Marchand)

Updated (Soundtraxx) Bachmann SoundValue for SD70ACe & GEVO ES44AC. Added GG1 (Alain Le Marchand)

Added Soundtraxx Tsunami definitions for:

Tam Valley

Robin Becker updated the IO Action options in the Tam Valley Quad LN_S decoder definition.

Robin Becker updated the Tam Valley Depot Quad-LN_S stationary decoder to add a Reset menu item when using the Service Mode programmer.


Added Uhlenbrock Sound Module 32300 definition and updated 32100 (Alain Le Marchand)


Added MyLocoSound DCC decoder definitions (Alain Le Marchand)

Added definitions for Qdecoder accessory and function decoders: F0-4, F0-8, F0-4+, F0-8+, Z1-8N, Z1-16, Z1-16+, Z2-8N, Z2-8, Z2-8+ (Alain Le Marchand)

Added definitions for Digirails (Digikeijs) DCC LED bar DR80010 (Ronald aka ROn30)

Alain Carraso added definitions for the Trix Glasscar 22191 and BB12000

Nigel Cliffe added a definition for the Hornby TTS

Team Digital provided updates for the CSC and SHD2

Signaling, including new/updated signal definitions and icons

Suzie Tall improved icon support in the CROR-2008, AAR-1946 and Amtrak-2010 signal systems.

Egbert Broerse improved the signaling help.

The AAR-1946 and B&O-1957 signal system definitions had some internal problems fixed. This shouldn't cause any problems for people using them, but we can't be 100% certain. If you're using these, please check to make sure your signals are still working OK, and let us know if they're not.

Hardware / Systems


LocoNet: no longer ignore slot responses that don't immediately follow a slot request. Other hardware can insert messages, which were causing lost acquisitions in software throttles. (Steve Todd)

LocoNet: if no response to slot request, retry, then call failure method if still no response. Handles Slot Max error, for example. (Steve Todd)

LocoNet: Configure Duplex Group tool now operates correctly in JMRI profiles which have more than one active LocoNet connection. (B. Milhaupt)


MERG: attempt to resolve the throttle allowing full range of long addresses. It was not correctly processing the long/short option for some address values. (K. Cameron)

Initial Support has been included for the MRC/Gaugemaster Prodigy Advanced system (Ken Cameron & Kevin Dickerson) Supported features include: For more information on this support, see the MRC/GaugeMaster hardware page.

Some improvements to the support for MRC command stations via the Prodigy USB computer interface.

The OpenLCB support has been updated to the most recent version of the specifications. The most noticeable effect will be faster and cleaner operation of the configuration (CDI-using) tools.

The current implementation has been refactored to better facilitate the support of additional protocols. Whilst this should not affect the existing CORE-ID readers, it may be necessary to update connection configuration with the correct protocol. (Matthew Harris)

Initial support has been added for RFID readers that use the Olimex protocol. Many thanks to George Bowler for testing with real hardware. (Matthew Harris)

Initial support has been added for RFID readers that use the Parallax protocol. (Matthew Harris)


Supports the Roco Z21 command stations via it's built in network connection.

Initial support has been added for the Roco Z21. Current support includes XPressNet tunneling only. Thanks to Bill Lang for testing with real hardware. (Paul Bender)


Added support for Sensors on the TAMS System. The Tams MC must be running firmware 1.4.7 or above for s88 to work correctly. (kd)


Zimo now Supporting the Binary Protocol v5 for the MXULF and tentatively on the MX10 for (K Dickerson)


Dan Boudreau made the following changes to operations:

Layout Editor

On curved track segments the right click popup area is now on the track itself and the chord line has now been removed. (kd)

On curved track segments it is now possible to hide the construction lines in edit mode. (kd)

Removal of a Turnout, Slip, Level Crossing or Turntable, no longer removes the connected track segements. (kd)

It is now possible to join track segments to other items on the panel by dragging the anchor point on top of other anchor points. (kd)

Control Panel Editor



When you set a non-default location for script files under the preferences "location" tab, e.g. to put your scripts in a common directory, that location can now be referenced via the "scripts:" portable prefix. This will be applied automatically to pathnames that are selected when defining Logix Conditional Actions and similar operations. Note that if you select a location that doesn't contain the JMRI-supplied scripts, they won't be accessible through the scripts: prefix, but still will be accessible using program:jython/ as a prefix.

There's now a decodeJmriFilename(..) helper routine for use in Jython scripts. See the scripting FAQ for more info.

Fixed some problems in C/MRI-specific sample scripts.

Brett Scott provided updated versions of the DCC Specialities scripts for the Wabbit et al.

Web services, JSON and Web Throttles



The roster table is now smarter about sorting columns if they contain numbers (instead of alphanumeric names).

ARM V7 processor libraries added, so this architecture should work out-of-the-box on Linux.

The format of the mask value in XML decoder definitions is now included in validity checking. The existing decoder definitions had a few problems with this, now fixed.

Configuration XML files (Store Panels, Store Configuration Only) are now written with the line-ends standard on the local machines.

For developers

Removed the activation.jar library, along with various references to loading it. This is no longer needed since JMRI now requires Java 1.6 or later.