Release Notes for JMRI 4.7.2 release
Date: March 14, 2017
From: Bob Jacobsen
Subject: Test Release 4.7.2 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 second in a series of test releases. We expect this series to end in the next JMRI production release around the middle of 2017. (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.
Known problems with this release
New warnings for this release:
- (none at this time)
Older warningsSee the JMRI 4.6 release note for warnings predating the 4.6 development series. These may be relevant to you if you're updating from an earlier version.
(Since JMRI 4.7.1) JMRI no longer supports the portable paths
were deprecated in JMRI 2.13. When loading a panel, an error message will be displayed
if the panel contains a path that starts with
resource: and the panel will
not load until changed using an external editor. Paths starting with
cannot be automatically flagged because JMRI allows file: URLs.
(Since JMRI 4.7.1) JMRI applications will not load a panel file that fails XML validation; an error will be shown that should explains the error, allowing it to be fixed using an editor. (The explanations remain a work in progress.)
(Since JMRI 4.5.6) As part of fixing the TMCC throttle issue, the handling of TMCC preferences was changed. If you have a TMCC connection configured, please go to the "Defaults" pane in the Preferences window and make sure that the TMCC connection is selected for the appropriate device types.
(Since JMRI 4.5.2)This and future releases of JMRI may not function on OS X if the Java SE 6 provided by Apple is installed. OS X operating system updates routinely remove this version of Java SE 6. Please raise any issues concerning this on the user's group.
To remove Java SE 6 from OS X, follow these steps (these steps assume JMRI is installed in the folder /Applications/JMRI, if not, adjust the following paths as needed):
- Open Terminal.app.
El Capitan only: Reboot into Recovery Mode by restarting your Mac and pressing Cmd-R until the Apple logo appears. Once in Recovery Mode, select Terminal from the Utilities menu.
- Run the command
/Applications/JMRI/PanelPro.app/Contents/Resources/uninstall-java6.shIt can take up to a half hour to complete. Wait for the message Removed Apple Java SE6.
El Capitan only: Run the command
bash /Volumes/Macintosh\ HD/Applications/JMRI/PanelPro.app/Contents/Resources/uninstall-java6.sh /Volumes/Macintosh\ HDIt can take up to a half hour to complete. Wait for the message Removed Apple Java SE6.
- El Capitan only: Restart your Mac.
(Since JMRI 4.5.2)Support for directly executing AppleScript within JMRI has been removed due to changes in macOS and Java outside our control. If you require the ability to use AppleScript, you may be able to add this capability on your own by visiting JMRI AppleScript Support, but please be aware that this may not work on upcoming releases of macOS or Java.
(Since JMRI 4.5.1)Internal turnouts and sensors need to have complete, individual system names. The names "IT" and "IS" (without any suffix) are no longer permitted: "IT12" is fine, but just "IT" is not. Most panel files that contain these should automatically migrate them to new names when saved, but in some cases you might need to manually update them.
(Since JMRI 4.3.3) You can now set the order of your startup items: If you're opening panel files, running scripts, etc as the program starts up, there's a preferences pane that lets you easily set the order in which those happen. If you've set the order manually (e.g. by editing configuration files) in the past, please check this preference to make sure it's set the way you want.
(Since JMRI 4.1.2) 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 invaliderror, 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.
(Since JMRI 4.1.1) 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 Yahoo group for help converting them, or just drop them and use the current definitions.
Download links:Please note that the download links in this and future JMRI releases link to Github servers. If that doesn't work for you, the files are also still available from the SourceForge.net servers. Please let us know of any problems.
- OS X / macOS: https://github.com/JMRI/JMRI/releases/download/v4.7.2/JMRI.4.7.2-R741b21f.dmg
- Windows: https://github.com/JMRI/JMRI/releases/download/v4.7.2/JMRI.4.7.2-R741b21f.exe
- Linux: https://github.com/JMRI/JMRI/releases/download/v4.7.2/JMRI.4.7.2-R741b21f.tgz
Changes since test release 4.7.1:The list of included commits is available from our GitHub code repository.
- The problem creating or changing C/MRI preferences was fixed.
JMRI Simple Server/JMRI Client
New / Updated decoder definitions
- Wayne Geary provided a number of spelling fixes that covered a number of decoder files.
Doehler & Haas
Norsk Modelljernbane (NJM)
New Options menu items:
- Highlight Selected Block -- Use the alternate track color to verify track component block assignments.
- ToolBar Side -- Position the tool bar on top (default), left, bottom and right. There is also a Float option which creates a toolbox that can be moved anywhere on the screen.
- Wide ToolBar -- Force the top and bottom tool bars to use the wide mode which may result in horizontal scroll bars.
- Drop Down List Display Order -- Select which names (user and/or system) to use for drop down combo boxes. This will affect the sort order. Changes will take effect the next time you start PanelPro. Note: This feature is not completely functional yet.
Tool bar changes:
- Mutually exclusive checkboxes have been changed to radio buttons. Related fields are enabled as needed.
- All text fields, except for text labels, have been changed to drop-down combo boxes with appropriate content, such as sensor names for the Sensor Icon.
- Tabs are used to group related toolbar items.
- Clicking on the Close button hides the ToolBox. Use the Window menu to make it visible.
- Clicking on the Minimize button creates an icon on the operating system task bar.
- Bug that disabled operation of zoomed multisensors is fixed.
Turnouts, Lights and other elements
- Added "TurnOffXmlValidation.py" sample script to turn off validation when reading XML (panel) files
NX Entry/Exit Logic
- The look ahead problems of a Warrant are fixed. Paths of routes are maintained automatically. Trains resume running their scripts automatically when signals or rouge occupations are cleared ahead of them.
- Warrants normally grant rights of track access solely to only one train. It now is possible to allow several warrants to share portions of their route. A 'Clearance to Share Route' checkbox has been added.
- The NXWarrant window now is populated with defaults configured in Preferences. Users depending on the default 'throttle speed factor' may notice a difference in train speeds when trains respond to track conditions. Use of speed profiles and input of distances of block paths enables more precise calculation of train movements.
- A 'Fast Acting' warrant has been added that makes instant speed changes upon entering an approach block. This warrant type also shares routes.