Release Notes for JMRI 5.1.6 release
Date: November 5, 2022
From: Bob Jacobsen
Subject: Test Release 5.1.6 of JMRI/DecoderPro is available for download.
Notes:
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 5.1.* test releases.
It requires Java 11 to work.
(See our page on downloading Java 11)
We expect this series to end in the next JMRI 5.2 production release in December 2022.
(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 a version older than JMRI 4.24, please follow these instructions carefully:
- Is your current version older than JMRI 4.12?
If so, then update to JMRI 4.12 first, and ensure everything works correctly: check
start-up, check things you need to be working, and check the JMRI log as well) before doing anything else.
Store your configuration and panel files under a new name and use those from now on.
Then continue with step 2.
If you are currently using JMRI 4.7.3 or earlier on Linux or macOS (Windows doesn't need this),
then it's very important
that you update to JMRI 4.12 and
carrying out the migration process described in the JMRI 4.12 release note
before updating to any later release.
- Is your current version older than JMRI 4.20?
Then update to JMRI 4.20 first, and ensure that works correctly (check
start-up, check things you need to be working, and check the JMRI log as well) before doing anything else
Save your preferences again.
Store your configuration and panel files under a new name, use those from now on, and go on to step 3.
- Is your current version older than JMRI 4.24?
Then update to JMRI 4.24 first, and ensure that works correctly (check
start-up, check things you need to be working, and check the JMRI log as well) before doing anything else
Save your preferences again.
Store your configuration and panel files under a new name and use those from now on.
- You can then install this release.
Following this multi-step order of updating via stable major releases safeguards you against possible migration issues
that can arise from skipping these versions.
New problems with this release
- Panels with a memory input icon or a memory spinner icon fails to load. This will be fixed in the next test release 5.1.7.
New warnings for this release:
Older warnings
See the
JMRI 5.0 release note for more warnings predating the 5.1 development series,
including pointers to various migration issues.
These may be relevant to you if you're updating from an earlier version;
we strongly recommend you update to at least
JMRI 4.20
before installing this test release.
- Since JMRI 4.99.1
This test release, and all subsequent ones, require the use of
Java 11 or later. Java 8 is explicitly not supported.
There's more information on this migration on the
JMRI Tech Road Map and
JVM Capabilities pages.
- Since JMRI 4.99.1
This version no longer reads ZeroConf IPv4 and IPv6 preferences
written with JMRI 4.16 and before. Please make sure to upgrade
to JMRI 4.20 (or later) and save your preferences before
updating to this version if you have configured the WiThrottle preference pane.
Download links:
The
list of included changes is available from our
GitHub code repository.
Hardware Support
EasyDCC
- Now able to use turnout numbers up to and including 2044.
LocoNet
- Slot Monitor Table can be saved to CSV File via new File Menu.
- Added connection-specific titles to the menu apps.
LogixNG
- LogixNGs can now be inline in panels. Right-click on a icon on a panel and
select LogixNG -> Inline to add a LogixNG to a icon on a panel. Inline
LogixNGs can be viewed by menu item Tools -> LogixNG -> Inline LogixNGs.
When a ConditionalNG is executed that's inline, two special local variables will
be defined:
- __InlineLogixNG__ : The name of the icon
- __Editor__ : The name of the editor of the icon
- Note that these two has two underlines at the beginning and end of the name.
- Fixes a serious bug when deleting a LogixNG. Not all ConditionalNGs of
that LogixNG was deleted but that's fixed now.
- Update the Global Variable table browser to provide detail information.
- LogixNG Formula now supports the boolean XOR operator ^^.
- The ConditionalNG editor and the Module editor now have the option
Paste copy. With it, you can paste from the clipboard as many times
as needed.
- The action Request update of all sensors has been added. It requests
that all sensors gets updated from the layout.
- The action Create beans from table has been added.
- The action Find table row or column has been added.
- Adds support of multiple types of CSV files to LogixNG Tables.
Tab separated files are the default, but you may choose Comma
as the separator. This allows you load CSV files created by
spreadsheet programs.
- The expression Power now supports the Idle and Unknown
states. Therefore the option Other has been renamed to On or Off.
A Power expression that had the state Other now has the state On or Off,
with Is/IsNot inverted.
- The expression Power can now ignore the Unknown state. Most
power managers in JMRI sets the state to Unknown before changing the state. This might
cause problems when using the expression Power with IfThenElse with ExecuteOnChange.
- Additional shortcut keys have been added to the ConditionalNG editor.
- Ctrl + Shift + R: Remove socket
- Ctrl + Shift + D: Enable
- Ctrl + D: Disable
- For macOS, use Cmd instead of Ctrl.
- The Formula function writeMemory is added. It's in the NamedBean category.
- Fixes a bug that crashed the LogixNG debugger when debugging a ConditionalNG
that calls LogixNG Modules.
Scripting
- A new script GrandReset.py has been added. The
script deletes all Transits, Sections and SignalMastLogics.