Release Notes for JMRI 2.1.7 release

Date: July 7, 2008

From: Bob Jacobsen

Subject: Test version 2.1.7 of JMRI/DecoderPro is available for download.


This is a test release. Please post a note if you encounter any new or old bugs! And please back up your JMRI files before installing this, in case you want to go back to an earlier version.

This is the next in a series of test versions. It contains many new features, including:

along with lots of other changes. See the complete list below.

Some of the changes involved are quite extensive. They may require a certain amount of experience before they are working well. Therefore, this test version should be considered experimental.

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

New warnings for this version:

Warnings from older versions:

The "Double Turnout" and "Triple Turnout" signals are now called "Double Output" and "Triple Output" in an attempt to reduce confusion of new users. They still work the way they used to.

Starting in the 2.1.4 version, panels should not have duplicate names. The program assigns a unique default name to newly created panels, and will prevent you from renaming a panel to an existing name. If you read a file containing a panel with a name that duplicates an existing panel's name, you'll get a warning message. Depending on user reaction, this may become a dialog box that asks if you want to continue.

The scripts used to start the JMRI applications on Linux and Mac OS X have been extensively reworked. The new ones should do everything the old ones do, plus more. Please keep an eye out for new problems, however, and don't hesitate to report them to the list.

In JMRI 2.1.1, when you went to load a panel file, only files with a ".xml" filename suffix were shown by default. To see all files, you could select "All Files" in the window. This caused some confusion because many people hadn't added the ".xml" suffix to their panel file names. We still think having a suffix like that is valuable, but to reduce confusion in JMRI 2.1.2 when you save a panel file an ".xml" suffix is added automatically to the filename if you haven't already provided it. This makes the filename filter work better when loading a file. If you want to provide another suffix, or none at all, select the "All Files" option in the window before saving the file.

JMRI is moving toward requiring Java 1.4 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.

JMRI no longer supports NCE AIU broadcasts. This change was needed so that JMRI could reliably read certain CV values. 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 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, including the "?download" at the end. That adds to SourceForge's advertising statistics, which makes them happy to host our stuff.

Mac OS X:



Changes since test version 2.1.6:

Dan Boudreau and Paul Bender have worked on the consisting tools.

With certain versions of Java, the analog clock would not display properly when first opened. This is believed to be fixed.

Some changes have been made to the way RPS handles polling.

To make it easier to see and position them, David Duchamp added an outline to a memory icon that's being put on a layout editor panel.

More improvements in making panel files portable from one computer to another, particularly Mac to PC and back. Please remember to put your own custom icons in the appropriate directory so that this can work well.

More help updates, particular to the PanelPro help pages.

David Duchamp updated the getFacingSignalHead support.

Ken Cameron added a tooltip to the DecoderPro decoder selection window that shows you the decoder ID number (CV7 value) for each type.

The RPS tracking display has been updated.

Ken Cameron added a "" example script to demonstrate his automated running of trains.

Ken Cameron improved formatting in the Light control.

Andrew Crosland fixed a bug that Bob Jacobsen had accidentally introduced into the SPROG downloader screens in JMRI 2.1.5

Digitrax firmware downloader updated to handle another file format.

An internal change: Throttle messaging has been refactored. If you're building your own application and now have an error with "jmrit.messager", please consult the Javadoc.

C/MRI poll timing has been improved a little.

Initial support for CAN-based networks is included, focusing on the MERG CBUS. See the initial draft of the help page for more information.

Two scripts ( and show how you can connect JMRI to custom hardware via a PC parallel port.

New script lets you use a USB HID device (joystick, scrollwheel, etc) as a JMRI throttle.

When in EasyDCC or SPROG mode, JMRI didn't include support for internal sensors due to an oversight. This is now fixed, so internal sensors are available for panels, Logix, etc.

Fixed a problem with function and forward-reverse tracking when using multiple Digitrax throttles.

Introductory support for the PI Engineering RailDriver throttle simulator is included.

Ronnie Pinkerton and Peter Lloyd-Jones updated the throttle speed slider so that it would also respond to a mouse wheel.

Ken Cameron added several options for adding titles to throttle windows, and fixed a bug that kept throttle titles from saving and restoring properly. Also, he added internationalization to the throttle so they can be translated into other languages.

John McAleely added an decoder description for the Bachmann 1fn decoder released to the UK market as 36-551.

Multiple updates to the TCH Tech system by Tim Hatch and Bob Jacobsen.

There's a new "Create Entry" item in the Roster menu. It opens a window for creating and editing a new roster entry, using a panel very similar to a DecoderPro paned window.

For consistency with other JMRI utilities, conditionals now check the "known state" of Turnouts instead of the "commanded state". If you're not using turnout feedback, this won't effect you. If you are using feedback, your conditionals will now fire when the feedback comes back from the layout, rather than immediately with a state change is requested.

Bruce Shanks updated the Comprehensive decoder programmer format to have "basic speed controls" (Vstart, Vmid, Vhigh) on a separate pane from the speed table. This greatly speeds reading and writing if you just need the basic information.

Turnout feedback was causing a problem with two opposing commands were issued very close together, for example when a Logix tries to set a turnout back when it is changed. This has been fixed by logic changes in AbstractTurnout and LnTurnout.

Sometimes a panel file will have the current fast-clock time written to it in a format, e.g. using a timezone identifier, that's not available when the file is read back. This caused an exception, which in turn prevented the rest of the file from being written. The program now protects against this error. If it happens, the time won't be set, but the rest of the panel file will be loaded properly.

Added a new RPS tool for handling the speed of sound.

Dima Stepanchuk fixed a problem that would cause recurring errors for the NCE Packet Analyzer.

Ken Cameron added InstallTest, a new application and startup test for debugging installation problems.

Dick Bronson provided some icons for USS CTC track diagrams. They're available in resources/icons/USS/proto.

Brett Scott provided a script in the jython/dccspecialities folder for programming the Wabbit Rev H or greater.

Fixed a problem with JDOM that could cause exceptions when importing or exporting roster files.