Release Notes for JMRI 1.4 production release

Date: April 8, 2004

From: Bob Jacobsen

Subject: Production version 1.4 of JMRI/DecoderPro is available for download

Notes:

  • Although there are many important items on the to-do lists, it was time to put out a new production version. There are several known bugs that remain in this version, and we'll probably continue to find new ones. For information on bugs, please see our bug tracker at:

    http://sourceforge.net/p/jmri/bugs/

    Requests for enhancements (RFEs) are tracked via:

    http://sourceforge.net/p/jmri/feature-requests/

    Please feel free to add to either of these!

Warnings:

  • Panel files written by 1.3.11 and later versions may not be readable with versions before 1.3.0. Older files will remain readable, but if you edit them with this version and then store them, you might not be able to read them if you go back to version 1.2.5.
  • There is no OS/2 version of this test release because our OS/2 test machine is no longer online. If you have a suitable OS/2 machine and are willing to host our release testing, please let me know.
  • If you are building your own copy of the program from the source code using Ant, please make sure to update the build.xml file. There have been some changes in the build procedure during the 1.3.9 build.
  • These downloads are significantly larger than version 1.3.5 and previous. This is due to the addition of a help system starting in test version 1.3.8.
  • LocoNet sensor numbering has been changed starting in version 1.3.4! This will effect people who have panel files (.xml files containing panel definition) for LocoNet block occupancy sensors. The sensor numbers now start with 1, not 0, so you'll have to edit the panel files to change e.g. LS0 to LS1, LS23 to LS24, etc. This does not effect input via other (non-LocoNet) protocols, including C/MRI, NCE AIU, etc. If you use LocoNet sensor numbers for the Speedometer, you'll have to increase them by one also.
  • If you have pre-1.2.3 roster entries that use Zimo decoder definitions, you'll have to recreate them. The Zimo decoder definitions have been completely reworked in a better organization starting with test version 1.2.3.

