Release Notes for JMRI 5.5.5 release
Date: Oct 7, 2023
From: Bob Jacobsen
Subject: Test Release 5.5.5 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.5.* 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.6 production release in December 2023.
(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.
We would appreciate your feedback on it.
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 5.0, 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.
- Is your current version older than JMRI 5.0?
Then update to JMRI 5.0 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
- MQTT Connection - Version 5.5.5 used the incorrect default MQTT topics for Throttle Direction and Function.
They had the same topic instead of individual ones.
The documentation was correct but the code wasn't.
If that affects you, please use
JMRI 5.5.7 or later.
New warnings for this release:
-
XML files with table contents and panels have been changed in JMRI 5.5.5. It's therefore not
possible to load an xml file with tables and panels that has been created with JMRI 5.5.5 or
later with a JMRI version pre 5.5.5.
-
MQTT Connection - Throttle loco address and function placeholders in MQTT topics have changed from
$address and $function to {0} and {1} for consistency with other objects.
Older warnings
See the
JMRI 5.4 release note for more warnings predating the 5.5 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 5.0
before installing this test release.
See
instructions above.
- 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 5.3.2
Some images in the resources/icons folder have been renamed.
Spaces have been changed to underscore. It's images in the
resources/icons/ItalianSignals/ACEI,
resources/icons/ItalianSignals/Prototypical,
resources/icons/smallschematics/aspects/NW-1981,
resources/icons/smallschematics/aspects/NYC-1956,
xml/signals/FS-1987, xml/signals/NW-1981,
xml/signals/NYC-1956 and resources/icons/SNCF/Small
folders that have been renamed. If you are using these images directly, you will need to update the reference.
- Since JMRI 5.3.7
The definition of "Last Seen" for Id Tags has been
clarified to mean "Location where the tag was last seen to be present".
Previously, a report that a tag was absent could be remembered as the
last seen report. The relevant code changes are specific to LocoNet
Reporters. This might affect your scripts and LogixNG if you were assuming
the prior behavior.
- Since JMRI 5.3.7
Some Reporters, particularly LocoNet, would improperly clear an "enter" report
when an "exits" report for the same tag was seen elsewhere. This was an
error that has been fixed, but if you have scripts or LogixNG that depend on
this behavior you might have to update them.
- Since JMRI 5.5.3
LocoNet Server and LocoNet Client have been removed.
If you are using these, you need to change the connection to
LocoNet over TCP instead.
- Since JMRI 5.5.3
Scripts that output Logging statements with log4jv1.x ( org.apache.log4j ) imports will stop working
from JMRI 5.5.4 and should be updated to use SLF4J logging.
See here for some examples on how to do this.
- Since JMRI 5.5.4
Custom default.lcf Logging Control Files will cease to take effect from JMRI 5.5.4
To create a custom default_lcf.xml in the new Logging Configuration format, see
JMRI Debugging and Logging
Download links:
These files are located in the
JMRI 5.5.5 GitHub release.
The
list of included changes is available from our
GitHub code repository.
Hardware Support
Hornby
- DecoderPro can now identify products in the HN7000 decoder family.
MQTT
- Fixed issue with invalid throttle speed message causing MQTT to disconnect
- Improved robustness of MQTT Event Listener exception handling
- Fixed issue with MQTT LWT messages
- Changed throttle loco address placeholder in MQTT topics to {0} for consistency with other objects
- Changed throttle function placeholder in MQTT topics to {1} for consistency with other objects
- Added the invert option to OpenLCB/LCC Turnouts.
- Added the ability to send Identified message as Valid/Invalid/Unknown
to the Send Message tool.
- Fixed a bug that could cause an exception when closing a configuration window.
- Better aligned the Event IDs displayed in the monitor window.
New / Updated decoder definitions
SoundTraxx
- Added a definition for the Blunami PNP8.
Technologistic (train-O-matic)
- Support for the latest v6 firmware version of the Lokommander II decoders.
- productID support for all train-O-matic decoders, allows for automatic decoder detection.
DecoderPro
- Now looks for .txt extension on files being
imported from the LokProgrammer.
Dispatcher
- In auto trains, after stopping, or going to manual, resume correctly even if in a section with no signal.
Layout Editor
- add option(s) for restoring block values, issue #12459
LogixNG
- A new LogixNG icon has been added to Panel Editor.
When the icon is clicked, it will execute the inline LogixNG of that icon.
If the inline LogixNG has several ConditionalNGs, the ConditionalNGs will
be executed in the order they got created.
- A new option is added to the ConditionalNG table when
editing a LogixNG. By default, all the ConditionalNGs are executed when the
panel is loaded if the LogixNG is enabled. But if the Startup
checkbox is unchecked, the ConditionalNG will not be executed when the panel
is loaded. This is in particular useful for the LogixNG icon
that's added in this JMRI version.
- A new tool Where Used has been added to LogixNG.
It shows where in the LogixNG tree an item is used. The tool is found
on menu item Tools ⇒ LogixNG ⇒ Where Used.
- A bug in the LogixNG action Logix has been fixed. The Logix
feature When triggered didn't work with the LogixNG action
Logix but has now been resolved.
- The action On Change has been renamed to Logix Action.
- The action Audio and the expression Audio
no longer let the user select an Audio buffer when edition the action/expression.
LogixNG can only act on or listen to Audio sources and the Audio listener so there
is no point in selecting an audio buffer for LogixNG.
Operations
- New tools "Preview and Print Car routing report" in the "Set Car" window that provides
the train routing for a car that has a final destination.
- New tool "Show Staging and Schedules by Car Type and Load" in the "Schedules" window that
shows which car types and loads are shipped from staging.
- New feature for spurs, the ability to prevent a car's load change. Useful when the
spur/schedule is used for a RIP track.
- New feature for staging, planned pickups.
Panel Editor
- A new LogixNG icon has been added to Panel Editor. When the icon is
clicked, it will execute the inline LogixNG of that icon. If the inline LogixNG has several
ConditionalNGs, the ConditionalNGs will be executed in the order they got created.
Preferences
- The Shutdown preference has two options for ignoring special kinds
of changes. The first is to ignore fast clock changes, the second ignores the text and
background color changes for sensors that have been changed to panel labels.
- The startup action Open file has been renamed to
Load table content and panels.
Scripting
- YAAT: Change function number limit from 28 to 68.
- YAAT: Add a random delay time: Wait for <n> [to <n>] seconds
Web Access
- Web tables: add click toggle for several additional columns
- JSON Server: support for updating SignalHead and SignalMast Lit and Held
Virtual Sound Decoder
- Take actual speed instead of nominal speed for the distance calculation
(impact for steam1).
- New option "chuff-fade-out" for steam1, see the
documentation.
Miscellaneous
- Improved Unrecoverable Error Dialog.
- JMRI now has a "Software Bill of Materials" (SBOM) distributed with it.
Although this won't matter to most users, it allows people to determine
via the standardized SPDX mechanism the libraries that JMRI contains and
the versions being used. Providing this is a small step toward more automated
distribution.
- UI improvements for the
Display / Edit Log Categories dialog.