Release Notes for JMRI 4.1.2 release
Date: September 18, 2015
From: Matthew Harris
Subject: Test version 4.1.2 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 versions. We expect this series
to end in the next JMRI production release around the end of 2015.
Some of the changes involved are quite extensive.
They may require a certain amount of experience before they are working well.
Therefore, this test version 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.
Known problems with this release
None at release time.
New warnings for this version:
Mac OS X 10.11 El Capitan requires signed drivers for USB adapters. If you've upgraded
from an earlier version, your drivers may not work. That will cause JMRI to throw errors
when it doesn't find communications links. To fix this, go to the website for your
adapter manufacturer, find the drivers that are listed to work with Mac OS X 10.9 or later,
download, and install, then retry JMRI again.
Jython has been upgraded to version 2.7.0 with the following potentially breaking changes:
- The decodeJmriFilename() function is no longer available by default. Use the FileUtil.getExternalFilename() method instead.
- The simple propertyListener object is no longer available by default. Create your own, following the examples provided in the jython folder in the JMRI distribution.
- jmri_defaults.py included in the JMRI distribution is no longer executed by default, but will be executed before any other Jython scipts if included in your User Files location.
- The default behavior of python.cachedir.skip is now true. If using a custom python.properties file, include "python.cachedir.skip=false" in that file.
- As supplied, the 'MakeOriginalDecoderPro.py' script no longer functions as a result of this change. This is fixed in JMRI 4.1.3.
- Scripts larger than 100,000 characters cannot be run. This is fixed in JMRI 4.1.3.
Older warnings
See the
JMRI 4.0 release note for warnings predating the 4.1 development series.
Decoder definitions that use the "ivariable" form are now deprecated. Definitions
included with this release have been converted to the new form.
If you have decoder definitions with the older "ivariable" form, they will no longer
validate, but can still be used for the first couple of test releases in this series.
Please ask on the JMRI Users group
for help converting them, or just drop them and use the current definitions.
Download links:
Please use these links for downloading:
Changes since test release 4.1.1:
Hardware Support
JMRI Simple Server/JMRI Client
- Fixed bugs in both the JMRI Simple Server and JMRI Client
that prevented reporter information from being passed from
the server to the client.
- Fixed bugs in both the JMRI Simple Server and the JMRI
Client that caused the server crash when a lower case
letter was used in the transmitted prefix.
- Make client attempt to reconnect if the connection is
closed unexpectedly.
LocoNet
- More work on the LN SV2 programming protocol.
Please see the
documentation page.
It's basically ready for people to
start defining board definition files.
A basic definition is available
under "Public Domain and DIY" decoders, then
"LNSV2-using boards".
- LocoNet Monitor now decodes LN SV2 programming protocol messages.
- A programmer mode for the original LocoIO boards,
which use the LN SV1 programming protocol,
is also available.
A basic DecoderPro decoder definition is available
under "Public Domain and DIY" decoders, then
"Hans De Loof LocoIO".
- You can now configure a connection to a
Bluetooth LocoBridge adapter
in the Digitrax connection preferences.
NCE
- Dave Heap added display of USB & Serial computer cab context pages to the NCE Cabs Monitor.
OpenLCB
- The OpenLCB support library has been updated to version 0.6.5
RFID
- Network connections to RFID readers are now possible. Each connection
configured into JMRI can talk to a single RFID reader, or to multiple ones
through a MERG-style concentrator or equivalent. JMRI can have
as many RFID readers connected via network connections as desired.
- Oscar A. Pruitt provided the implementation to support RFID readers using the EM-18 protocol
New / Updated decoder definitions
ESU
Dave Heap made the following changes:
- Preliminary support for ESU LokSound Select L.
SoundTraxx
-
Updated the Econami Steam to use a separate SoundPane to warn about
the issue with the chuff and 'original' Econami decoders.
The value range now supports 0-255, but 'original' Econami decoders
will go silent if value is >127.
Soundtraxx will reprogram the decoder to allow the new range.
Operations
- Improved the train build when using aggressive mode and small move counts in a train's
route. Now there's a slight bias to pick up an extra car during the first couple of passes.
- Improved the "Change Train Departure Times" tool to also adjust departure times in a
train's route.
Roster
- Clarify if an entry will be deleted from the Roster or from a group in the context menu. (Randall Wood)
- Allow a multiple selection of entries in the Roster or a group to be deleted. (Randall Wood)
Scripting
- Support for running ECMAScript and JavaScript from external files has been added in all cases except within Jynstruments.
- Jython has been upgraded to version 2.7.0.
- Any Java-compatible ScriptEngine can be included by including the ScriptEngine JAR file in the JMRI Classpath.
- The decodeJmriFilename() function is no longer available by default. Use the FileUtil.getExternalFilename() method instead.
- The simple propertyListener object is no longer available by default. Create your own, following the examples provided in the jython folder in the JMRI distribution.
- jmri_defaults.py included in the JMRI distribution is no longer executed by default, but will be executed before any other Jython scipts if included in your User Files location.
- The default behavior of python.cachedir.skip is now true. If using a custom python.properties file, include "python.cachedir.skip=false" in that file.
Miscellaneous
- A bug that caused panels not to be stored when empty AudioBuffers had been created via a script has been fixed. (Matthew Harris)