Release Notes for JMRI 5.7.6 release
Date: April 12, 2024
From: Bob Jacobsen
Subject: Test Release 5.7.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.7.* 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.8 production release in June 2024.
(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
New warnings for this release:
Older warnings
See the
JMRI 5.6 release note for more warnings predating the 5.7 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.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.
- Since JMRI 5.7.1
Several systems have had extensive updates to their serial
support. If you have trouble connecting to your layout hardware
after installing this version, please contact us
on the JMRIusers list
for assistance.
Download links:
These files are located in the
JMRI 5.7.6 GitHub release.
The
full list of included changes is available from our
GitHub code repository.
Hardware Support
DCC++ and DCC-EX
- New connection setting to extend the transmit startup delay
- Transmit startup pause now resumes when incoming message received
DCC4pc
- Improved how traffic is displayed in the monitor window.
MQTT
- Fixed issue with consists not being activated if created after the controlling throttle was created.
- Fixed issue where JRMI may generate a non-unique client id when connecting to the MQTT broker - see Warnings.
- Improved new Turnout address validation.
- Updated the openlcb.jar file with
PRs through 258.
- Protected against an error that could occur on startup
if JMRI has trouble reaching the network interface on Windows.
- CDI configuration window now displays min and max values in the
tooltip and enforces max/min values for integer input.
The "Write" button is disabled when an out-of-range input has been entered.
- Improved how Datagram Acknowledged and Datagram Rejected are
displayed in the Monitor window.
Powerline
- Fix a problem what would cause the DMX512 connection to loop on startup.
New / Updated decoder definitions
Kuehn
- Added function decoder F060
Lenz
- Update the Lenz Plus 2010 definition to include recent versions.
Piko
- New decoder file for Piko H0 KM ML4000 loco with special light decoder
Uhlenbrock
- Small error corrections Uhlenbrock decoder file
ZIMO
- MX decoder versions with new hardware added
- CV's for new hardware versions added
- Settings for shunting speed corrected (CV124 Bit0-1)
- minor corrections
DecoderPro
- Label & Media pane, throttle function button "lock" behaviour was renamed as "latch", as per issue #12975. Documentation updated accordingly.
Dispatcher
- Replace boolean ResistanceWheelSet with TrainDetection, which supports...
- Whole Train - the entire train is detected.
- Head Only - only the front of the train can be detected.
- Head and Tail - the front and rear are detected but not any bits in between.
- Any TrainInfo files that are edited will be saved in the updated way and cannot be read by older versions.
- ActiveTrain - now fires property change events when Allocated Section are added and removed. Previously only fired event on add.
- When finding no next allocated section, 1st check for end of transit.
LogixNG
- A bug has been fixed in LogixNG when using LogixNG tables:
If an action or expression, for example the action Set turnout,
reads data from a LogixNG table, for example the name of the turnout, and a
memory is used for addressing the row or column in the table, the name of the
memory was stored in the wrong place in the file. JMRI deals with this when
the file is loaded so no user should be affected.
But if an existing file is loaded and then stored, the file will not work
with JMRI versions pre 5.7.6.
- ConditionalNGs can now be enabled/disabled by editing a LogixNG.
- Scripts invoked by a ConditionalNG or Module can access current local
variables. This makes it possible to use local variables as parameters for Jython scripts.
See
LogixNG Reference Chapter 13 for details.
- The action Window to front has been improved and renamed to
Window management. It can now show/hide a window,
maximize/normalize/minimize a window and move the window to front or back.
- The class jmri.jmrit.logixng.actions.NamedBeanType has been moved to
jmri.jmrit.logixng.NamedBeanType. It should only affect JMRI developers.
Scripting
- YAAT 3.2: Add Hold and Release commands for signal heads and signal masts.
Signals
Signal Systems
- Improved the FS-1987 signal system.
Throttle
- Throttle function button "lockable" behaviour was renamed as "latchable", as per issue #12975. Documentation updated accordingly.
Web Access
- add filter capability to web /tables
Web Server
- json: add whereLastSeen and whenLastSeen elements to type "car"
- help: restore examples showing json syntax
- home: don't hide /json and /simple links
Miscellaneous
- Improved the Italian translation around file locations and turnout states.