Release Notes for JMRI 4.8 release

Date: July 23, 2017

From: Bob Jacobsen

Subject: Production Release 4.8 of JMRI/DecoderPro is available for download.

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

Notes:

JMRI is now only available under the GNU General Public License. For more information, please see our copyright and licensing page.

after image before image

Required Migration StepSince JMRI 4.7.4

JMRI was updated in JMRI 4.7.4 to use a new serial library. Depending on your exact circumstances, you may need to do some migrations:

Known problems with this release

New warnings for this release:

Since JMRI 4.7.5 This version of JMRI (and all later) writes a slightly streamlined version of panel file contents. Older files should still be readable by this version of JMRI, but files written by this version may not be readable by versions before JMRI 4.2 depending on their contents.

Since JMRI 4.7.5 The LocoNetOverTCP server has changes that may break scripts that reference it. Scripts refering to the class jmri.jmrix.loconet.loconetovertcp.Server need to refer instead to jmri.jmrix.loconet.loconetovertcp.LnTcpServer.

Since JMRI 4.7.3 This release will not start cleanly if installed over earlier versions of JMRI (the Windows installer ensures this is not an issue). Remove the JAR files jackson-annotations-2.0.6.jar, jackson-core-2.0.6.jar, and jackson-databind-2.0.6.jar from the lib directory within the previous installation directory to resolve this.

Since JMRI 4.7.1 JMRI no longer supports the portable paths resource: or file: that were deprecated in JMRI 2.13. When loading a panel, an error message will be displayed if the panel contains a path that starts with resource: and the panel will not load until changed using an external editor. Paths starting with file: cannot be automatically flagged because JMRI allows file: URLs.

Since JMRI 4.7.1 The LocoNet Server (the LocoNetRMI service; not the LocoNetOverTcp service) in this version of JMRI doesn't properly interoperate with JMRI 4.7.1 through JMRI 4.7.4. It does work fine with JMRI version 4.6 or before. If you encounter a problem with version compatibility, you'll see an error message that includes "local class incompatible". The workaround is to update both client and server JMRI machines to the same JMRI version.

Since JMRI 4.7.1 JMRI applications will not load a panel file that fails XML validation; an error will be shown that should explains the error, allowing it to be fixed using an editor. (The explanations remain a work in progress.) The usual cause of something like this is (imperfect) manual editing of the file, but it can happen for multiple reasons. If you encounter this, try these things:

It's a good idea to keep a copy of the original file as you work on this, just in case.

Older warnings

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

Since JMRI 4.5.6 As part of fixing the TMCC throttle issue, the handling of TMCC preferences was changed. If you have a TMCC connection configured, please go to the "Defaults" pane in the Preferences window and make sure that the TMCC connection is selected for the appropriate device types.

Since JMRI 4.5.2 This and future releases of JMRI may not function on MacOS / OS X if the Java SE 6 provided by Apple is installed, but it may be reinstalled with other software programs. macOS operating system updates routinely remove this version of Java SE 6. Please raise any issues concerning this on the user's group. To remove Java SE 6 from macOS / OS X, follow these steps (these steps assume JMRI is installed in the folder /Applications/JMRI. If you've installed it in a different location, adjust the following paths as needed):

  1. Open Terminal.app.

    OS X El Capitan only: Reboot into Recovery Mode by restarting your Mac and pressing Cmd-R until the Apple logo appears. Once in Recovery Mode, select Terminal from the Utilities menu.

  2. Run the command /Applications/JMRI/PanelPro.app/Contents/Resources/uninstall-java6.sh
    It can take up to a half hour to complete. Wait for the message Removed Apple Java SE6.

    OS X El Capitan only: Run the command bash /Volumes/Macintosh\ HD/Applications/JMRI/PanelPro.app/Contents/Resources/uninstall-java6.sh /Volumes/Macintosh\ HD
    It can take up to a half hour to complete. Wait for the message Removed Apple Java SE6.

  3. OS X El Capitan only: Restart your Mac.

Since JMRI 4.5.2 Support for directly executing AppleScript within JMRI has been removed due to changes in macOS and Java outside our control. If you require the ability to use AppleScript, you may be able to add this capability on your own by visiting JMRI AppleScript Support, but please be aware that this may not work on upcoming releases of macOS or Java.

Since JMRI 4.5.1 Internal turnouts and sensors need to have complete, individual system names. The names "IT" and "IS" (without any suffix) are no longer permitted: "IT12" is fine, but just "IT" is not. Most panel files that contain these should automatically migrate them to new names when saved, but in some cases you might need to manually update them.

Since JMRI 4.3.3 You can now set the order of your startup items: If you're opening panel files, running scripts, etc as the program starts up, there's a preferences pane that lets you easily set the order in which those happen. If you've set the order manually (e.g. by editing configuration files) in the past, please check this preference to make sure it's set the way you want.

Since JMRI 4.1.2 Jython has been upgraded to version 2.7.0 with the following potentially breaking changes:

Since JMRI 4.1.1 Decoder definitions that use the "ivariable" form are now deprecated. Definitions included with this release have been converted to the new form. If you have decoder definitions with the older "ivariable" form, they will no longer validate, but can still be used for the first couple of test releases in this series. Please ask on the JMRI users Yahoo group for help converting them, or just drop them and use the current definitions.

Download links:

Please note that the download links in this and future JMRI releases link to Github servers. If that doesn't work for you, the files are also still available from the SourceForge.net servers. Please let us know of any problems.

Changes since production release 4.6:

The full lists of changes in each of the preceding test releases (4.7.1, 4.7.2, 4.7.3, 4.7.4, 4.7.5, 4.7.6, 4.7.7, 4.7.8) are available in our GitHub code repository.

DecoderPro

Hardware Support

Bachrus Speedo

C/MRI

DCC++

Digitrax

MERG CBUS

Roco z21/Z21

SPROG

ZTC

New / Updated decoder definitions

Arnold

BLI

Digitrax

Doehler & Haas

ESU

Hornby

Kuehn

Lenz

TCS

SoundTraxx

Viessmann

ZIMO

Dispatcher

Layout Editor

Logix

Operations

Panel Editors

Roster

Turnouts, Lights and other elements

Scripting

Signals

Signal Systems

Signal Heads

Signal Masts

Signal Groups

NX Entry/Exit Logic

USS CTC Logic

Warrants

Web Access

Internationalization

Virtual Sound Decoder

Miscellaneous