Release Notes for JMRI 4.13.6 release

Date: December 10, 2018

From: Bob Jacobsen

Subject: Test Release 4.13.6 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 releases. We expect this series to end in the next JMRI production release around the end of 2018. (See the tentative release schedule)

Some of the changes involved are quite extensive. They may require a certain amount of experience before they are working well. Therefore, this test release 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.

Update From Older JMRI Versions

If you are currently using JMRI 4.9.6 or earlier, we strongly recommend that you update to JMRI 4.12 and make sure that's running OK before updating to this test release. There have been a number of changes in serial port support, panel file format and configuration options since those earlier releases, and moving to the stable JMRI 4.12 release is a good way to work through any possible problems.

If you are currently using JMRI 4.7.3 or earlier on Linux or macOS (Windows doesn't need this), you must update to JMRI 4.12 and carrying out the migration process described in the JMRI 4.12 release note before updating to this release.

Known problems with this release

New warnings for this release:

Older warnings

See the JMRI 4.10 release note for more warnings predating the 4.11 development series. These may be relevant to you if you're updating from an earlier version.

Since JMRI 4.11.8 Some new display capabilities were introduced into Layout Editor during JMRI 4.11-series development. This release changes some of the defaults in this area, which might change the appearance of some track segments on your panels if they're still using default values. If you select them and change their properties, then save your panel file(s), you can restore their previous appearance. There's a PDF document with more details. We apologize for the inconvenience.

Since JMRI 4.11.8 Because of changes to the "node identification" algorithm used to tell one computer running JMRI from another, you might receive a warning message about the "Node Identity" the first time you run JMRI version 4.11.8 or newer. (If you have more than one profile, this can happen with each). There's no permanent problem here, but you might have to reset your window preferences (i.e. position and size, column layout, etc) in this case. We apologize for the inconvenience.

Since JMRI 4.11.4 If you are running a local web site with a copy of the JMRI content, as described here, please repeat the "" step near the bottom of those instructions after installing JMRI 4.11.4 (or later). This will make some new formatting available on your local site.

Since JMRI 4.11.4 There are issues with the Pi-SPROG One command station operation. A number of workarounds should be applied:

Pi-SPROG One with version 2.4 or earlier firmware will cause a timeout after a track short circuit. A dialog box will open to inform the user of this. The track power will be turned off and must be turned on again using the power control.

Since JMRI 4.11.2 The system connection preferences (i.e. hardware preferences) are now enforcing the correct form for system prefixes: One upper case letter, optionally followed by a number (one or more digits, e.g. "L12"). Existing prefixes in existing configurations are unchanged, but new ones will have to have the correct form.

Since JMRI 4.7.6 If you're having trouble getting your DCC programmer to work, try checking that the settings on the Defaults pane under Preferences window point to your hardware system. The reason: This version of JMRI (and all later) provides more options for picking the default system when you have more than one set of hardware attached The default is then used for throttles, for programming, etc. JMRI tries to guess the right settings for these when you upgrade to this version, but apparently it sometimes gets that wrong (we haven't been able to track that down yet). Setting them manually fixes any wrong guesses.

Download links:

Please note that the download links in this and future JMRI releases link to Github servers. People are welcome to distribute the download files further via other websites, etc. If you want to check that you've received original, unmodified versions, please check the files against the checksums shown below.

Changes since Test release 4.13.5:

The list of included commits is available from our GitHub code repository.


  • Minor changes to use the new standard scale process.


since 4.13.4
  • Replace the timetable package layout scale enum with the new standard scale process.
  • Implement custom scale support for the new scale process.


New Layout Scale process

  • A default scale set is distributed with JMRI as an XML file rather than hardcoded lists.
  • A jmri.Scale instance is a constrained bean:
    • The user name defaults to the scale name and can be changed. The toString() method uses the user name and scale ratio, e.g. N (160).
    • The scale ratio can be changed.
    • The scale factor is automatically calculated from the scale ratio.
    • Vetoable listeners can be notified of changes and can prevent changes that might impact application stability.
  • jmri.ScaleManager manages access to the Scale instances.
  • jA CUSTOM scale entry is included which an application can implement if desired.
  • Any changes result in the default list being copied to the user file location. This makes it possible for users to create their own scale list. The distributed list is not used if the user file location list is present.

Other Misc

  • This release contains a significant update to how defaults are handled for the various system components like programming tools, throttle tools, etc. Previously, the "internal" versions of those were often selected as defaults, causing some confusion. Now, unless you have explicitly created an internal connection by adding it on the connections page, they won't be, and hardware-specific connections will be used instead.