Release Notes for JMRI 2.1.5 release

Date: May 20, 2008

From: Bob Jacobsen

Subject: Test version 2.1.5 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:

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.

Warnings from older versions:

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.

JMRI 2.1.3 was created shortly after JMRI 2.1.2 to fix a bad new bug accidentally introduced in 2.1.2: If you save a roster entry, you can't read the values back in. This new 2.1.3 version both corrects the problem, so that files are properly written out, and is able to read the corrupted files that 2.1.2 writes. If you did not install JMRI 2.1.2, there's nothing to worry about. If you did install JMRI 2.1.2, please install either 2.1.3 or this 2.1.5 release to correct the problem.

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.

The beginnings of support for the QSI Programmer device are present, but it's not complete yet

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.4:

Bob Coleman added support for CTI Acela hardware.

Fix broken JMRI_HOME option in the new Linux and Mac OS X startup scripts

Bill Chown has updated the MRC Big Boy decoder definition and added lots more detail to the MRC 1645 definition.

Some older versions of the Java Help system couldn't follow internal links on the help pages. This is now fixed.

Dan Boudreau added a "don't show again" button to info message on panel close.

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.

The Powerline adapter (X10) support has been rewritten to allow more adapter types to work. This shouldn't make any visible changes, but might have accidentally introduced some bugs, so please keep an eye out.

Many more help updates. Please check it out, either in the program or on the web.

Chris Zurek updated the Digitrax DH123 "Economy" decoder definition.

Ken Cameron and Bob Jacobsen added support for the CP290 house adapter to the X10 powerline support.

Dan Boudreau fixed a problem that would cause a lockup if a NCE command station or NCE Power Cab crashes while coming out of programming mode. The NCE Power Cab can crash when reading non-existing indexed CVs.

The new Mac OS X startup scripts would fail if placed in a directory with spaces in the name. This has been fixed. Thanks to Graeme Brown for help figuring this out.

The "Check buffer on send" option for Lenz (XPressNet) protocols now defaults to "no" on Mac OS X systems, "yes" on Windows and Linux. If you've already set it and have it working, this shouldn't cause any trouble.

The Mac OS X distributions for JMRI 2.1.3 and 2.1.4 could not be opened on Mac OS X 10.3 and before. This should be fixed for this version, thanks to Graeme Brown.

Certain locomotive decoders couldn't be programmed on the main with NCE systems if they were moving. Yes, that's a subtle bug, but Mark Schutzer and Dan Boudreau tracked it down and fixed it, with help from NCE.

Dan Boudreau fixed some problems recently introduced into the "NCE over network" connection.

Martin Gostling updated the CML DAC10 decoder definition.

Paul Bender added a new Turnout operation (in the automate column of the Turnout Table) called "raw". This sends raw NMRA packets to the accessory decoder, rather than using the command mechanisms in the DCC system.

Martin Gostling added some new models to the Digitrax FX3 decoder family.

The panel files that the program writes now have a little less redundant information in them. If a particular category is empty, e.g. no Routes, the summary and manager information for that category written to the file.

You can no longer create a null Roster entry accidentally using the "Roster Copy" menu item. If you try to copy to an invalid or empty ID, it prompts you to try again. Also, the handling of roster filenames with special characters has been improved.

Giorgio Terdina has made it possible for JMRI to connect to his XnTcp adapter. This lets JMRI connect to a remote XPressNet-based layout using TCP/IP.

Andrew Crosland provided a decoder definition for the Servo6 decoder.

There is new, experimental support for connecting JMRI to USB input devices such as joysticks. They're input values are copied to Sensors and Memories, so that Routes and Logix can then use those values to cause actions on the layout. For now, this feature is available from the Debug menu. Documentation is stil being written.

Andrew Crosland added a tool to make it easy to read the version information from an SPROG.

Dan Boudreau fixed a problem with the turnout automation display options and updated the help information for that option.

Andrew Crosland updated the tool for downloading new code to an SPROG unit.

Dan Boudreau fixed the way the throttle handles "Display All Functions Buttons", since there are now 28 buttons.

Another round of improvements to the Digitrax sound project editor.

Andrew Crosland updated the SPROG support so that it properly handles track power after programming.

Dan Boudreau added 28-step throttle support for NCE and EasyDCC.

Mike Mosher added a definition for the V3.6 version of the NCE D408SR decoder.

