Download and install JMRI®
JMRI Setup and Installation
JMRI environments...
Release Notes
Supported Hardware
Devices, command stations, networks, and protocols:
Source Code

JMRI Help:

Contents Index
Glossary FAQ

Donate to JMRI Donate to

Release Notes for JMRI 2.0 Release

Date: December 31, 2007

From: Bob Jacobsen

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


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

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 NCE support has been revamped so that "NCE USB" is a new choice in the preferences window.

This version of 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.

This version of JMRI requires Java 1.3 or later. To see JMRI's plans for which Java versions will be required when, please see our technological roadmap page.

The starting location of file chooser windows used to determine which file to open or where to save a file have been updated to (hopefully) more useful initial places. They now retain their location from one use to the next, so you don't have to keep navigating back to the same place.

Warnings from older versions:

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 1.9.3:

Fixed a problem connecting to RPS at speeds other than 9600 baud.

Dan Boudreau made more improvements to the NCE help.

The RPS code was updated to work with the newest hardware formats.

Help screen updates by Dick Bronson and Dan Boudreau.

Ian Birchenough contributed a definition for the ZTC 255 decoder (version 2).

Dick Bronson updated the decoder definition for the RR-CirKits TC-64 to better handle reset operations.

The panel editor was changed so that newly added icons for turnouts, sensors, etc are in front of (on top of) previously added ones, instead of the other way around. Also, newly added icons can be positioned even if the checkbox is set to keep the others fixed. You can always make an icon movable by opening its popup menu and unchecking the "Fixed" option.

The build tests were updated to produce less spurious output. If you build your own JMRI version and run the "alltest" target, you shouldn't get any WARN or ERROR messages now.

The connector information in several decoder definitions was updated based on info contributed via the website.

The build file was updated so you can now run profiles within NetBeans.

A rarely-encountered bug with Lights on Oak Tree hardware was fixed.

David Duchamp and Ken Cameron fixed a problem which caused the NCE fast clock to be reset erroneously.

Allow Digitrax sound editor to open files anywhere, not just in program directory

Dan Boudreau and David Duchamp added an option to the pop-up menu on panel icons to let you set the icons coordinates exactly. When the "Show item's coordinates in popup menu" box is checked, each icon's popup menu contains a "Set x & y" option.

Other changes since production version 1.8:

Dan Boudreau contributed new "smallschematics" track icons.

Several people worked to update the code to use Java 1.3; this will have some impact on interfaces in the software, if you're writing your own code that uses JMRI.

Dan Boudreau updated the NCE macro editor so that it could handle macro 0, and made other improvements.

Bob Jacobsen added tooltips to the Panel Editor to explain that the "Add" buttons are disabled until information is entered in the text boxes

Micheal Mosher added a definition for the TCS "BEMF" decoders, and updated the definition for the TCS X decoders to contain CV23, 24 and auto mars light

Dan Boudreau added tools to backup, restore and edit NCE macros.

Michael Mosher updated the QSI decoder definitions, adding many new models and features to the "Version 7" definitions.

Bob Blackwell updated the Digitrax SFX decoder definition to include a selection for CV11 on the Sound Pane. The added value is name "Sound Time Out".

Solve a long-standing problem with SwitchIt accessory decoders on LocoNet systems by sending a "turnout off" command after each "turnout on" command. Real LocoNet throttles send "on" when you push the button and "off" when you release it. Before this change, JMRI sent only the "message", which seemed to work fine. However, when configured in certain ways, SwitchIt accessory decoders needed to see the "off" message to trigger. With this change, the "off" message is sent whenever turnout is directly triggered (note "on" and "off" are complete separate from the "closed" and "thrown" directions).

Dennis Miller fixed a long-standing problem with the appearance of the startup image.

David Falkenburg added support for the NCE PowerCab. This includes some changes to programming timeout values, and checking for the program erroneously sending unsupported commands to the PowerCab.

Brett Scott contributed scripts for configuring many DCC Specialties products, including the Hare, Wabbit, Block Watcher and PSX.

Michael Mosher updated the BLI Blueline decoder definitions to no longer use paged mode, as it doesn't work well

Michael Mosher updated the NCE DS13SR decoder definition to the recently-observed identifiers

David Duchamp added a completely new layout (panel) editor! In particular, note the very nice help files.

The "held" icon for a SignalHead on a panel wasn't rotating properly, now fixed.

Dan Boudreau updated the NCE consist manager

Alex Shepherd fixed a bug that would cause a LocoNetOverTcp connection to hang if the remote stopped responding.

Paul Bender added the Silver Direct to the Lenz Silver decoder family

Stephen Williams found and fixed a bug that caused LocoNet slot 119 (a normal slot) to be only shown when system slots were being shown

Protect against an error where errors are thrown while trying to start the program on certain Linux machines.

Through the magic of XSLT, decoder files and the decoder index now show useful information when viewed in a web browser

Dan Boudreau added X&Y positions to the popup menus for panel icons

Simon Ginsburg updated the German translation

Dennis Miller changed the way decoder identification is presented by DecoderPro. If more than one decoder can possibly match when you ask DecoderPro to identify the decoder, they will now all be highlighted and the user will be asked to select one.

The programs will now log various "INFO" messages as part of running. This is normal, and is meant to help with debugging.

This release has debugging information included with the code, so that if there's a fault you'll get a useful traceback to send back to us.

Lots of little Javadoc improvements

DecoderPro now creates a decoder index that displays it's contents when viewed in a modern web browser. Note you need to be connected to the internet for this to work.

The Decoder Definition Files now display (using XSLT stylesheets) when viewed in a web browser. Note you need to be connected to the internet for this to work.

