Release Notes for JMRI 4.11.7 release
Date: June 15, 2018
From: Bob Jacobsen
Subject: Test Release 4.11.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 next in a series of test releases. We expect this series to end in the next JMRI production release around the middle 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.
Required Migration StepSince JMRI 4.7.4JMRI 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:
- If you are using JMRI on Linux or Mac OS X and are updating from an older JMRI version,
you must open the JMRI preferences and make sure that the selections are
correct for your serial device(s). Be sure to save the changes.
In general, previous versions used serial device names like "/dev/cu.usbserial-ABC123FG". This version will generally omit the prefix, and use serial device names like "cu.usbserial-ABC123FG". (If given the choice if a name starting with "tty" and one starting with "cu", pick the "cu" one). See the before and after images to the right.
- If you are using Linux and have previously used the "JMRI_SERIAL_PORTS" option to make sure your serial device is visible to JMRI, you'll have to change that to use the "purejavacomm.portnamepattern" option instead. See the JMRI Linux install page for more information.
If you have your own JMRI scripts to access a serial device, you'll have to update
their library references:
import gnu.iostatements will have to be replaced by
- More generally, any reference to
gnu.io, e.g. a reference to a class like
gnu.io.SerialPort, statements will have to be replaced by a reference to the corresponding
Known problems with this release
New warnings for this release:
Older warningsSee 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.4 The additions to Layout Editor in JMRI 4.11.4 mean that files containing Layout Editor panels written by JMRI 4.11.4 or later will fail a validation check in JMRI 4.11.3 or earlier. If you back-date your JMRI version and need to to get past this, please bypass validation.
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 "setSymLinks.sh" 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:
- Do not turn on the track power until the power supply to the Pi-SPROG ONE is turned on
- Do not enable extra debugging through default.lcf, nor open the system console window
- Do not open the SPROG console window
- Disable power conversion (CV 29) in all locos
- If connecting via VNC (or similar), setup the screen layout before turning on the track power
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.9.4 Due to changes in the capitalization of some method and property names, some scripts may fail until adjusted to use the new capitalization. The Javadocs for any JMRI class will list the correct capitalization.
Since JMRI 4.9.4 For Windows users only: JMRI 4.9.3 (and all later) has a new version of the "LaunchJMRI.exe" program. It's used to set options as JMRI is starting up, and is a completely normal part of JMRI. Because it's new and different, however, your anti-virus program may reject it. You might get a message about "file removed" or "file quarantined" or similar and then JMRI might not start. The solution is to make sure that your anti-virus program doesn't interfere with JMRI's installation and running. There are so many of those, unfortunately, that we can't really provide useful instructions beyond that.
Since JMRI 4.9.2 JMRI saves the Uhlenbrock connection's "baud" rate as an Internationalized string, and, upon loading a configuration profile, requires an Internationalized "baud" rate in the .XML file. JMRI will fail to properly configure the serial port if the "baud" rate from the configuration profile does not match one of the baud rate strings for the current Internationalization "locale". If you experience problems where JMRI start-up of a Uhlenbrock-based connection does not configure the serial port, it may be necessary to edit the connection's preferences, select the appropriate "baud" rate, save the connection. This updates the configuration profile XML file to use one of the "baud" rate strings expected by the Uhlenbrock-specific code in JMRI. It is necessary to re-start JMRI for this change to take effect.
Since JMRI 4.7.6 If you're having trouble getting your DCC programmer to work, try checking that the "Defaults" under "Preferences" are set to your hardware system. The reason: This version of JMRI (and all later) provides more options for "default systems": If you have multiple sets of hardware attached, which should be 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.
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
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
cannot be automatically flagged because JMRI allows file: URLs; these will have to
be changed manually.
Since JMRI 4.7.1 When loading a panel file, JMRI applications now check the file's syntax and contents. This process is called "XML validation" If validation fails, an error message is shown that should explain the error, allowing it to be fixed using an editor. (The explanations remain a work in progress.) If you have a problem loading a panel file, please
- Configure your JMRI startup to first run the jython/TurnOffXmlValidation.py script which will suppress the error. This script needs to be run before your panel is loaded.
- Write out a new version of the panel file (after saving a backup!)
- Use that new version from now on.
- And drop use of the jython/TurnOffXmlValidation.py script.
Since JMRI 4.5.2 This and future releases of JMRI may not function on OS X if the Java SE 6 provided by Apple is installed. OS X 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 OS X, follow these steps (these steps assume JMRI is installed in the folder /Applications/JMRI, if not, adjust the following paths as needed):
- Open Terminal.app.
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.
- Run the command
/Applications/JMRI/PanelPro.app/Contents/Resources/uninstall-java6.shIt can take up to a half hour to complete. Wait for the message Removed Apple Java SE6.
El Capitan only: Run the command
bash /Volumes/Macintosh\ HD/Applications/JMRI/PanelPro.app/Contents/Resources/uninstall-java6.sh /Volumes/Macintosh\ HDIt can take up to a half hour to complete. Wait for the message Removed Apple Java SE6.
- 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.
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.
- OS X / macOS: https://github.com/JMRI/JMRI/releases/download/v4.11.7/JMRI.4.11.7.R18be81d.dmg
- Windows: https://github.com/JMRI/JMRI/releases/download/v4.11.7/JMRI.4.11.7.R18be81d.exe
- Linux: https://github.com/JMRI/JMRI/releases/download/v4.11.7/JMRI.4.11.7.R18be81d.tgz
Changes since Test release 4.11.6:The list of included commits is available from our GitHub code repository.
- Chuck Catania improved the CMR/I support:
- Added cpNode 8 bit card support.
- Changed Test Type from radio buttons to Test Suite combo box.
- Added required test hardware description for each test suite.
- Moved poll node and send command functions to Diagnostics. PacketGen class will be deprecated in the future.
- Created Test Set Up panels for each test suite with appropriate test configuration parameter fields.
- Changed bit pattern displays to have bits move from low order (right) to high order (left).
- Updated Loopback test selection to include input and output card selection with optional bit state inversion.
- Updated Send Commands test setup to include Initialize Node, Poll Node, and Write Bytes functions.
- Karl Lisby added Ops-mode programming (POM - Programming on Main) for ECoS firmware version 4.2.3
- Jan Boen fixed a major bug in how Senors were handled
New / Updated decoder definitions
- Petr Šídlo fixed a bug on the PD/DIY UNI16ARD decoder definition
- Stuart Brorson provided the decoder definition for the SDD-001
- Egbert Broerse fixed a problem with CV7
- Petr Šídlo fixed the decoding logic for "Public Domain and DIY" decoders
- Steve G refactored the Dispatcher LoadAtStartUp to allow jython access to dispatcher load
- Dave Sand fixed a problem where the wrong default value was assigned to an unoccupied block
- Dan Boudreau made improvements.
- Fix bug where cars in a kernel weren't redirected from alternate track.
- Check for "&" characters in car's load name
- Add 'Copy Track" tool to Locations window
- Print or Preview all items in a Schedule
- Improved export cars, added more attributes
- Fix bug with clear and select all
- Enhanced edit track loads by locations
- Add car status to print car roster
- Bug fix for import cars.
- The set masts at slip process was displaying a dialog about a missing combo box block selection when the block has already been assigned to the slip switch. This made it impossible to assign signal masts to block boundaries at slip switches. Dave Sand fixed it.
- Steve Tood improved handling of disabled flag and disable-when-occupied on turnouts in web panel
- The web server is providing directory listings again
- Luis Zamora added a lot of Catalan translations
- Petr Šídlo improved the Czech translation
- Egbert Broerse improved how Warrants are internationalized
Virtual Sound Decoder
- Engine gain now is adjustable for steam1 and diesel3 engine types. Please see the documentation website for details.
- Add debug menu item to install TrainCrew application
- Add help page for Manifest Creator
- Improved, but perhaps didn't entirely fix, a problem that caused JMRI to hang during startup
- Egbert Broerse improves transit action signal labels
- Many updated help pages