Release Notes for JMRI 5.5.6 release
Date: November 10, 2023
From: Bob Jacobsen
Subject: Test Release 5.5.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.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)
We are getting close to the next production release, so we would particularly
appreciate your testing of this release to make sure it works for you. That way,
if you find new problems, we can try to fix them before the production release.
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:
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.
- This release, and all previous ones, have an incompatibility between
MacOS 13.6 or later and the SPROG support. The fix for this will be
in
JMRI 5.7.1.
when it's available.
Note that this issue only impacts the
combination of SPROG and certain MacOS versions. If you're not using a Mac or
not using an SPROG, this will not effect you.
- 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
- Since JMRI 5.5.5
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.
- Since JMRI 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.
Download links:
These files are located in the
JMRI 5.5.6 GitHub release.
The
list of included changes is available from our
GitHub code repository.
Hardware Support
- Eckart Meyer has provided a first implementation
for the
BiDiB
system connection.
DCC++ and DCC-EX
Digitrax
- Fix NPE, and decode Extended Accessory Signal Aspect IMM commands
- Fix LnSendTool.py to correctly send signal aspects up to 255 NMRA 2.4.3
MQTT
- Fixed an issue in introduced in 5.5.5 where the incorrect default topics were used for Direction and Function. The documenation was correct but the code wasn't.
- Updates to most recent OpenLCB Java library, which includes
- Better status logging of save and restore operations
- Allows user to change the default backup filename using
a script like
jython/LCC/ChangeDefaultBackupFileName.py
- Fixes a problem that could cause the configuration dialog
to not open for certain nodes, including the DCC-LCC Gateway.
- Fixes the display of the "Simple Protocol" availability bit
- Added Window and Help menus to the Configure Node window.
- The Configure Nodes window will now remember your selected sort order
from one run to the next.
- Added Window and Help menus to the Configure Node window.
- Added support for multiple OpenLCB connections in Signal Masts add/edit dialog.
- Added GUI Icons for OpenLCB signal masts in the add/edit dialog.
- Fixed a bug where doing Quit while a CDI window is open with changes
didn't properly handle user response to the Cancel/Quit dialog box.
RFID
- New Getting Started document
- Script to update Car/Locomotive Tables when new/changed RFID tag seen
New / Updated decoder definitions
Digitrax
- Updated the Series 7 SFX decoder definition.
LEB
Piko decoders
- Add Decoders for Piko BR 93 TT XP 5.1 Sound, Piko BR 55 TT XP 5.1 Sound, Piko Smart Decoder XP 5.1 Sound Blank
- Support of Decoder XP5.1 FW 1.1 to FW 1.9 and Update Decoder Definitions, Changing pane layout
Public Domain and DIY decoders
- FREDi - Cleanup; Removed obsolete (leftover) settings from one of the sub-files
SoundTraxx
- TSU2/BLU/ECO ID update with some model additions
DecoderPro
- Fixed a bug that prevented output labels from
properly showing up in some decoder definitions.
Dispatcher
- Check each section against reserved sections for conflicting blocks.
- Do not turn off block alternate colour when it has already be reallocated.
- Add TransitAction TERMINATE
- Add TransitAction LOADTRAININFO
- Process Delays for Active/InActive sensor actions
- Process delays for OnTrainStop
- Remove delays for Exit Section as they cannot be processed
Layout Editor
- The LogixNG Icon has been added to the toolbars. The LogixNG Icon can run inline
LogixNGs by clicking on the icon or text label when converted to text.
- The Audio Icon has been added to the toolbars. The Audio Icon can play a sound
on a web panel, for example a Tablet.
NX - Entry/Exit Tool
- Fix Both Way route selection.
LogixNG
- Note: If tables and panels are stored with this JMRI version, the file
might not load in a previous version of JMRI if it includes LogixNG. This is because JMRI
now stores some LogixNG data in a different way than before.
- The expression Timer has been added. It returns False
until some time has passed. It then returns True once and the timer starts
again. This expression is intended to be used together with the action Sequence
.
- The action Throttle function has been added. It's similar to the action
Throttle, except that it only sets a function, not speed or direction, and
that it doesn't have any child actions.
- The action Sequence is now safe to use in LogixNG modules. The action
had a bug which made it sometimes fail if it was used in a module and that module was called
from several ConditionalNGs at once.
- When a LogixNG was created and ConditionalNGs
was created for that LogixNG, the ConditionalNGs
wasn't executing until restart of JMRI if the
ConditionalNGs had the Startup
flag unchecked. That's fixed now.
- Warrant expression was not listening for warrant events. Fixed along with the long
description.
- Add the GET_BLOCK_WARRANT and GET_BLOCK_TRAIN_NAME
OBlock actions to the OBlock Logix import.
- The action Timer has been improved. It can now be used within a
LogixNG module. It also supports local variables to tell the different delays for the
timers in the Timer action.
To use the Timer action in a LogixNG module, have an Always true
expression as Start expression for the Timer action, together with the
option Start/Stop by Start expression selected.
- The action Audio icon on web panel is added to the category
Display. This action can tell an Audio icon on
a Panel editor to play the sound when the panel is shown in a web browser, for
example on a tablet or mobile phone.
- The action Block and the expressions Block,
Dispatcher and Sensor has been refactored.
Operations
- Improvements to the car, locomotive, and train preview and print tools.
- Minor improvement to the train build report when routing.
- Improvements to the router when determining a valid route where multiple trains are using the same route.
- Updates to the OperationsPro help.
- To see all changes to OperationsPro, use the link below
- OperationsPro Changes
- Script to update Car/Locomotive Tables on update to Id Tag Table User Name
Panel Editor
- It's now possible to select an icon below another icon. Right-click on
the icon to open the popup menu of the icon. If there are any icons at the
mouse position below this icon, the sub menu Icons below
will appear at the end of the popup menu. The sub menu will contain all
the icons below this icon. These menu items will open the popup menu for
for its icon.
- A new Audio icon has been added to Panel Editor.
It can be used to play audio on a web panel, or let the user start
playing sound in JMRI by clicking on the Audio icon. When editing the
panel, the popup menu for the icon has a new sub menu Web
panels that sets the options for how the icon should act on
a web panel.
If the icon is used to play sound on a web panel, the option
Hide when not editing might be useful if the user
shouldn't see the icon. The icon plays the sound even if it's not
visible.
The LogixNG action Audio icon on web panel can be
used to tell the Audio icon to play the sound when
it is displayed on a web browser, for example on a tablet or mobile
phone.
Preferences
- Each startup action now has an Enabled checkbox
so that each startup action can be enabled/disabled.
Signals
Signal Systems
- The Italian FS-1987 signal system was updated for better operation.
Web Access
- JMRI Web Frame Server can now access many of the Dialog popup boxes.
Other Tools
- The Power Control now defaults to display all connections.
Miscellaneous
- (For developers) Our CI process has been updated to require the
@Override annotation on overriding methods and removal of unused import statements.
- Fixed a validation errors in the xml/schema/auxiliary-configuration.xsd file.
- Fixed a problem where the run/pause button would not properly show when the
Nixie, LCD or Pragotron clocks were resized.
- Fixed a problem that prevented JMRI from launching on macOS if Java 21 was in use.
(Java 11 is still the recommended one)