Release Notes for JMRI 5.3.7 release
Date: June 9, 2023
From: Bob Jacobsen
Subject: Test Release 5.3.7 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.3.* 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.4 production release in June 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.
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:
- 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.
- 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.
Older warnings
See the
JMRI 5.2 release note for more warnings predating the 5.3 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 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.1.7
The way defaults for some LocoNet connections are handled has changed.
Existing LocoNet connections might give a "The Defaults preferences are invalid"
warning when saving preferences. In that case, click "yes" and then go set
all the default radio buttons on the "Defaults" pane to the LocoNet connection. (You can also
click "no", but you'll get the message next time you store too)
- 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.3
The code for Loconet programming operations was significantly changed.
If you encounter any (new) troubles programming via Loconet, please get in touch on the
JMRIusers list.
Download links:
The
list of included changes is available from our
GitHub code repository.
Hardware Support
CBUS
- The default behavior for CBus Reporters has been changed to
not clear the report after a timeout. A new
CbusReporterTimeoutControl.py script is provided to
restore the previous behavior: After a timeout, the
report is cleared. The script also demonstrates how to
get a more granular control over this behavior.
- Improved Throttle support for 14 and 28 Speed Steps.
DCC++ and DCC-EX
- Set Turnout userName from Description when defined in myAutomation.h
- Support fastclock synchronization to DCC-EX
ESU
- Updated how initialization is done to fix a problem where Sensors
where not being properly located and operated.
LocoNet
- The handling for LocoNet Reporters (i.e. transponding)
has changed. See the description
below.
- Improved the timeout handling in the Strict packetizer.
- Fixed a problem where sometimes buttons in the Slot Monitor
would disappear.
Roco z21/Z21
- Add a delay to read/write programming operations on the main.
This is intended to help when doing reads of indexed CVs.
TMCC
New / Updated decoder definitions
Piko
- SmartDecoder XP5.1 - updated lowVersionID, changed CV7-8 to use include file
- Added Decoder Reset and CV for Decoder Test for Piko SUSI Decoder (Light decoder)
Uhlenbrock
- Extension with additional CVs for the Extended Function Mapping
ZIMO
- Small correction to the files for FW v39 and v40
- Added MN Non-Sound Decoders
- Added new CV's for MS- and MN-Decoders
DecoderPro
- Add an "Export Variables to CSV" menu item in the
File menu on individual roster entries.
- Now shows a progress bar while exporting all roster entries,
so that you don't try to use the resulting file too soon.
Layout Editor
- Fix the Tools ⇒ Check bezier options. Remove a bogus error message.
LogixNG
- Add "Entry/Exit" to the "For each" action bean list.
Operations
- New staging feature, the ability to have multiple trains on one physical staging track.
- Improved OperationsPro help, paper size, additional links from TOC
- Many improvements to the train build report, car divisions, spurs and schedules, track type, etc.
- A car's wait count is now set to zero if the car's load name is changed
- Track tools now function as soon as track is added
- Made "ignore all" the default setting for the car set window
Control Panel Editor
- Restored the linking input field when adding labels. This had been
inadvertently removed some time in the past.
Scripting
- New AnyRail/AnyRailExportAdditions.py. For use with AnyRail export. Creates hardware occupancy Sensors and Turnouts,
cleans up the generated Blocks, and does some visual tweaks of the panel.
- New CreateSectionsFromBlocks.py. For each defined occupancy block, attempts to create a one-block Section
- New AddOccupancyIconsToPanel.py. Create and place SensorIcons and BlockContents for each occupancy Block on a panel
- Add binding "beans" for NamedBeanHandleManager
- Add a Set turntable position statement to YAAT.
- New InitAllTurnoutsSensors.py. Sets all physical turnouts to the CLOSED state and all known physical sensors to the INACTIVE state.
- Implement YAAT 3. The updated help page at
YAAT Help has the details of the changes.
Signals
Signal Systems
- The BR-2003 system now has medium-size semaphore icons.
Signal Masts
- CheckForNull annotation added to the getAspect method.
Throttle
Some minor internal cleanup.
If you select a roster entry, the throttle displays functions up to the
least of the number of functions available
from the layout connection, or the maximum function in the decoder
definition.
For most decoders, this will be 28,
but there are a few definitions that are larger or smaller.
Added a consist selector in the address panel
Added a "Consist Tool" button in the address panel
Behavior with consists enhanced
Consist Tool
- The "Consist Control" entry in the "Tools" menu was renamed "Consist Tool"
- Consist tool now leverages locomotives icons when available
- A consist selection combo box was introduced
Turnouts, Lights, Sensors and other elements
- Fixed a bug in the Reporter Table that was causing the
Last Report column to actually display the Current Report.
Note that this is just a display bug; the underlying value and
property change notifications are correct, so this change won't
affect scripts, LogixNG, etc.
- 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 marked as the
last seen report. Not all hardware Reporters provide entry/exit reports, as
some just indicate that something has been observed in place; their "Last Seen" behavior
has not changed.
- 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.
Virtual Sound Decoder
- The VSD windows now remember their size and position from one run to another.
Miscellaneous
- Improved how window preferences are stored to reduce error messages
when JMRI is under high load.
- Update the JMRI install process for Raspberry Pi computers running the Raspberry Pi OS.
- Updated the roster and locomotive schema and the locomotive DTD to accept current contents.
JMRI has been writing extra content in its roster, and the schema and DTD files had not
kept up. This resolves that.
- The JOAL library has been updated to run natively on Apple Silicon machines.
- The JInput library has been updated to run natively on Apple Silicon machines.
- Added a new jmri.util.swing.CountingBusyDialog utility class.
- Fixed the XML Schema for IdTags