Walter Thompson fixed a problem in the ESU LokSound V3.0 and V3.5 decoder definitions that prevented large values being selected for some CVs.

The Digitrax PR2 connection now has an option to disable flow control for those Windows machines that can't do it properly.

Marshall Wales and Bruce Shanks investigated how ID numbers are assigned to Digitrax throttles, and figured out how to display them in the LocoNet Slot Monitor so that it looks similar to what appeared on the throttle.

Andrew Crosland updated the SPROG command station to set speed to zero when a throttle is released. He also updated the SPROG monitor to show active slots properly.

As part of the new USB support, there have been several changes to the way external libraries are referenced. Although there has been a lot of testing, it's possible this has caused problems for people who are using JMRI as a library.

David Duchamp added new actions to Logix Conditionals to start, stop and set the time in JMRI fast clocks.

The Digitrax PR2 connection has been updated to work properly with the new, large memory decoders, which take longer to erase.

Following a suggestion from James Lefevre and David Duchamp, added AppleScript capability on Mac OS X.

Dan Boudreau fixed a bug with regards to the "all panel items can be repositioned" checkbox. Unfortunately starting with JMRI 2.0 the program stores the checkbox as always enabled. Therefore the next time you load the panel you would find the checkbox enabled. This is now fixed, so that the status of the checkbox is properly stored. To fix it in existing files, just load and store the file again.

Dan Boudreau added a new menu item called markers to panels. This allows a user to display an icon representing, for example, a locomotive and then move it around to indicate the locomotive's current position. The user can either directly name the loco icon, or use their roster to get the loco road number. This icon is different from other panel items as it is always movable. There are four color choices for the icon itself, and the text can be colored and resized as desired.

On some computers, a saved control panel gets a few pixels bigger when reloaded. We believe this is now fixed. Panels should now stay the same size when saved again.

Steve Williams made several improvement to the LocoNet code.

Michael Mosher added a decoder definition for the Factory Direct Trains Trackmobile.

Mark Waters updated the decoder definitions for the several versions of the Zimo XM620 decoder so they contain the right CVs.

Paul Bender updated how commands are sent to turnouts by XPressNet command stations.

Ken Cameron and Dan Boudreau added a warning message if you try to configure two connections to use the same port or the same protocol in the preferences.

Dan Boudreau lengthened how long the program will wait while trying to open a serial port.

Simon Ginsburg did a great job of updating the German translation.

Didrik Voss provided the configuration information, including the default values, for the Hornby R8215 decoder.

Andrew Crosland added a tool for getting the version information from an SPROG, and a console tool for controlling the SPROG's operation.

David Duchamp and Bob Jacobsen added methods for running code at shutdown. The sample file shows how to do this in script.

David Duchamp added the ability to load and save the status of blocks, including when the program shuts down.

Walter Thompson updated a number of decoder files: He added factory resets to the Digitrax and QSI decoders, and added several variables to the QSI articulated steam definition.

Dan Boudreau simplified what's being stored when turnouts don't use the lock feature.

Fixed (with Kerry Albrecht's help) a problem that kept certain panel files from loading.

Still working on Grapevine initialization. Added a "Init" button to the node table, to make it easier to test and reset.

Support for the QSI Programmer hardware is now thought to be basically working on Mac OS X, though we're still working on the Windows and Linux connection. Help with testing that would be appreciated.

Provided "" sample script, which turns off the ops-mode programming button on the main DecoderPro window.

Bill Chown updated the MRC decoder definitions

Closing the main window of a JMRI program no longer unceremoniously dumps you out of the program. Now, it asks first.

Michael Mosher added the Digitrax DH165Q1 decoder.

David Duchamp made some additions to Layout Editor that allow easy train tracking around a Layout Editor panel.

David Duchamp added a first version of a method suggested by Ken Cameron to allow scripts access facing signal heads at block boundaries, provided signals were set up using Layout Editor tools.

Tim Hatch of TCH Technology provided JMRI interface code for their Node Interface Control System (NICS) hardware system, which uses "H" as it's system letter. As of November 10, 2008, JMRI no longer supports the TCH Technology hardware.

John McAleely contributed new definitions for Hornby decoders

NCE systems now have CommandStation object support, so they can send arbitrary DCC packets.

The RPS system support received a major update.