Release Notes for JMRI 2.7.7 release

Date: October 19, 2009

From: Bob Jacobsen

Subject: Test version 2.7.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 seventh in a series of test versions. We expect this series to end in a JMRI 2.8 production release in December 2009.

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:

You may have to go to the "Debug" menu and select "Recreate Decoder Index" to use the new decoder types that were added in this release. This is due to a bug that will be fixed in JMRI 2.8.8.

If you're using the "Function Label" or "Roster Image" panes with the DecoderPro "Comprehensive" programmer format, you should change to using the "Advanced" format. You select this at the bottom of the window when opening a locomotive for editing, or via the JMRI Preferences window.

Changes to the internal structure of the classes for the throttle windows (not the throttle classes themselves) may cause trouble for scripts that were using them.

This release uses a different set of libraries for processing the XML panel files. In turn, this means that if you've created your own startup scripts, you may need to adjust them.

Warnings from older versions:

Starting in JMRI 2.7.6, the Windows installer puts the Java libraries (jar files) in a lib subdirectory. This is the same layout used on Linux and Mac OS X, and makes the JMRI program directory much more organized and easier to understand. If you have your own custom startup scripts, you may have to adjust them to the new library location. If you're just using the JMRI installer and its startup tools, you shouldn't have to change anything you do.

The orientation of the coordinate system in the new audio support changed in JMRI 2.7.6. Starting with that release, when you are looking at the model railroad, X is positive toward the right, Y is positive into the layout (away from you), and Z is positive upward. If you wrote scripts using the new audio support with JMRI 2.7.5, you'll have to swap axes.

The new audio support in JMRI 2.7.5 requires some new libraries. Those libraries are included in the JMRI downloads. They, in turn, require that the startup scripts include the new libraries, so these have also been modified. The 2.7.4 and earlier scripts will not work with 2.7.5 and later. In particular, if you've created your own copies of startup scripts, you'll have to update those:

If your roster contains locomotives with Soundtraxx Steam Tsunami decoders, you should migrate those roster entries to the new decoder definition names. We've created a tool to make that easier. For information on how to use that tool, please see the separate note.

JMRI 2.7.4 changes the way filenames for icons, etc, are stored in XML files by JMRI. The advantage is that this new method will make it much easier to move panel files from one computer to another, even of a different type. So long as you keep all your files in the JMRI preferences directory on both machines, the files should just move over without trouble. The warning is that files written in this format will not be properly read by JMRI versions before 2.7.4. This includes files from earlier versions that are read by JMRI 2.7.4 or later and then written out again, as the program will update them to the new format upon storing them.

Download links:

Please use these links for downloading:

Mac OS X:



Changes since test version 2.7.6

The DecoderPro programmer definition files (in the xml/programmer directory) can now control whether the "Function Label" and "Roster Media" panes are shown. By default, the Basic programmer and the Comprehensive don't show them. If you want those two panes, start using the new Advanced programmer format. "Advanced" is be the default programmer format, if you don't pick any other one.

Dan Boudreau protected the code against certain errors when reading old operations configuration files, fixed a minor shutdown bug, and an issue when counting cars.

David Duchamp fixed a problem with processing continuing sense when editing turnouts in Layout Editor

Dan Boudreau added a operations tool to show cars for locations and tracks.

Kevin Dickerson improved how Layout Editor windows are loaded; changed the pop up to start and stop the clock so that it now works in the Layout Editor in the same way it does in the Panel Editor; added code to enable a circle and elipse to be drawn for a track segments.

David Duchamp extended the Maple interface so JMRI can run multiuple Maple input touchpanels.

David Duchamp added "Special Actions" to Transits. These are actions that can be initiated automatically as a train running in automatic mode traverses the layout.

Fixed a problem loading SE8c signal head definitions that include comments.

Simple Signal Logic now remembers whether you entered a user name or system name, and will use that same information in the future. Previously, it converted whatever you entered into a system name and remembered that.

Lionel Jeanson made some more improvements to the throttle windows: He added a ThrottleToolBar in order to get all throttles in one window (this involved some changes to the internal structure of the code that may cause problems for scripts if they were using the internal interfaces of the Throttles; please check your scripts). He also added default background image for DCC addresses 0 and 3.

Update XML parsing routines to use Xerces-J library instead of Crimson. This may require users who have created their own startup scripts to reference the xercesImpl.jar file instead of crimson.jar.

David Duchamp fixed signal head placement problems in Layout Editor signal setup tool.

Kevin Dickerson added some text formatting options to the Layout Editor.

JMRI SignalHeads are supposed to start up DARK, so that whatever controls them can then set their initial appearance. SE8c SignalHeads were not doing that properly. Both the internal appearance (e.g. what shows on icons), and the actual signal, should now properly start at DARK.

Signal heads and Simple Signal Logic now remember whichever user name or system name you provide. Previously, names would be converted to system names before being stored. This is the first step in a general overhaul to get this behavior.

Paul Bender added a javadoc-uml build target to the Ant build. This uses UmlGraph and GraphViz to build UML class diagrams to include in the Javadoc. UmlGraph is included as a jar in lib, GraphViz will need to be installed. This requires Java 1.6. You can check out the results via the UML diagram listing on the JMRI web page.

Andrew Crosland updated the SPROG programmer to log an error if no programmer listener has been provided to the programmer, for example in a script.

Andrew Crosland added support for the CBUS DCC command station, CV programmer and layout power manager.

Peter Ulvestad provided a decoder definition for the MRC 1827. He also updated the MRC 1630, 1631, 1637, 1806, and 1819 definitions.

Nigel Cliffe added a definition for the Lenz Silver 21 Pin decoder.

Marc Fournier updated the Kato EM13 decoder definition file.