Release Notes for JMRI 4.12 release
Date: July 13, 2018
From: Bob Jacobsen
Subject: Production Release 4.12 of JMRI/DecoderPro is available for download.
We are very pleased to announce that the 4.11 series of JMRI test releases has resulted in a
version that's good enough to be recommended for general use, including by new users.
We're therefore making that version, "Production Release 4.12" available for download today.
Notes:
JMRI is now only available under the
GNU General Public License. For more information, please
see our
copyright and licensing page.
Required Migration Step
Since JMRI 4.7.4
JMRI was updated in JMRI 4.7.4 to use a new serial library. Depending on your exact
circumstances, you may need to do some migrations:
- If you are using JMRI on Linux or macOS / OS X and are updating from an older JMRI version,
you must open the JMRI preferences and make sure that the selections are
correct for your serial device(s). Be sure to save the changes.
In general, previous versions used serial device names like
"/dev/cu.usbserial-ABC123FG". This version will generally omit the prefix, and
use serial device names like "cu.usbserial-ABC123FG".
(If given the choice between a name starting with "tty" and one starting with "cu",
pick the "cu" one). See the before and after images to the right.
-
If you are using Linux and have previously used the "JMRI_SERIAL_PORTS"
option to make sure your serial device is visible to JMRI, you'll have
to change that to use the "purejavacomm.portnamepattern" option instead.
See the
JMRI Linux install page for more information.
-
If you use your own JMRI scripts to access a serial device, you'll have to update
their library references:
- Any
import gnu.io
statements will have to be replaced by
import purejavacomm
statements.
- More generally, any reference to
gnu.io
, e.g. a reference to a class like
gnu.io.SerialPort
, statements will have to be replaced by
a reference to the corresponding
purejavacomm
class.
Known problems with this release
- This release will occasionally set the default connection
to internal, which prevents programming decoders. One
symptom is getting 123 every time you read a CV.
This is fixed in
JMRI 4.14.
We recommend you update to that version.
Warnings for this release:
See the JMRI 4.10 release note for more warnings predating the 4.11 development series.
These may be relevant to you if you're updating from a version earlier than JMRI 4.10.
When running JMRI using Java 9 or Java 10,
the script import statements need to be fully-qualified:
in addition to 'import java', you might need 'import java.beans'
and others.
Since JMRI 4.11.8
Some new display capabilities were introduced into Layout Editor
during JMRI 4.11-series development.
This release changes some of the defaults in this area, which might
change the appearance of some track segments on your panels if they're
still using default values. If you select them and change their properties,
then save your panel file(s), you can restore their previous appearance.
There's a
PDF document
with more details.
We apologize for the inconvenience.
Since JMRI 4.11.8
Because of changes to the "node identification" algorithm used to tell
one computer running JMRI from another, you might receive a warning message
about the "Node Identity" the first time you run JMRI version 4.11.8 or newer. (If you
have more than one profile, this can happen with each). There's no permanent
problem here, but you might have to reset your window preferences (i.e. position
and size, column layout, etc) in this case.
We apologize for the inconvenience.
Since JMRI 4.11.4
The additions to Layout Editor in JMRI 4.11.4 mean that
files containing Layout Editor panels written by JMRI 4.11.4 or later will fail a
validation check in JMRI 4.11.3 or earlier.
If you back-date your JMRI version and need to to get past this, please
bypass validation.
Since JMRI 4.11.4
If you are running a local website with a copy of the JMRI content, as
described here,
please repeat
the "setSymLinks.sh" step
near the bottom of those instructions
after installing JMRI 4.11.4 (or later). This will make some new formatting available
on your local site.
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.
Since JMRI 4.11.2
The system connection preferences (i.e. hardware preferences) are now
enforcing the correct form
for system prefixes: One upper case letter,
optionally followed by a number (one or more digits, e.g. "L12").
Existing prefixes in existing configurations are unchanged, but
new ones will have to have the correct form.
Since JMRI 4.9.4
Due to changes in the capitalization of some method and property names, some scripts may fail until
adjusted to use the new capitalization. The Javadocs for any
JMRI class will list the correct capitalization.
Since JMRI 4.9.4
For Windows users only: JMRI 4.9.3 (and all later) has a new
version of the "LaunchJMRI.exe" program. It's used to set options as
JMRI is starting up, and is a completely normal part of JMRI. Because it's
new and different, however, your anti-virus program may reject it.
You might get a message about "file removed" or "file quarantined" or similar
and then JMRI might not start.
The solution is to make sure that your anti-virus program doesn't interfere
with JMRI's installation and running. There are so many of those, unfortunately,
that we can't really provide useful instructions beyond that.
Since JMRI 4.7.6
If you're having trouble getting your DCC programmer to work, try
checking that the "Defaults" under "Preferences" are set to your
hardware system.
The reason: This version of JMRI (and all later) provides more options for
"default systems": If you have multiple sets of hardware attached, which
should be used for throttles, for programming, etc. JMRI tries to
guess the right settings for these when you upgrade to this version, but
apparently it sometimes gets that wrong (we haven't been able to track
that down yet). Setting them manually fixes any wrong guesses.
Since JMRI 4.7.3
This release will not start cleanly if installed over earlier versions of JMRI (the Windows installer ensures
this is not an issue). Remove the JAR files jackson-annotations-2.0.6.jar, jackson-core-2.0.6.jar,
and jackson-databind-2.0.6.jar from the lib directory within the previous installation directory
to resolve this.
Since JMRI 4.7.1
JMRI no longer supports the portable paths resource:
or file:
that
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 file:
cannot be automatically flagged because JMRI allows file: URLs; these will have to
be changed manually.
Since JMRI 4.7.1
When loading a panel file, JMRI applications now check the file's syntax and contents.
This process is called "XML validation"
If validation fails, an error message is shown
that should explain the error, allowing it to be fixed using an editor. (The
explanations remain a work in progress.) If you have a problem loading a
panel file, please
- Configure your JMRI startup to first run the
jython/TurnOffXmlValidation.py
script which will suppress the error. This script needs to be run
before your panel is loaded.
- Write out a new version of the panel file (after saving a backup!)
- Use that new version from now on.
- And drop use of the jython/TurnOffXmlValidation.py script.
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.sh
It 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\ HD
It 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. 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.
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 full lists of changes in each of the preceding test releases
(4.11.1,
4.11.2,
4.11.3,
4.11.4,
4.11.5,
4.11.6,
4.11.7,
4.11.8)
are available in our
GitHub code repository.
Hardware Support
- The system connection preferences (i.e. hardware preferences) are now
enforcing the correct form
for system prefixes: One upper case letter,
optionally followed by a number (one or more digits, e.g. "L12").
Existing prefixes in existing configurations are unchanged, but
new ones will have to have the correct form.
Anyma DMX512
- The default system prefix was shortened to "D"
Bachrus Speedo
- Andrew Crosland added persistance to the console
C/MRI
- Chuck Catania improved the CMR/I support:
- Fixed a
formatting problem
with user names on the "List Assignments" window
- Added a
save reminder dialog
upon exiting the C/MRI Node Configuration Manager.
- Added cpNode 8 bit card support.
- Changed Test Type from radio buttons to Test Suite combo box.
- Added required test hardware description for each test suite.
- Moved poll node and send command functions to Diagnostics. PacketGen class will be deprecated in the future.
- Created Test Set Up panels for each test suite with appropriate test configuration parameter fields.
- Changed bit pattern displays to have bits move from low order (right) to high order (left).
- Updated Loopback test selection to include input and output card selection with optional bit state inversion.
- Updated Send Commands test setup to include Initialize Node, Poll Node, and Write Bytes functions.
- Added multiple connection CMRInet metrics and error data collector, CMRInetMetricsCollector
- Created CMRInetMetrics class to display and monitor data
- Added CMRInet metrics tests.
- Added connection memo name to all window titles " - Connection <_memo>".
- Changed Diagnosics frame layout.
- Added node address popup selection to restrict diags to configured nodes
- Test Setup panel shows options for selected test
- Added Inverted option checkbox to Test Setup panel
- Renamed Run Diagnostic menu item to Run Diagnostics
- Fixed multiple connection Diagnostic bug.
- Deleted redundant properties from Diagnostic bundle. Parent has primary properties.
- Changed test node selection to ComboBox, only configured node addresses are displayed.
- Added cpNode 8 bit card support.
- Changed Test Type from radio buttons to Test Suite combo box.
- Added required test hardware description for each test suite.
- Moved poll node and send command functions to Diagnostics. PacketGen class will be deprecated in the future.
- Created Test Set Up panels for each test suite with appropriate test configuration parameter fields.
- Changed bit pattern displays to have bits move from low order (right) to high order (left).
- Updated Loopback test selection to include input and output card selection with optional bit state inversion.
- Updated Send Commands test setup to include Initialize Node, Poll Node, and Write Bytes functions.
- Added Card number to cpNode IOX card assignment pane.
- @Deprecated NodeConfigAction and NodeConfigFrame classes. These were replaced by NodeConfigManager class.
DCC++
DCC4pc
- The default system prefix was shortened to "D"
Direct
- Simulator connection type added. Please test and compare if you have the hardware.
ESU
- Direction changes when running at speed no longer set speed to zero. For further information see:
PR-4945,
PR-4964, and
PR-4965.
- Karl Lisby added Ops-mode programming (POM - Programming on Main) for ECoS firmware version 4.2.3
LocoNet
- Fixed a problem where fast clock messages would sometimes change track power settings.
- During initialization of the LocoNet, certain EXACT-feedback messages will now
set auto-created turnouts to EXACT mode. As part of that, the JMRI Turnout's state
should more accurately reflect the layout state.
- The LocoNet code was updated to fully support multiple hardware connections. Some deprecated
methods were removed, so please update any code relying on those.
- Fixed a crash when configuring certain LocoNet boards
Maple
- Simulator connection type added. Please test and compare if you have the hardware.
Marklin CS2
- The default system prefix was shortened to "M"
MERG CBUS
- Steve Young improved the documentation
MRC
- The default system prefix was shortened to "M"
Oak Tree
- Simulator connection type added. Please test and compare if you have the hardware.
- Processing addresses in Node IDs and Event IDs
has been speeded-up, which will reduce (but not remove)
delays in table scrolling seen on some large layouts.
ProTrak (Grapevine)
- Egbert Broerse added a Grapevine Simulator
connection. Under Additional Options, users can set to receive Node initialization reply messages.
Secsi
- Simulator connection type added. Please test and compare if you have the hardware.
Secsi messages proved rather difficult to analyze.
SPROG
- Andrew Crosland improved appearance and performance
- Improved SPROG Command Station mode
fixes a reported issue to turn Track Power on
- A SPROG Simulator connection type was added
- Egbert Broerse improved the documentation
- 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.
TAMS
- Jan Boen fixed a major bug in how Sensors were handled
- Jan Boen improved the sensor handling
TMCC
- The default system prefix was shortened to "T"
New / Updated decoder definitions
- Wouter from Thurgau, Schweiz added Dutch translations to the NMRA CV tabs
-
The use of
"include" and "exclude"
attributes is now possible with
<enumChoice> and <enumChoiceGroup> elements.
(Dave Heap)
- Petr Šídlo fixed a bug on the PD/DIY UNI16ARD decoder definition
BNM Hobbies
- Stuart Brorson provided the decoder definition for the SDD-001
Digikeijs (Digirails)
- Egbert Broerse improved the documentation
- Egbert Broerse fixed a problem with CV7
DigiRails
- Cees Baarda and Egbert Broerse added a definition for the Digirails DR4018 decoder
Digitrax
- Digitrax Command Station "Operation Switches" (OpSws) may
now be configured and saved via a Roster Entry. The OpSw
configuration information may be saved to the Roster Entry.
Command stations supported include the Digitrax DB150, DCS50,
DCS51, DCS100, DCS200, DCS210 and DCS240. Additional information
may be found at the
Digitrax Command Station Configuration page.
ESU
- Ronald Kuhn and Dave Heap made improvements to the ESU V4 decoder definitions
- Osvaldo Hojvat provided definitions for several
LDH
decoders: models 4F1.5 v27, 2F-7F v26, 4F1.5 v55
and LDH 4F1.5 v55 Motor y Sonido
NCE
- Dave Heap improved the support for the NCE Light-It
Public Domain
- The DecoderPro LocoIO programmer was renamed to match the spelling of
the author's surname. You might see a message to this effect in the Console.
- Some panes were added but the LocoIO programmer is still incomplete and only
experimental.
QSI
- Dave Heap added the FX-U 40 Class (Eureka).
SoundTraxx
- Added Walthers OEM SoundCar decoders and some other minor updates:
- minor label changes to aftermarket SoundCar function map
- tooltips for SoundTraxx CV105/106 (used for version number)
- tooltip for Econami CV218; formula has been fixed in Econami manuals tech ref 1.6 - now same as Tsunami2
- Alain Le Marchand made some updates:
- Steam and Diesel Econami UK version as described on Soundtraxx UK website
- Rework of existing Econami and Tsunami2 files in order to accommodate UK specifics. Notably variable labels have been moved from Econami/Tsunami 2 extended function map pane (ECOenumFnMap.xml) to each individual Econami/Tsunami 2 file,
in order to be used in a generic way by US or UK variants that differ on certain function naming.
- references:
- Econami_Diesel_Users_Guide 1.6 Ref.F
- Econami-Diesel-Tech-Reference 1.6 Rev.E
- Econami_Steam_Users_Guide 1.6 Ref.G
- Econami-Steam-Tech-Reference 1.6 Rev.H
- Michael Mosher added the GP35 Tsunami decoder
TCS
- Michael Mosher updated the TCS WOW diesel definitions
- Michael Mosher added the TCS Wow Electric Bachmann OEM decoder.
Trix Modelleisenbahn
Alain Le Marchand added:
- mLD/3 Märklin Locomotive Decoder (no sound) - 60972, 60982
- mSD/3 Märklin Sound Decoder - 60975, 60976, 60977, 60978, 60979, 60985, 60986, 60987
with definitions available in English, German and French.
Also contains update of the Märklin mLD and mSD decoders.
Umelec
- Wouter from Thurgau, Schweiz updated the ATL2051, ATL2064 and ATL2066 definitions.
ZIMO
- Alain Carasso improved the definitions of CV372-399 in the Zimo decoders
DecoderPro
- Dave Heap improved the support for infoOnly & opsOnly mode variables
- Fixed an error when opening an existing Roster entry in Edit mode.
- Petr Šídlo fixed the decoding logic for "Public Domain and DIY" decoders
Operations
- Minor improvements to the Operations Build Report, GUI and Help pages.
- Added a check that trains can pull car types for a track.
- The "Show Trains Serving Location" tool now shows train direction for each location
serviced.
- Fix bug where cars in a kernel weren't redirected from alternate track.
- Check for "&" characters in car's load name
- Add 'Copy Track" tool to Locations window
- Print or Preview all items in a Schedule
- Improved export cars, added more attributes
- Fix bug with clear and select all
- Enhanced edit track loads by locations
- Add car status to print car roster
- Bug fix for import cars.
Dispatcher
- Steve G refactored the Dispatcher LoadAtStartUp to allow jython access to dispatcher load
Layout Editor
- Dave Sand improved the Entry/Exit support. It is now possible to
create routes that span panel boundaries if edge connectors have
been used to the link the panels.
- George Warner made a number of changes and improvements to the Layout Editor.
- Fix a problem with turntable rays
- Change drawing options for the track lines
- Add new kinds of decorations to points, tracks and track ends
- Fix an issue with unnecessary anchors
- Draw tracks as tracks!
For more information, please see the
4.11.4 sections in the documentation update
by Dave Sand, and the individual change notes:
PR-4386,
PR-4430,
PR-4433,
PR-4457,
PR-4513,
PR-4530,
PR-4553,
PR-4554,
PR-4578,
PR-4594,
PR-4613, and
PR-4735.
Also look at
JMRI-4.11.4.pdf
in the Yahoo files area. It provides an overview of the changes.
- Text labels with alternate font assignments retain their formatting. (Dave Sand)
- The column widths for the Valid Paths section of the routing table adapt to the content. (Dave Sand)
- Now displays hidden mainline track sections while in edit mode.
- Fixed the View Block Routing selection list for cross-overs to use the actual block name
instead of the same name for each entry.
- Dave Sand fixed a problem where the wrong default value was assigned to an unoccupied block
- Changed some of the Layout Editor appearance defaults, which might
change the appearance of some track segments on your panels if they're
still using default values. If you select them and change their properties,
then save your panel file(s), you can restore their previous appearance.
There's a
PDF document
with more details.
Logix
- Three new Conditional Actions have been added for Entry/Exit.
- Set NX Pair Enabled — Enable a NX Pair. When enabled, it can used
to create a route.
- Set NX Pair Disabled — Disable a NX Pair. This will prevent the
use of the pair to create a route.
- Set NX Pair Segment Active / Inactive — If the route is not active,
create the route, otherwise clear down, cancel or stack the route depending
on the default actions or user response.
- Variable State and Action references to Entry/Exit Pairs now use the Entry/Exit system name.
This prevents broken references caused by Entry/Exit user name changes. The conversion may
find missing references which will be displayed in the system log.
The affected Variable State or Action row will be deleted.
- Logix may now be shared across different Locales (languages) without losing the Mixed logic
definition, e.g. english "(R1 or R2) and R3" will display and work as "(R1 oder R2) und R3" in german.
To apply this on existing Logix Conditionals, open each in the original Locale and click "Update" to update
the logic to the universal format. Don't forget to save the new configuration to a (new) xml file.
- Fix for nested antecedent Conditionals that would break when edited in 4.11.4. (Dave Sand)
- Antecedents are localized for display and editing but stored in English.
This faciliates portability between languages. (Dave Sand)
Panel Editors
- Egbert Broerse improved how icons are previewed in the catalog
- Switchboard panels were improved to open without an Editor and with unconnected switches hidden when
saved in that state. The turnout icons were fixed to match the state shown in the Turnout Table.
You can prevent a Switchboard from operating the layout via the Editor's Option menu.
Operating a Switchboard over JMRI Web Server and in WiThrottle has been restored.
- Text labels with alternate Font assignments retain their formatting. (Dave Sand)
- Fixed display of the icon tree chooser and drag-n-drop during icon edit in
the classic Panel Editor.
Control Panel Editor
The following problems were fixed in the Item Palette:
- Text panel lost afte 2nd opening of Palette
- Background color chooser disabled after 2nd opening of Palette
- Multiple family button panels displayed after adding icons
- Inability to create new icon family sets for IndicatorTO items
- Drag icon disappears after editing existing IndicatorTO icons
- Panel background colors not shared among all Palette tabs when editors are changed
- Incorrect placement of dragged items to a zoomed panel.
- Fixed a problem when selecting Sensors, Turnouts and other
items to add to a Control Panel Editor panel after sorting the items.
Turnouts, Lights and other elements
- Fixed a problem where some items would not be displayed
in the table when sorted by system name
-
Steve Rawlinson improved the block tracking:
- When a block becomes occupied JMRI attempts to copy the value of an adjacent occupied block.
- When a block's sensor becomes active 'out of nowhere' JMRI restores its previous value,
if there is one. This makes sense but only in the following circumstances:
- if the block went unoccupied very recently
(to allow for sensor flicker or other momentary loss of contact)
- if power to the layout has just been restored
Otherwise, the new value of the block is probably not the same as it was previously.
- Previously, JMRI always set the value, but in this release that
changed such that the last value is not restored unless one of
the above criteria are met.
It is better, particularly on automated layouts,
not to have a value than to have the wrong value.
- Fixed a bug where deleting an element from a table (e.g. Light, Turnout, Sensor, etc)
would cause problems during subsequent store and load of the configuration.
- Fixed the index numbers added to the name when adding a new range of Blocks.
Signals
NX Entry/Exit Logic
- Dave Sand improved the Entry/Exit support. Entry/Exit sensor
pairs can be on different Layout Editor panels that have been linked
using edge connectors.
- The cross-checking between Layout Editor and Entry/Exit has been improved
to prevent broken relationships that can lead to errors.
Entry/Exit Help
has been updated.
- Egbert Broerse improved the documentation
- The Entry/Exit system name now complies with the system name standard.
The migration is automatic.
- Entry/Exit pair discovery improved to handle complex Layout Editor track plans. (Dave Sand)
Signal Masts
- Signal mast logic pair discovery improved to handle complex Layout Editor track plans. (Dave Sand)
Signal Systems
- Egbert Broerse improved the documentation, including the index pages for the individual systems
- Petr Šídlo added five sets of definitions for Czechoslovak State Railways
1962/2015 ČSD
aspect signaling.
- Dick Bronson provided a new PRR 1956 signal system
Simple Signal Logic
- Egbert Broerse improved the documentation
- The set masts at slip process was displaying a dialog about a missing combo box block selection when
the block has already been assigned to the slip switch.
This made it impossible to assign signal masts to block boundaries at slip switches.
Dave Sand fixed it.
Resources
- Chuck Catania added icons
for CTC lock plates, switch heater plates, model board tower and stations.
Roster
- Digitrax Command Station Operations Switches may now be managed via a Roster entry.
- John O'Duffy improved low speed operation during speed profiling.
- The Loco Address label on the Roster Summary Print-out was corrected.
Scripting
- YetAnotherAutoTrain.py — Another script for running trains that
uses English like phrases to describe the train actions.
- Scripts that access the Connection List may need to be modified. An
AttributeError may occur: javax.script.ScriptException: AttributeError:
type object 'jmri.InstanceManager' has no attribute 'configureManagerInstance' in
<script> at line number 14. Use connectionList =
jmri.InstanceManager.getDefault(jmri.jmrix.ConnectionConfigManager).getConnections()
Internationalization
- More Catalan, Czech and Danish translations were added.
- More LocoNet tools have been prepared for translating and got Dutch translations.
- Luis Zamora added a lot of Catalan translations
- Petr Šídlo improved the Czech translation
- Egbert Broerse improved how Warrants are internationalized
- Joan de Castro improved the Catalan translation with help from David Heap and Randall Wood
- Sonnys Hanson added more Danish translation
- Egbert Broerse internationalized the "check for new version" tool and added a NL translation
- Sonnys Hansen improved the Danish translation for some LocoNet tools
- Petr Šídlo added to the Czech translation
- Logix may now be shared across different Locales (see note under Logix).
- Translations files for Logix and Conditional editing have been cleaned up. Users might see some english
phrases. Translators please review.
Scripting
Web Access
- WiThrottle handling of IPv4, IPv6 and server location has been improved.
- Steve Todd improved handling of disabled flag and disable-when-occupied on turnouts in web panel
- The web server is providing directory listings again
Warrants
- The Warrants Help pages were edited (with extra screen shots)
- Egbert Broerse improved the documentation
- Fix default MaxBlocks from Preferences now being used in the create warrant form.
- when running, a warrant will not allocate or throw turnouts beyond signal's stop aspect or
past an occupied block. Once cleared to proceede, the warrant will set the turnouts to
continue its route
- A hidden column was added to the OBlock table enabling a block to be allocated/deAllocated
to a warrrant. (Reminder- "right click" the column header to make columns visible)
- The loco speed ramp algorithm was improved to make use of CV23 & CV24 in momentum
determination.
Virtual Sound Decoder
Miscellaneous
- Again, more behind the scenes code tests, plus stability as well as memory handling enhancements.
- Add debug menu item to install TrainCrew application
- Add help page for Manifest Creator
- Improved, but perhaps didn't entirely fix, a problem that caused JMRI to hang during startup
- Egbert Broerse improves transit action signal labels
- Many updated help pages
- Steve Young fixes links to the JMRIusers mailing list, now on groups.io
- Tom Gretton improved the logging documentation
- Dave Heap fixed some technical issues in the Node Identity process
- Improved logging when errors happen on a SwingWorker thread
- Fixed the RosterCsvExport script so it works without referenced (removed) IndexedCV support
- A ChangePanelFont.py script was provided to let a user change the panel font script
- Fixed a problem with ComboBox (selection box) background coloring on Windows
- Some improvements to logging when internal errors happen on a deferred action
- Balazs Racz added support for properties in the NamedBean tables, including a
new NamedBeanPropertyDescriptor class.
- A problem that prevented Drag and Drop from working on some systems was corrected.
- Randall Wood improved how fonts are scanned as JMRI starts. This fixed a problem
with slow program startup on some Windows machines.
- Fixed a problem where the JMRI installer for Windows
was leaving some old libraries in place,
which could result in problems when installing JMRI 4.11.1 through
4.11.3 over older versions (as opposed to a remove-and-install)
on Windows. This didn't affect the macOS Linux versions.