Release Notes for JMRI 4.19.3 release
Date: mmm dd, 2020
Subject: Test Release 4.19.3 of JMRI/DecoderPro is available for download.
This is a draft release note only; the download links do not yet work
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 in early summer 2020. (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.
Update From Older JMRI Versions
If you are currently using JMRI 4.11.9 or earlier, we strongly recommend that you update to JMRI 4.12 and make sure that's running without errors during startup or on the JMRI log. Once you have JMRI 4.12 running OK, store your configuration and panel files and use those from then on. There have been 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.
If you are currently using JMRI 4.17.7 or earlier, including if the previous paragraphs convinced you to update to JMRI 4.12, we strongly recommend that you update to JMRI 4.18 and make sure that's running without errors during startup or on the JMRI log. Once you have JMRI 4.18 running OK, store your configuration and panel files and use those from then on. There have been changes panel file format and configuration options since earlier releases, and moving to the stable JMRI 4.18 release is a good way to work through any possible problems.
Known problems with this release
New warnings for this release:
Manager.getSystemNameArray()has been removed after being deprecated for two years. Please migrate to using
Manager.getNamedBeanSet()instead. If you really must have an array, use
Older warningsSee the JMRI 4.18 release note for more warnings predating the 4.19 development series, including pointers to various migration issues. These may be relevant to you if you're updating from an earlier version.
- Since JMRI 4.19.1
JMRI now enforces the standard form of system names,
where the system is denoted by a single letter or a letter plus digits.
Some users of JMRI 4.18 or earlier might have incompatible values.
If you have one of these hardware connections:
- Anyma DX512 using “DX”
- DCC++ using “DCCPP"
- DCC4PC using “DP"
- JSON client using “json”
- MRC using “MR"
- Marklin CS2 using “MC"
- Raspberry PI using “PI"
- TAMS using “TM”
- Since JMRI 4.19.1
getBeanBySystemNamecalls in the various
Managerclasses are no longer needed with Java 8 and have been deprecated for eventual removal. Their replacements are
getBySystemNamerespectively. If you use
getBeanBySystemNamein script or Java code you've written, please switch to the new names.
- Since JMRI 4.17.5 JMRI's scripting support now defaults to the UTF-8 character encoding for all script files on all platforms. This may require that some scripts be re-saved using UTF-8.
- Since JMRI 4.17.5 Windows Only The JMRI installer removes the existing lib folder from a JMRI installation when upgrading JMRI. The existing lib folder contents are retained in the backup folder. This means that any files you have added to the lib folder will be removed.
- Since JMRI 4.17.5 macOS Only This version includes changes to how the final .dmg file is built, signed and notarized. This was done to increase compatibility with macOS 10.15 Catalina. Please drag the JMRI icon to the Applications folder to install this release. For more information on Catalina compatibility, see the JMRI web site.
- Since JMRI 4.17.4 Panel file NamedBean items such as Turnouts, Sensors, etc are now written to panel files in order by their Manager system prefix and system name. Previously, they had (roughly) been written in the order they'd be read from the earlier file(s). This will result in a big change to the order the first time a file is re-written, but after that it should be much more stable.
- 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
Download links:During development leading to the actual release, you can find test download files on the continuous integration build page. These are development files, and might not be working at any particular time.
Changes since Test Release 4.19.2:The list of included commits is available from our GitHub code repository.
JMRI Simple Server/JMRI Client
New / Updated decoder definitions
Doehler & Haas
Mistral Train Models
Norsk Modelljernbane (NJM)
Turnouts, Lights, Sensors and other elements
- The JavaCSV API has been replaced with the Apache Commons CSV API. This may impact some scripts. See TurnoutStatePersistence.py for an example of how to use the new CSV parsing API. If unable to use the new API, the JAR for the old API can be downloaded and added to jmri.conf using the --cp:a=path/to/javacsv.jar parameter.
Simple Signal Logic
NX Entry/Exit Logic
USS CTC Logic
- Fixed a problem preventing JMRI application web services from working with iOS 9.3.6
Virtual Sound Decoder
- Fixed a crashing bug with short sequences.
- Added a feature which lets you set the height of rows in the cab display table, so that signal icons can be made fully visible.
- Lots of updates to the organization of the web site so that the sidebars provide better navigation.