David Duchamp added a "delayed set turnout" action to Logix conditionals

David Duchamp updated Panel menu and the storing and deleting of panels:

  1. A panel (either type) is not deleted when its panel window is closed.
  2. To delete a panel (either type), select "Delete this panel..." in the panel's File menu. A validation message is displayed before the panel is actually deleted. This action deletes the panel from the program. To permanently delete the panel from files, panels must be saved to disk after deleting the panel.
  3. A new entry "Show Panel" has been added to the Panels menu. All panels currently present in the program are listed in the submenu of Show Panel, independent of whether the panel window is closed (checked in the submenu), frontmost, or minimized. Selecting a particular panel makes it visible and frontmost.
  4. When "New panel..." is selected, a small window is displayed allowing the user to select a "Panel Editor" panel or a "Layout Editor" panel. The default choice is "Panel Editor".

Alfredo Sola updated the Spanish version of the interface

The NCE code has been updated to try to fix a problem with reading specific CV values, most often seen when reading QSI decoders. The fix is different for each of the various NCE EPROM versions, and it's not clear that we have properly covered all the cases.

Walter Thompson updated the SoundTraxx DSD Steam decoder so that the CV lists display in order.

Michael Mosher fixed a bug in the horn/bell default in the SoundTraxx DSX Diesel and DSD Diesel files.

Bob Blackwell and Michael Mosher updated the Digitrax "3" definition to include the DN123K3 decoder. Also, Christopher Zurek removed the "Rear Headlight Controlled by F4", which is not supported in this series of decoders.

Michael Mosher updated the QSI V7 decoder definitions to add "grade crossing" as an output type and define CV62 bit 2

Petr Koud'a made it possible to use Littfinski Daten Technik (LDT) signal decoders with JMRI. These decoders can display up to 8 aspects. One position of a turnout is associated with each signal aspect. This new signal type assigns turnout positions to all 7 JMRI signal aspects.

A definition was added for the MRC 1656 sound decoder

Dan Boudreau provided help pages for many of the tables.

Ken Cameron updated the NCE fast clock support.

Daniel Boudreau has added a turnout lock feature which allows the user to selectively disable accessory (turnout) commands from cabs. By locking a turnout, the JMRI program will monitor the turnout's accessory address and if it detects a change command from a cab, will cancel the command immediately by sending out the opposite command to the turnout. To help you select a set of turnouts to lock, a route can be locked. All turnouts that are being monitored by the JMRI program and are included in the route will be locked. In the route edit window, a new optional lock control turnout is available. You can use the lock control turnout to enable or disable the locks from a panel icon. The lock control turnout can be an internal or external turnout. To use this new feature the system must be NCE using 2007 EPROM or newer, and the turnouts to be locked must use MONITORING for feedback.

Dan Boudreau updated some help pages.

Some XML-validity problems have been fixed in various decoder definition files, so they now pass the most stringent tests.

Fixed a problem what would cause the fast-clock time to jump when the rate was changed if the clock wasn't stopped

Turnouts now fire a property change if their feedback mode changes, so the turnout table can properly show their updated status.

Ian Birchenough provided a definition for the ZTC 4007 decoder

Dan Boudreau added the ability to turn off local control of turnouts with NCE rev C and CVP AD4 controllers

Dan Boudreau improved the error checking and handling in the Logix and Conditional editors

Paul Bender and Bob Jacobsen fixed bug 1829354, crash if additional buttons were selected in the preferences.

Ken Cameron updated the NCE fast clock support. The internal and NCE clocks are synchronized, and either can be master.

Giorgio Terdina updated the XPressNet monitor for the proper reporting of Command Station Software Version and Emergency Stop packets. Paul Bender updated how it to use the correct Momentary/Continuous value when setting momentary functions.

Paul Bender fixed a problem in the way function notifications were handled in the throttles.

Bob Jacobsen updated the advanced preferences panel to show the options for startup actions and buttons in lexical (alphabetical) order.

The configuration tools for Digitrax boards (PM4, SE8c, etc) now have scroll-bars on their windows, so they can be used on computers with smaller screens,

Fix bug (introduced in 1.9.1) that prevented the Copy Roster Entry menu item from working

Add methods to JmriJFrame so you can get a list of all currently-existing frames (windows)

Dan Boudreau fixed some spurious error messages when opening a saved throttle layout

The various files written from now on by JMRI can now be easily viewed in a web browser, but only if you have an active internet connection so that formatting information can be downloaded. The formatting is still somewhat rough, and suggestions as to how to improve it are welcomed.

The help pages have been reformatted so they can be properly displayed on the website. This shouldn't cause any problems, but please let us know if you notice any.

Dan Boudreau fixed an error that would occasionally surface when closing a clock window

Bob Jacobsen added retry-twice-on-error to the DecoderPro speed table handling

Ken Cameron added a modern LCD-type clock display

Many of the decoder definitions have been updated to show whether they have NMRA warrants

Dan Boudreau improved handling of programming errors. Dan and Andrew Crosland changed the single CV programmer and DecoderPro main screen so that options that are not available are now disabled.

Andrew Crosland added new support for the SPROG acting as a command station. Please see the SPROG web pages for more information on this, as it's still under development

Previously, if an error was encountered in the early parts of reading or writing an indexed CV, the operation would end improperly. Now, the failed write is retried a couple times, and if it still fails, the CV is marked in error (red)

Help pages have been added to many more windows, though they generally need volunteers to add content to them.

The DTDs for several file types have been brought up to date. If you're using a smart XML editor, this will be useful to you.

Dan Boudreau updated the NCE packet sniffer interface to add some more capabilities

Dan Boudreau added a "Confirm" button to the CV panel, for checking whether a value is correct in the decoder