Release Notes for JMRI 2.3.3 release
Date: October 5, 2008
From: Bob Jacobsen
Subject: Test version 2.3.3 of JMRI/DecoderPro is available for download.
JMRI 2.3.3 has been replaced by JMRI 2.3.4 due to a Windows-related startup problem encountered by some users. Please see the JMRI 2.3.4 release note for download links to that version.
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 third in a series of test versions. It contains many new features, including:
- new support for operations
- a new Window menu, making it easier to move around in the programs,
- support for the ESU ECoS system
- new startup scripts on Windows
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.
New warnings for this version:Starting with this test release, by default JMRI is allowed to use up to 200MB of memory (up from a limit of 60MB or 64MB previously). If this is more memory than you have available, and you notice JMRI slowing down a lot, please let us know.
Staring with this test release, JMRI now builds the classpath (the list of .jar libraries used by the program) dynamically. We'll use this in the future for plug-ins and other features, and other platforms have been doing this for a while. If you have added any .jar files to your JMRI program directory, they may cause problems when the program is starting. Also, if originally installed a very old version of JMRI, there might still be files around that can cause this problems. If so, you can fix it by moving aside those extra .jar files from the JMRI program directory. For more information on this, please see this discussion on the JMRI users Yahoo group.
Warnings from older versions:
JMRI is moving toward requiring Java 1.5 or later. Certain new features may not work if you are using an earlier version of Java. To see JMRI's future plans for this and other compatibility issues, please see the JMRI technology roadmap.
JMRI no longer supports NCE AIU broadcasts. This change was needed so that JMRI could reliably read certain CV values. We recommend that if you use NCE AIUs, that you upgrade the command station EPROM to version 2007 or newer and turn off AIU broadcasts. Code has been added to detect if AIU broadcasts are enabled, and if so a warning message will appear at startup requesting that AIU broadcasts be turned off for proper operation of the JMRI programs.
Indexed CVs will not be included in any printouts for this release.
QSI CV 56.129 Engine ID Access is not supported in this release.
While programming QSI decoders in Ops mode, it is necessary to disable CV 62 QSI Control (Verbal Acknowledgement), otherwise the writes will fail.
QSI CV 64 CV Numeric Verbal Readout currently does not work for indexed CVs.
Please use these links for downloading, including the "?download" at the end. That adds to SourceForge's advertising statistics, which makes them happy to host our stuff.
Changes since test version 2.3.2:
Fix a problem that prevents DecoderPro from working with certain large decoder definitions when using Java 1.6 in Linux.
Team Digital provided a definition for their SRC16 card.
Dan Boudreau's operations tools are now available.
Giorgio Terdina added a "Window" menu which shows the name of open windows, and lets you go directly to any window that's open.
The start-up scripts and batch files now leave selection of the minimum and maximum memory limits to the Java virtual machine, instead of specifying them explicitly.
Fixed a problem with read-only split variables in DecoderPro still being writable.
David Duchamp added markers to the Layout Editor.
Dan Boudreau provided improvements and fixes to the operations code, including better print control.
David Duchamp fixes a problem with moving labels on top of certain Layout Editors backgrounds.
The memory monitor panel (under debug) now shows in MB units, and shows total available memory in the title for the right column.
Initial ESU ECoS support is available. This first version can control layout power and operate turnouts. We're very interested in feedback before moving on to the support for sensors and throttles.
Michael Mosher fixed the recent ID problem with QSI decoders.
Additional RPS improvements and fixes:
- Improvements to handling missing receivers.
- You can now set limits on valid times from each receiver.
- Improved help.
Giorgio Terdina fixed an error that could occur when a Block went active and a neighbor block had no sensor defined.
Matt Harris fixed the ASUS EEPC install for RXTX. (Not really a release 2.3.3 item, but needed to be recorded somewhere)
Robert Coleman provided JUnit tests for the operations code.
Team Digital provided a fix for routes in the SMD16 definition file.
Many JUnit tests were added for operations by Robert Coleman.
There's a new "Edit ..." entry in the Roster menu that lets you update the contents of a roster entry (including changing CV values) even if you don't have a connection to your layout.
Michael Mosher added a definition for the P2K H10-44 QSI decoder.
The LocoNet "Download Firmware" tool was updated to properly load files with 16-bit or 24-bit addressing. The user needs to select the proper form on the loader window.
A problem accessing the JMRI web server from a separate Windows computer was fixed.
The startup scripts for Windows have been updated to use a new LaunchJMRI program provided by Matthew Harris. It functions similarly to the advanced scripts we've been using for a while on Linux and Mac OS X.
The handling of InterruptedException internal to the code has been standardized as a first step toward a cleaner shutdown procedure. In turn, this is needed to simplify running JMRI within various standard web servers.
Peter Ulvestad added a definition for the Digitrax DH163IP decoder.
Manufacturer number 33 has been renamed from "Praecipuus" to "Silicon Railway".
Ken Cameron updated his RobotThrottle.py sample script.