Release Notes for JMRI 2.9.4 release

Date: Feb 21, 2010

From: Bob Jacobsen

Subject: Test version 2.9.4 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 fourth in a series of test versions. We expect this series to end in a JMRI 2.10 (or perhaps JMRI 3.0) production release in Summer 2010.

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:

If you're using a Lenz XPressNet connection, please uncheck the "Check Buffer Status" box in the preference pane where you selected the Lenz protocol.

The Layout Editor and Panel Editor have received a large amount of work. Please let us know if you notice any new problems.

There appears to be several problems with the throttles in this release. The most significant causes the function buttons to not work in certain circumstances. There are also problems with the default address 3, and when using an address that doesn't match a roster address.

Older warnings

This version of JMRI uses the new communications libraries introduced in JMRI 2.9.3. On Windows, the installer should take care of all installation and deinstallation required. On Linux, you may have to install and/or uninstall various communications library parts, see the JMRI Linux pages for more info. On Mac, depending on which version you were previously using you may have to remove a communications library, see the JMRI Mac OS X page.

You may get some messages like:

WARNING:  RXTX Version mismatch
        Jar version = RXTX-2.2pre1
        native lib Version = RXTX-2.2pre2
For now, this should be considered normal. We'll try to get it removed before the next production release.

The JInput USB library was updated to the current version in JMRI 2.9.1, which (should) have fixed problems on Windows Vista, Intel Macs and some Linux machines. We don't have a way to check this with all possible input devices, so please check to make sure that your USB-attached devices still work.

When loading an older panel file containing signal head icons, you may get WARN messages about "did not locate lunar icon file" and "did not locate flashlunar icon file". To make these stop, just store the file again so that it's rewritten in the most recent format.

Download links:

Please use these links for downloading:

Mac OS X:



Changes since test version 2.9.3

Kevin Dickerson fixed a problem editing signal logic that had been introduced in JMRI 2.9.1.

Dick Bronson updated the SP 1960 signal definitions.

Kevin Dickerson added a new feature added to a turnout on the layout panel, that prevents the turnout from being changed on the panel if the blocks on the connecting path through the turnout are occupied, thus helping to prevent accidental changing of turnouts when they are occupied. Feature is disabled by default.

Fixed a problem that prevented clicking on panels in the mini web server.

Dick Bronson improved the SP signal definitions

Kevin Dickerson added a "signal group" feature, still in development.

Many decoder files got small fixes so that they were entirely in the proper format.

Lionel Jeanson updated the USBThrottle so it now supports browsing through rosters and selecting one.

Lionel Jeanson provided a bug fix in wiimote throttle.

Many decoder definitions where changed over to use "XML Schema" instead of "DTDs" for their syntax checking. This is a technical, internal change that will allow some other updates later.

Paul Bender add support for the Power manager to the Lenz XPressNet simulator.

Kevin Dickerson updated the preferences manager to show icons in warning/info dialogs, and to give more options to suppressing messages permanently or just this session.

The Mini Web Server can now display more types of information, including directory listings, and better show the contents of JMRI XML files.

Dan Boudreau fixed a problem in the "Apps" infrastructure that caused it to initialize twice.

Update of the SRCP server.

Andrew Berridge improves the XBox remote throttle.

Dan Boudreau changed the check of operations train names to be case-independent, because Windows file names are case-independent: "First" and "first" conflict.

By suggestion of Jim Betz, the roster now includes the date and time that the entry was last saved, as reported by the computer on which it was saved. No checking of this value is done.

Kevin Dickerson made a number of changes to the way that JMRI works with the eCos, mainly in the handling of roster entries and the Ecos database.

The panel editor and layout editor code has been extensively reworked. It's not intended that this cause any changes in how it appears to look to the user, but please let us know if you see any.

Bob Coleman updated the Powerline Insteon 2412s support to catch reply message 50 (echo from a repeater) and clean up console output a bit. Via an insteon 2412s an X10 device or a registered insteon device should turn on or off, but dim and sensors are not yet available. Sometimes first commands to an Insteon device fail -- once they have been retried they work. Note that Insteon devices must be registered with the adapter to work.

