Release Notes for JMRI 4.3.1 release
Date: December 31, 2015
From: Bob Jacobsen
Subject: Test version 4.3.1 of JMRI/DecoderPro is available for download.
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 first in a new series of test versions. We expect this series
to end in the next JMRI production release around the middle of 2016.
(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 version should be considered experimental.
JMRI is now only available under the
GNU General Public License. For more information, please
copyright and licensing page.
Known problems with this release
This release has a problem with blinking sensor icons, the blinking animation is broken.
Operations can lockup during a train build if you've selected "Auto HPT" for loco assignment,
and no cars were assigned to the train during the build, and the loco weight is set to zero. The
workaround is to enter a weight in tons for each loco. Fixed in test release 4.3.2.
This release can alter the order of startup items when saving preferences. Order can be restorted by editing the file
profile/profile.xml within the affected configuration profile. This problem is fixed in test release 4.3.2.
New warnings for this version:
The internals of the Layout Editor have been reworked a bit. Please keep an
eye out for any changed behaviors.
See the JMRI 4.2 release note
for warnings predating the 4.3 development series.
These may be relevant to you if you're updating from an earlier version.
The code for handling Panel Editor / Control Panel Editor icons has changed
to better deal with rotating icons. This has changed how opaque vs transparent
icon backgrounds are handled. Please check your panels to make sure we
haven't inadvertently caused a problem, particularly if you've got rotated
icons and/or use have custom icons with transparent backgrounds. If there
are any problems, please send in a copy of your panel file so we can
recreate the problem and fix it.
The configuration is now stored in multiple files within a directory named
inside a Configuration Profile instead of within the file
PanelPro and DecoderPro both should migrate from the old configuration to the new configuration seamlessly.
See JMRI Issue #69 for more details.
Please report any issues at our GitHub project.
The XML schema
for decoder files has been made more precise.
This shouldn't effect people who just use the JMRI decoder definitions as distributed,
because they all work with this more precise version. But if you have decoder
definitions of your own, you may have to update them.
Specifically, the decoder file verification will now reject a few things that it didn't catch before, even though they didn't really work:
- There can be only one label element for a given language on a given variable.
- A variable element has to contain just one type element such as decVal, enumVal, etc.
As a side effect of checking this, the qualifier elements inside a variable now have to
be at the front of the contents, and the label, comment and tooltip elements have to be
at the back. You can't just sprinkle them around and hope the code finds them
(because sometimes in the past the program would miss one; now we require an order we're
sure the code will understand).
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.
- Certain Python scripts are too large to be evaluated in Jython. If a script fails with the
java.io.IOException: Mark invalid error, set "jython.exec=true" in a custom python.properties file or rewrite the script to be less than 100,000 characters per file. Note that when using "jython.exec=true" it may be desirable to run the included script jmri_bindings.py as a startup action to emulate the evaluation environment used when jython.exec=false.
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.
The OpenLCB 0.6.4 library in this version has a bug in its alias
calculations which prevents JMRI from communicating occasionally.
A patch has been submitted to the OpenLCB group, but as they seem no longer interested in maintaining that code, it's not known when this will be fixed.
In the meantime, the workaround is to restart JMRI and/or the hardware node(s)
and try again; that might allocate different alias values.
Please use these links for downloading:
Mac OS X: https://sourceforge.net/projects/jmri/files/test%20files/JMRI.4.3.1-R2b72e88.dmg/download
The list of included commits
is available from our
GitHub code repository
- A problem that prevented use with the Digitrax PR2 has been fixed.
- Fixed filtering in the LocoNet monitor
- This release fixes the breakage from 4.1.6 and 4.2.0
- Greg McCartney provided a definition for the Norfolk and Western 1981 rulebook
New / Updated decoder definitions
- Michael Mosher updated the BLI Diesel P3 definition
Doehler & Haas
- Pierre Billon updated the SH10A decoder definition, improved SUSI support, and made other updates
- Mark Waters fixed errors in Lighting output Behavior in CVs 127 to 132 for Zimo decoders
- Mark Waters updated the Zimo MX633 and MX634 decoder definitions
- Mark Waters provided new decoder definitions for the Zimo MX618 and MX622 decoders
- New feature to save all train manifest created by the program. See "Options" under
tools in the "Settings" window. Useful when you need to review an old train manifest.
- New feature for classification / interchange tracks, you can now specify that only cars
with final destinations are accepted by the C/I track. See "Track Destinations" in the
operations help for more information.
- Improved manifests and switch lists with regards to cabooses and cars with FRED that
are swapped during a train's route. Previously the caboose wasn't listed at the end of the
train, but where in the route it needed to be blocked for a proper set out, now correctly
listed at the end of the train.
- Export cars and locomotives now includes an "Out of Service" remark under the column
- The "Show Schedules by Car Types and Load" window has been enhanced by allowing all car
types and loads to be selected. Selecting both will give you a summary of all schedules that
- New feature, you can now label a locomotive as a "B" or booster unit. B units are never
assigned to a train requiring a single loco. B units should never appear as the lead loco in a
manifest or switch list. "B" units are configured by model name.
- The locomotive model name has the "hyphen" feature where the program won't print after
a hyphen followed by a left parenthesis.
- More build report enhancements. Including a check to see if any cars or locos in
staging have been assigned to a train that isn't the one being built.
- The "Routes" window now shows the maximum train length in each route.
- You can now sort and print your trains by their description.
- If "Auto Save" is enabled, the program will automatically save your files when you
close the program or the Trains window. You will not longer get a prompt to save the operation
- Json manifest files are now saved in their own directory called "jsonManifests". These files
are used to create the operation web manifests.
- Fixed a problem where the program didn't use the road or model specified in the build
options for locomotive changes in a train's route, and the option "Build loco consist from
single locos" was selected.
- Fixed a minor problem with train icons animation when there was a locomotive change in
a route, and two or more locomotives were individually assigned to the train.
- Preference (in Display->GUI) to let you set how long a tooltip will be shown. (Dave Heap)
- The file chooser you used to pick the script file that is run by Conditional Action
now starts at the script default directory.
- Pete Cressman continues to improve the code to rotate icons to different orientations.
The most recent change was an update to icons what have their content set and are then rotated.
There are lots of special cases, and we're not sure we've found them all yet.
If you have any issues around rotating various kinds of icons, please don't
hesitate to get in touch.
- The default port is now 12090 instead of a random port in the Dynamic
and/or Private Ports range. Automatic selection of a random port has
been removed. (Randall Wood)
- Update of JMRI website navigation up to current tools and system support, Table of Contents grouped by activity, styling of older Help pages and broken links & icons fixed, Hardware help pages share a common scheme (some items were moved up/down), Manuals page focussed on supported versions, OS X install page updated (Egbert Broerse)
- Sonny Hansen improved the Danish translation with help from Matt Harris.
- A script to disable or enable IPv4 and IPv6 support in zero configuration networking, named
zeroconf-preferences.js, can be run from the
jython directory in the JMRI distribution. This may help some users having issues with the iPhone WiThrottle app. (Randall Wood)
- Fixed problem preventing "Validate XML File" from working as a Start Up Action or Button (Dave Heap).
- Added a default explanation to empty programmer tabs and enabled viewing of same if "Show empty tabs" is enabled. (Dave Heap)