Release Notes for JMRI 4.15.7 release
Date: June 1, 2019
From: Bob Jacobsen
Subject: Test Release 4.15.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 test releases.
We expect this series to end in the next JMRI production release during early Summer 2019.
(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 JMRI 4.11.9 or earlier, we strongly recommend that you update to
JMRI 4.12 and make sure that's running OK before
updating to this test release. Once you have JMRI 4.12 running OK,
store your configuration and panel files and use those from then on.
There have been a number of
changes in serial port support, panel file format and configuration options since those earlier releases,
and moving to the stable JMRI 4.12 release
is a good way to work through any possible problems.
If you are currently using JMRI 4.7.3 or earlier on Linux or macOS (Windows doesn't need this),
you must
update to JMRI 4.12 and
carrying out the migration process described in the JMRI 4.12 release note
before updating to this release.
Known problems with this release
- MERG CBUS - Throttle direction changes are not always sent to the Layout, resolved in 4.17.2
New warnings for this release:
- Since JMRI 4.15.7
In some cases, existing C/MRI, TMCC, Oaktree, and Maple users
might have to reset the connection rate in the preferences before a
serial connection will work with this version. You only have to do this once, and only
if the connection doesn't start up OK after updating from an earlier JMRI version. In that
case, open the Preferences, go to the Connection pane, check the box for Advanced Preferences
so they're visible, set the baud rate (connection speed) to some other value,
then set it back to the correct one (this is so JMRI sees a change and stores it properly),
then Save and restart. For example, if you want your C/MRI serial line to run at 19.200,
you should open the Preferences, change the speed selection (in Advanced Preferences) to 9,600
then back to 19,200, then save your preferences and restart.
- Since JMRI 4.15.7
The version of the JSON protocol used for JMRI web access has been bumped to version 5.0 due to backwards incompatible
changes to make different JSON objects more internally consistent and to accomodate the ability to remove some
objects. See the JSON Version
History for more details.
Specifically, due to underlying changes in the Operations web access,
train manifests will need to rebuilt before web access to train manifests works.
Older warnings
See the JMRI 4.14 release note for more warnings predating the 4.15
development series. These may be relevant to you if you're updating from an earlier version.
- Since JMRI 4.15.6
Remembering the location and size of layout panels created and maintained
using Layout Editor, Panel Editor, Control Panel Editor, and Switchboard
Editor is no longer dependent on saving the panel. The location and size
values are retained using the same processes used by other JMRI windows. This
makes the window management behavior consistent. To continue using the
old behavior, go to Preferences >> Display and enable
Use old location and size logic for editor panels.
- Since JMRI 4.15.6
Starting in JMRI 4.15.6, Memories
must have valid system names of the form "IM" folllowed by something.
"IM123" and "IMEAST" are both valid.
The system name "IM", all by itself, has never been valid, but JMRI
will now be enforcing that:
- You won't be able to create a memory with that name via
the Memory table or scripts
- If you have that name in a panel file, an error will be
logged and the panel file won't load. You'll have to
remove it from he file or rename it in the file
before loading it.
JMRI needs to start enforcing this in preparation for some
future code that will appear later this year.
- Since JMRI 4.15.5
The handling of Turnout system names has been updated
to be (more, hopefully completely) consistent with the
planned approach.
Specifically, case now (generally) matters in system names:
- You can now have an internal turnout named "ITsome lower case name".
- But note you can no longer refer to "ITSOME LOWER CASE NAME" or
"ITSome LoWeR cAse Name" and get the same one.
This should not require any migration for stored configurations or
panel files, as they have been automatically been being kept consistent
since JMRI 4.8. But you might have case errors in i.e. scripts which
will fixing inconsistent references in your scripts.
Of course, bugs are always possible. If you find a place where
names seem to be handled inconsistently, please let us know!
- Since JMRI 4.15.4
The calculation of Turnout Addresses for the
Direct DCC Accessory Command ("a" command) mode
has been fixed (commands are now sent to the correct accessory address rather
than 4 less than the nominated hardware address). For pre-existing panels,
changes will need to be made to either the actual decoder address or the panel.
If help is required, ask on the
jmriusers group.
- Since JMRI 4.15.3
The prefix that identifies a layout connection should be a single letter, like "N" or "L",
or a letter and some digits, like "K2" or "D3". Some older systems used to have
longer "legacy system prefixes" like "DX", "DCCPP", "DP", "MR", "MC", "PI", and "TM".
Those legacy system prefixes
will now cause JMRI to issues a warning at startup. In this release, JMRI will
still work with those prefixes, but they will need to be migrated to the proper form soon;
JMRI 4.17.1 and later will require that this have been fixed.
Therefore, this warning can't be suppressed
without migrating the prefix in the connection configuration (and any associated
panel files and scripts).
If you're getting this warning and therefore need to do that migration,
migration page.
- Since JMRI 4.11.4
There are issues with the Pi-SPROG One command station operation. A number of workarounds should be applied:
- Do not turn on the track power until the power supply to the Pi-SPROG ONE is turned on
- Do not enable extra debugging through default.lcf, nor open the system console window
- Do not open the SPROG console window
- Disable power conversion (CV 29) in all locos
- If connecting via VNC (or similar), setup the screen layout before turning on the track power
Pi-SPROG One with version 2.4 or earlier firmware will cause a timeout after a track short circuit. A dialog box will
open to inform the user of this. The track power will be turned off and must be turned on again using the power control.
Download links:
Please note that the download links in this and future JMRI releases link to
Github servers.
People are welcome to distribute the download files further via other websites, etc.
If you want to check that you've received original, unmodified versions, please
check the files against the checksums shown below.
The
list of included commits is available from our
GitHub code repository.
Hardware Support
LocoNet
-
Track Current support for the DCS240,DCS210 and DCS52 has been added.
-
Turnouts can now be configured to send only a single LTnnn command (ON)
instead of an ON followed by OFF, and turnouts can also be configured
to bypass a command station "Bushby" feature as described in Command Station Turnout Command Rejection Avoidance Strategies
MERG CBUS
SPROG
- Added fixes for SPROG bootloader client
New / Updated decoder definitions
CT Elektronik
- Nigel Cliffe added a decoder definition for the
NGS custom CT decoder
Digitrax
- Fixed an issue in CV11 of SFX Series 6 decoders
Lenz
- Added connection option for the Lenz LZV200
Layout Editor
- Color for new tracks is now consistent within a single Layout Editor.
- Turnouts, level crossings, track segments and positional points (A/EB/EC) cannot
be deleted if signal heads, signal masts or sensors have been assigned to the item.
Also, an edge connector cannot be deleted if the link is defined.
Operations
- Due to underlying changes in the Operations web access, train manifests will need to rebuilt before web access to train manifests works.
Turnouts, Lights, Sensors and other elements
- The table and manager containing the element are no longer listed as items using the element when deleting the
element in the delete confirmation dialog. The count of items using the element shown in the delete confirmation
dialog now match the number of items shown to be using the element.
Scripting
- 2 lines in scripts that use the
DCCThrottle.py Jynstrument may need to be added,
Insert after line 141
New line 142 : def notifyDecisionRequired(LocoAddress, decision):
New line 143 : pass #
These changes were made to enhance the JMRI Steal / Share mechanism for hardware types that support this.
Signals
Signal Masts
- Output Matrix Signal Masts now allow to set a mast-specific delay interval between the individual
commands sent to the connected Turnout outputs.
- A bug was fixed that wrote the wrong mast system name as Comment in the Turnout outputs.
Web Access
- JSON clients can now add, edit, or remove Blocks, IdTags, LayoutBlocks, Operations Locations, Operations Cars,
Operations Engines, Operations Tracks, Reporters, and Sensors.
- JSON clients using WebSockets can now include an
id
property in the message to match a direct response
to a message to the original message.
- The JSON protocol version has been bumped to version 5.0 due to backwards incompatible
changes to make different JSON objects more internally consistent and to accomodate the ability to remove some
objects. See the JSON Version
History for more details.
- JSON schema are, with the exception of consists, usable, even when JMRI is running on a computer not connected to
the internet. See the JSON
Schema for more details.
Miscellaneous
- The
jmri.util.ColorUtil.stringToColor()
method now throws an
IllegalArgumentException
if unable to turn a String into a Color instead of returning the Color Black.
- The Help Index and Table Of Contents were updated and expanded to include the current Hardware
systems.
In the process we discovered that additional instructions for many of the new tools are welcome.