Release Notes for JMRI 5.15.1 release
Date: December 16, 2025
From: Bob Jacobsen
Subject: Test Release 5.15.1 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.15.* test releases.
It requires at least Java 11 to work.
We recommend that you use Java 21 if possible.
(See our page on downloading Java)
We expect this series to result in the next JMRI production release in July 2026.
(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:
- The serial communications library that JMRI uses has been updated.
If your JMRI installation is having trouble communicating with your
model railroad hardware, please contact us on
the JMRI users group.
Older warnings
See the
JMRI 5.14 release note for more warnings predating the 5.15 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.
We recommend that you use Java 21.
Java 8 is explicitly not supported.
There's more information on this migration on the
JMRI Tech Road Map and
JVM Capabilities pages.
- If you're using a Firefox web browser and opening JMRI
help files locally (not over the web), a Firefox bug
can sometimes cause it to enter a loop. There's a
workaround in
this JMRIusers post.
Download links:
These files are located in the
CI project page.
-->
The
full list of included changes is available from our
GitHub code repository.
Hardware Support
Digitrax
- Fix bug, PR4 Stand-alone Loconet
- Fix STL Editor bug introduced in PR 14625.
New / Updated decoder definitions
Piko decoders
- Add scale G decoders, support new firmware versions
TAMS
- The LD-W-32.2 decoder has been added.
DecoderPro
- Fixed a problem causing the starting value when doing
CV reads to erroneously be zero.
- When opening a roster entry with a large decoder definition,
DecoderPro now defers some of the processing until later while
opening the tabbed programming panes sooner. You may see a
pane with "Wait for pane contents to be loaded". The contents
should appear within a few seconds.
Dispatcher
- Defer calling "loadAtStartup" until the layout data file loading is done and
layout block paths have been initialized.
- Create, terminate, open throttle, extend, terminate from LEPanel.
LogixNG
- Warning
Tables and panels files created with this version or later
and that's using the LogixNG action Error
cannot be opened in earlier JMRI versions.
- The LogixNG action Error has an improved
error message which allows using a local variable or a
formula for the error message.
- LogixNG Tables can now be placed on Panel Editor panels.
The table can be read-only, editable or that only some
columns are editable. It's also possible to have buttons
and comboboxes in the table on the panel.
Panel Editor
- LogixNG Tables can now be added to a
Panel Editor. The table can be edited and that's is useful
if the user needs to change values in a table.
It's recommended to use Fixed size for
the LogixNG Table on the panel. To move the table, use
Set Location since it's not currently
possible to move the table on the panel using the mouse.
The width of the columns can be changed by dragging the
divider of the column headers. The new width will be
stored when the tables and panels file is stored.
The table is not stored when the tables and
panels file is stored.
It's optional to use a LogixNG Module to validate input
from the user. If a LogixNG Module is selected, it will
be called after the user has edited a cell, before the
new data is written to the cell. If the data is invalid,
the Module can abort the editing by calling the new
LogixNG action Validation Error in the
category Flow Control. It's possible
to add an error message to the Validation Error
to be shown to the user.
A LogixNG Table on a Panel Editor panel
can also have buttons and comboboxes. If the user clicks
on a button, the validation module can then do something.
And a combobox allows the user to select an item from a
list instead of typing it.
Scripting
- The TransitActionsReport.py has been added. It is used to display
the transit section actions. When the script is run, a dialog displays the list of
transits. If none are selected, a complete report is created.
Throttle
- Fixed a problem causing the Function Panel's buttons
to be improperly laid out.
Web Server
- JSON Schema support has been upgraded from draft-04 to draft-2020-12,
providing improved validation capabilities and modern schema features
for JSON API responses. This includes updates to 95 JSON schema files
and the underlying NetworkNT JSON Schema Validator library (from 1.0.28 to 1.3.3).
Miscellaneous
- (Developer) Updated build.xml so Ant builds work with Java 25
- (Developer) Updated SpotBugs checker to version 4.9.8. If you use Ant
to do SpotBugs checks locally, i.e. by running "ant spotbugs-check",
you will need to update your local version to 4.9.8. See our
SpotBugs page.
- (Developer) JMRI distributions, starting with this one, will now
be built with the Java 11.0.29 JDK.
- The jSerialComm library that JMRI uses has been updated from version
2.10.4 to version 2.11.4.