A small correction was made to the BLI Blueline decoder definition.

A problem that would occasionally cause a LocoNet-connected Double Output or Triple Output signal head to not show the most recent appearance has been fixed. The fix doesn't effect SE8c or non-LocoNet signal heads, so any problems with those should still be reported.

David Zuhn updated the Linux start-up scripts.

Fixed a bug in the way the roster populates the various selected combo boxes.

Kevin Dickerson added "invert" to SPROG-driven turnouts.

Matt Harris updated the Windows launch script to properly handle mixed systems with 32-bit Java on 64-bit Windows.

Many improvements to the built-in mini web server, including improvements to iPhone support and allowing more browser types to display JMRI panel files.

The communications library issues that prevented JMRI 2.9.3 from being used on Mac OS X 10.4 has been fixed.

The help system can now directly print help pages. See the new icons at the top of any help screen. Also, you can know mark a page as a "favorite" and easily come back to it later.

Jason M'Sadoques improved the WiThrottle support to pick the best IP address for display when several are present, and to not display internal-only addresses that won't work for external access.

David Duchamp updated the instructions for building with XCode.

The built-in JMRI web server is now multithreaded to improve performance.

Dan Boudreau improved the operations train icon: Popup menu now always displays the "Throttle" option. "Throttle" is disabled if roster entry doesn't exist for the loco.

Improved how Conditionals convert Memory contents so they can be compared, etc.

Added default exception handlers so that uncaught exceptions will now put information into the log file.

Andrew Berridge added an "estop" to the XBox throttle on the left stick button.

Kevin Dickerson improved how you set the protocol in the preferences. Now, you first pick a system manufacturer from a list, and then pick which connection type to use from another list. This makes it easier to find the right one. For example, if you pick "NCE" as the manufacturer, you can then pick from "Serial Interface", "Network Interface" and "NCE USB".

The XML IO package has been updated. To see a demonstration, start the JMRI mini web server, and try these two URLs: http://localhost:12080/web/request.html and http://localhost:12080/web/monitor.html.

Kevin Dickerson improved the synchronization of turnouts between JMRI and an eCos command station.

A new "virtual" connection has been added, so you can try the programs without selecting any particular type of layout hardware.

Printing of tables has been reworked. This fixes the ordering problems, etc, but also changes the appearance of the printout. That will probably require some additional tweaking.

The buttons inside tables have been made smaller so that tables will fit better on smaller screens.

Fixed bug introduced in JMRI 2.9.1 that prevented clicking on panels when using the Mini Web Server.

Dan Boudreau added a simulated connection to the NCE protocols, so you can work on an NCE-based panel without the actual layout connected.

Andrew Crosland added support for the Bachrus electronic speedometer.

Dan Boudreau added a new feature to operations: When setting a car's location or destination, the "auto" checkbox will only show valid tracks for that car.

A new preferences dialog is available for testing. If people think it better, perhaps after some changes, we'll replace the current one with it. To use it, select "New Tabbed Prefs" under the "Edit" menu. Please give feedback on the JMRI Users group if you try it! Note: you should only attempt to use one preference panel or the other during a single run of the program, don't switch back and forth.

Dan Boudreau improved the appearance of the Turnout Control.

Fixed a bug preventing playing sounds in Logix Conditional Actions.

Andrew Berridge and Peter Ulvestad updated the Hornby 8249 definition.

Harald Barth improved the CV programming in the SRCP support.

William C Gage provided a decoder definition for the MRC Sound Brilliance 1808.

Marc Fournier provided a decoder definition for the Trix 66838 decoder.

The way the program version number is stored in the program and output files has been made easier to parse.

Jack Shall updated the Tsunami Diesel definition.

Andrew Berridge added an optional "speed limit", which can be set by locomotive in the roster, when using JMRI throttles. Great for running with grand kids!