Download links:

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 production version 1.2.5:

  • Many bugs when using JMRI with Java 1.1.8 (Classic Mac) found and removed; again runs complete test suite there.
  • Roster printout includes a graphical speed table (D Miller)
  • Bug preventing access to C/MRI sensor 128 fixed
  • C/MRI monitor display was NFG for bytes with high bit set; fixed.
  • Throttle bug fix: stop at 100% (Paul Bender)
  • Printing bug fix: Some hex values not formatted right (Dennis Miller)
  • Roster "Delete" entry changed to "Delete entry" to avoid confusion
  • More German translations (Simon Ginsburg)
  • Lenz improvements (Paul Bender)
    • System info panel for inquiring about XPressNet command station version, etc (P Bender)
    • LI101 tool update (P Bender)
  • Configuration improvements (advanced preferences):
    • Allow rename of roster file location
    • Make adv prefs panel display faster by deferring list of Locales
    • "Start action" now has more options
    • Can now add buttons to main window at startup time via advanced preferences
    • Can configure default roster values, e.g. Owner
  • Signal improvements:
    • Signal table lets you configure, control signals via GUI
    • "Simple signal logic" works, including protecting facing point sidings
    • "SE8cSignalExample.xml" file provided to show SE8c operation on a loop+siding layout.
  • Control panel improvements:
    • Italic text problematic in menu; fixed
    • Displays name of panel, allows editing
    • Can enable/disable pop-up menus, drag&drop, click to activate by checkboxes on the editor panel
    • Icon file chooser now stays in place
    • Load/store file chooser sees new files
    • Several minor graphics bugs (screen refresh) fixed
  • LocoNet improvements:
    • The EStop buttons for the individual slots in the LocoNet slot monitor now act on button-down, without waiting for a complete click.
    • Fix BDL16 programmer GUI
    • Bring SE8c programmer up to date with new SE8c features
    • PM4 programmer crashed if opened with no LocoNet present; fixed
  • Updates to Cornwall RR signals, panel
  • Jython support in startup scripts.
  • Create utility package to handle string parsing, hex output formatting, etc.
  • Advanced preferences panel now has scroll bars if it gets too big. I'd appreciate feedback on this; the sizing and resizing logic might not be right yet.
  • Printing now removes duplicates, has better borders. Fixed a bug that prevents decoders with more than 80 CVs from printing. (Dennis Miller)
  • Fixed bug(s) in roster that prevents changing the roster location. That feature in the advanced prefs should now work. (Paul Bender)
  • Wangrow now shows as an explicit choice in the preferences, and as a separate system type.
  • XpressNet improvements: Turnout messages corrected, should now work. Internal improvements to ops mode programming and throttle. (Paul Bender)
  • Improvements to LocoNet Monitor output text for INPUT_REP, SW_REP messages. (Suggested by David Townend, more changes to come)
  • Larger space for address on PM4 programmer and add PM42 options,
  • Fixed bug causing inconsistent addressing of LocoNet sensors; see note under warnings.
  • Digitrax Zephyr is a DCS50, not DB50 (pointed out by Ron Wojtylko)
  • Fixed wrong logic for one signal in SE8cSignalExample
  • Fixed missing "on" bit in SE8c signal messages
  • Jar file now carries index, manifest, so it should be possible to launch JmriDemo directly from it.
  • Update some signal logic for the Cornwall RR signals 6A, 6B, 18A and 18B, add Conewago pocket.
  • LI100/LI101 Communications timing bug fix (corrects LI101 lock up problems) (Paul Bender)
  • Internal code cleanup in the XPressNet Tools (Paul Bender)
  • Empty DecoderPro tabs are now grayed-out; an advanced option is provided to suppress them completely if desired.
  • Another attempt at advanced preferences panel scroll bars and limiting the size of the panel so it fits on the screen. I'd appreciate feedback on this; the sizing and resizing logic might not be right yet.
  • More improvements to the LocoNet monitor display of addresses.
  • French translation available for many menus and labels. (Francois Taburet)
  • LocoNet fast clock tool now available: lets you set and query the clock.
  • CornwallRR program has a new crossover installed, a better algorithm for setting the turnouts at power up, some minor improvements to the signal logic, and a new graphic (Nick Kulp)
  • Fixed a bug that was causing some preference options to appear multiple times.
  • DS54 definition file now correctly displays CV47
  • Jack Shall updated the appearance and added ToolTips in the DecoderPro comprehensive programmer.
  • Dennis Miller added a "Help" system, which is accessed from the main menubar. Initial contents are Joe Ellis' DecoderPro manual (with some modifications), plus some additional pages.
  • Paul Bender added an initial version of a consist-manager tool, based on a very general infrastructure. It should work for advanced (CV19) consists on any system currently supporting ops mode programming.
  • DecoderPro will now use "Direct Bit" programming mode first if it's available in both the command station and decoder (previously, priority had been given to paged mode)
  • Paul Bender added a Command Station Configuration manager. This code attempts to enable only the portions of the JMRI library that are useable with a given command station. For example, with the Lenz Compact/Atlas Commander, the Programmer is disabled since these units do not support programing from an XPressNet device. He also added code to the tools menu to disable items for which a manager does not exist.
  • MERG decoders updated (Len Royles, Phil Grainger and others)
  • Support added for the SPROG command station, including initial throttle support. This has had only limited testing, so feedback would be greatly appreciated!
  • Alex Shepherd added support for the LocoNetOverTcp protocol.
  • Plugin system added: See http://jmri.org/Technical/plugins.html
  • Mac OS X now puts it's menus on the main menubar, making the applications much more Mac-like; Updates to icons, etc, on Macintosh systems.
  • Alex Shepherd added a new "LocoBuffer statistics tool" which allows users of current LocoBuffer versions to view statistics on LocoNet traffic.
  • A new "Decoder ID" page has been added to the web which is based on the current DecoderPro definitions automagically: http://jmri.org/xml/XSLT/index.html
  • Paul Bender added response message handling routines to Lenz Turnout Code. Forced send of an "off" after an "on" is sent to an accessory decoder. This corrects the "multiple fire issue" some people are seeing (And I have been able to replicate using a Switch-It, and a button to throw the turnout back to it's starting position). Turnouts displayed through JMRI (either through a Control Panel, the Turnout tool, or the turnout table) will now react to commands sent via another XpressNet device on systems that have feedback.
  • Paul Bender started work on Lenz Sensor code. Skeleton in place. Feedback encoders should be reflected in the sensor table, though they are not currently handled. (this has not been tested).
  • Paul Bender made modifications to the throttle GUI code so that it actually registers as a PropertyChangeListener with the system dependent throttle code. He also modified the throttle GUI and back end code, so the "Dispatch" button can be shut off on systems for which this makes no sense.
  • Code for finding "DTD" files reworked in an attempt to fix startup problems on certain XP systems. Not really clear if it worked, feedback greatly appreciated.
  • Paul Bender added ops mode programming support to Lenz. Fixed bug in LocoNet monitor where the Throttle ID field was being displayed wrong.
  • Initial public release of Jython support for scripting and control (http://jmri.org/Technical/Jython.html)
  • Bug that prevented moving the Roster location (see advanced preferences) is probably fixed.
  • Bug preventing display of SE8c example on some systems (http://jmri.org/apps/Signalling/SimpleSignalExample.html) is believed fixed.
  • Initial inclusion of "PacketPro" application for testing decoders (nee PacketScript)
  • XpressNet connection can now be made via an XPA telephone adapter & modem (Paul Bender)
  • Tooltips can now be added to items in the decoder definition files. If present, they override the definitions in the programmer definition file.
  • Phil Grainger added the Digitrax DH83FX decoder, and the needed 5th output function to the Digitrax "Basic" decoder definition.
  • Robin Becker updated the Soundtraxx LC Steam and Diesel decoder definitions
  • Wayne Eric provided a decoder definition for the MRC AD370 sound decoder.
  • Ian Havercroft updated the version identification in ESU decoders so they successfully identify.
  • Digitrax DZ123 definition added, with ident info courtesy Robert Johnson
  • Jack Shall updated the Lenz 80 decoder file.
  • DH163 can now do direct-bit mode programming
  • Fix problem with creating two copies of roster entries, Bug 871882
  • Allow multi-line comments in roster comment fields: Dennis Miller
  • New NCE D13SR Torque Compensation decoder file from Michael Mosher
  • Panes from decoder files (but not programmer files) are active even if they contain no variables (Requested by Manhart Matthias)
  • LocoNet Throttles were behaving poorly in version 1.3.8, with the speed slider not moving correctly. Fixed.
  • Fix problem with not prompting to save file when closing window after changing a speed table entry, bug 881556
  • Better diagnostics if a LocoNet RMI connection (LocoNet server/client) fails (RFE 874488)
  • Peter Brandenburg has contributed a new CT_Elektronik_Sound_GE_70_80 decoder definition file.
  • Fixed bug 874472 causing DecoderPro not to have a LocoNet menu when connected via a Loconet server
  • Added size information to several more decoders. (Doesn't effect DecoderPro operations, but does appear on the selection web pages)
  • Improved formatting of the throttle ID in the LocoNet Monitor (suggested by Glen Colbert)
  • Added title to PowerPanel frame so that it's easier to find the icon
  • Lenz LI100/LI101 connection has improved timeout logic, so that it doesn't slow the computer at startup
  • New TCS M1 decoder definition from Eddie Delozier
  • Paul Bender improved and extended the XPressNet configuration tools.
  • Fixed a technical bug in the debug Programmer that would cause occasional intermittent test failures.
  • Fix bug where programmer window would close even when close operation was cancelled during save
  • Updated Ant control files to separate out development uses from the less-common functions, which improves build time
  • Added sample scripts for a siglet and a simple automaton to the jython directory. Added PacketPro.bat for Windows. These features are still quite preliminary, as evidenced by a lack of documentation, and is certain to change.
  • Soundtraxx DSD, DSX, LC decoders updated by Robin Becker
  • Bug where decoders that differ only in family name, esp. certain NCE decoders, could not be properly selected.
  • Roco LocoMouse has now been tested to work (Paul Bender)
  • QSI decoder in the Lionel Challenger now identifies (Walter Thompson) Additional QSI models added using identification info provided by Randy Jones.
  • Tooltips now displayed in the decoder-selection tree from the comments in the definition files (Jack Shall)
  • Tooltips added to some NEC, Digitrax decoders (Jack Shall)
  • New TCS M1 decoder definition contributed by Eddie Delozier.
  • Lenz sensor inputs now supported (Paul Bender)
  • Problem with Lenz throttles in top part of speed range corrected (Paul Bender)
  • Added "Load Throttle" as one of the available buttons/startup actions in advanced preferences. Also added I8N to those items (only English at present), and made the mechanism easy to extend.
  • Added example of creating your own button via a script (jython/JButtonExample.py)
  • Various small improvements to panel load/store to improve robustness of storing signaling information
  • "Simple Signal Logic" tool now allows a signal to drop red if any one of up to four blocks is occupied. Old panel files still work, but will be automatically rewritten in a new format when stored again.
  • Fixed bug #912806: Read Sheet doesn't read CV7, CV8
  • Fixed bug #879990: Changing Roster Entry pane fields doesn't set file-dirty
  • Michael Green provided an update to the SoundTraxx LC Diesel PNP FX decoder definition to fix some misleading typos
  • Michal Basta provided internationalization for the Czech language, so DecoderPro is not available in Czech both with and without diacritical marks.
  • (Paul Bender) Improvements to handling of XPressNet input sensors. Added a timeout for sending turnout "off" messages on certain Lenz systems.
  • Added CV7, CV8 to the Digitrax DS54 programmer (Walt Thompson)
  • Paul Bender fixed some problems with XpressNet throttles that first appeared in JMRI 1.3.10. These included odd behavior in 128 and 28 step mode, and the speed scale being wrong in 28 step mode.
  • Nick Kulp contributed three new sets of signal icons, available at:
    • resources/icons/smallschematics/PRRsignals
    • resources/icons/smallschematics/bordersearchlights
    • resources/icons/smallschematics/RDG_Catface_Signals
  • Michael Green provided new decoder definitions for the S Helper Service F3 and F7 DCC Sound decoders. These decoders were custom manufactured by SoundTraxx for S Helper Service's engines.
  • The sample panel for Nick Kulp's PanelPro clinic is in the distribution at
    • xml/samples/NicksClinic.xml
  • Paul Bender improved handling of XPressnet turnout and sensor messages for certain Lenz command stations.
  • Windows installer no longer removes old files from the xml, resources and lib directories, so that user-added files will be kept.
  • Paul Bender updated the XPressNet algorithms for driving turnouts, with help from Marco Forcone
  • Fix a problem with the SE8 example file that kept the background from being visible. (Bug 928363)
  • Randy Jones provided decoder ID for the BLI AC5 Cab Forward
  • Larry Meaney provided decoder ID for the Digitrax DN163K0b decoder
  • Paul Bender changed the handling of flow control on an XPressNet port when hardware flow control is disabled.