Release Notes for JMRI 3.0 release
Date: July 25, 2012
From: Bob Jacobsen
Subject: Production version 3.0 of JMRI/DecoderPro is available for download.
Notes:We are very pleased to announce that the 2.99 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 version 3.0" available for download today.
Warnings for this version:This release requires Java 1.6. If your computer can only use Java 1.5, please see the JMRI 2.14.1 release which is the most recent that you can use.
Known problems with this releaseNone at the time of this release.
Please use these links for downloading:
Changes since production release 2.14
Oscar Moutinho made the following updates to the inControl web throttle app:
- Added Turnouts and Routes.
- Power Off does not block throttle.
- Some icons changed (used from /resources/icons/throttles/).
Matthew Harris made the following updates:
- Updated the NetBeans project file to use JDK 1.6
- Updated the Windows installer to use JRE 1.6 and to no longer install on Windows 98 and ME
Walt Thompson fixed a problem causing panel files with tooltips to fail validation.
Dan Boudreau made the following changes:
- Removed accessory address restriction from NCE USB. Early versions of the NCE USB and PowerCab/SB3 were limited to 250, now they can support the entire accessory address range.
- Fixed localization issue where some of the menu items weren't displayed in the selected language.
- Improved the NCE command monitor by making the data captured human readable.
- Fixed the NCE turnout lock
- Fixed throttle when launched from Edit NCE Consist and the operations train icon.
- Enhanced the JMRI consist tool to now use the NCE command station when setting up a consist.
Dan Boudreau made the following enhancements and fixes to operations.
- You no longer need a schedule to assign an alternate track to a spur. See "Alternate Track" under Edit Spur-> Tools.
- Added to print locations the ability to analyze how your tracks are consumed by various car types.
- New switch list print option, you can now have a different car format for your switch list. See Print Options.
- The build reports can be read using a text editor. This feature was enabled by using Java 1.6. See Print Options.
- Enhanced the manifest printout for passenger trains. Now when you have a route comment and there isn't any work, only the location's name and route comment is printed.
- "Block cars by pick up location" is now disabled if you use one of the generate custom load features from staging.
- Added a new tool to help with custom loads and schedules. Now you can select a car type and load and see which spur with schedules will receive and ship that commodity. See under Tools "Show schedules by car type and load" in the Schedules window.
- Schedules in match mode now shows a hit count. The hit count is incremented every time a schedule's line item is used during a build.
- Improved the car import feature. Now the program can be told to automatically create new car types and adjust track lengths during the import. Saves a lot of time if your importing a lot of cars with new car types.
- Improved loco and caboose changes in a train's route. Now you can depart without a caboose and add one later in the route, or depart with a caboose and remove it in the route.
- The switch list button in the Trains window is now highlighted in red when changes occur to switch lists that have been printed.
- Now in aggressive mode, tracks in staging can be made available for an inbound train as soon as an outbound train is built. This allows a train to also depart and return to the same staging track. You need to enable this feature to use it, see Settings->Tools->Options select "Make departure track available after train is built".
- When a train departs from staging and also terminates into staging, the program will if needed generate a load for a car that will terminate into staging as long as one of the two "Generate custom loads ..." from staging is selected.
- New car feature "utility". This feature helps mimic prototype car movements of coal or other commodities. When a car is specified as a utility car, its road and number will not be displayed on the manifests or switch lists. Instead the program will list the required number of cars of a given type needed for the train. See the "Edit Car" window under Type for this feature.
- Enhanced the operations "Edit Car" window. Now when you select Caboose, Passenger, Hazardous, or Utility, the program asks if you want to change all cars of that type.
- You can now edit the "hazardous" warning message, see Settings->Tools->Print Options.
- Improved the train build report for several build failures
- Improved the "Set Cars" window, the program now remembers which "ignores" you previously selected.
- In the "Edit Schedule" window, increased the maximum sequential car count in a schedule line item from 10 to 100.
- The schedule hit count in the "Edit Schedule" window now includes hits to a line item in sequential mode. Before the count would only increment if the schedule was in match mode.
- Some GUI improvements, now the program asks if you really want to delete a route, schedule or a train. You can now adjust and save the table column widths in the Edit Schedule and Edit Route windows.
- Enhanced the switch list printouts. You can now run the switch lists in two modes, real time which was the way it previously ran, and consolidation mode. Consolidation mode is great for folks with small railroads. Basically the program allows you to build and terminate your trains while capturing the switch list data for a location. See operations help for more info. Should save paper!
- New operations feature, train manifests are now truncated when there's a switch list for the location visited. A "truncated" manifest doesn't show where the cars are pulled from or where they are to be spotted. Local moves are also not shown. All of the removed info is however shown on the switch list for the location. This simplifies the train manifest showing only what is needed for the train's conductor. See Print Options and select the "Truncate" checkbox if you want to use this feature.
- New staging option, you can now have cars return to staging on a turn, rather than having a build failure. See help for more info, see Settings->Tools->Options "Allow cars to return to staging if needed"."
- New operations feature, "Auto Save". When selected the program will automatically save your operation files. The program checks very minute to see if the operation files have been modified, and if so will save them when the next minute passes. See the "Setting" page for the "Auto Save" checkbox.
- Switch lists now order the trains by their arrival time rather than their departure time from the start of their route.
- You can now manually add or delete cars from a built train using the "Set Cars" window. The train manifest will also show the changes you manually made to the train.
- In the "Trains" window, the program now shows the date and time a train was terminated.
- New operations feature, "Planned Pick Ups" found under "Tools" in "Edit Track" for spurs and interchanges. For each track you can tell the program that cars are expected to be picked up from the track and that cars currently sitting there should be ignored. See the operations help for more information.
- Two new switch list features. You can now eliminate trains that don't have work from your switch lists. You can if you wish use a separate page for each train visiting a location. See help for more info.
- You can now view a car's wait value in the Cars window. Note that you need a schedule for this field to show up.
- Enhanced the cars print and preview options. Now you can select the page orientation, and you can also optionally select the car's train, destination, and comment.
- You can now print all of your routes from the "Tools" menu found in the routes window.
- Improved the train builder, you should see less final destinations assigned to cars that aren't part of the train
- You can now add a unique switch list comment for each location.
- New feature, auto backup. When enabled, the program will make a backup copy of all operation files when the program starts.
- The Trains window now shows which staging track a train is departing or terminating on.
- New enhancement, you can now exclude trains or routes from spurs, interchanges, and staging tracks.
- Fixed a problem introduced in 2.99.4 with the switch list button "Print Switch List Changes".
- The option "Print Valid" now also affects switch lists.
- Improved the way cars, locomotives, and routes windows resize.
- Switch lists now show the lead loco number as part of the train's name. The "Append Loco Number" must be selected in the Setting page.
- Now when building trains that visit locations that have the "same" name, cars are no longer moved between those locations unless a schedule is used. Locations with the "same" name are locations that use the hyphen followed by a number feature. Also improved trains manifests when "same" location names are used back to back.
- New operations feature, user can select a page size of 3.25" x 11" for hand held devices. See the Print Options page for detail.
Paul Bender added a new Generic Consist Manager which will be installed on systems such as the SPROG that implement a command station interface (the ability to send an arbitrary NMRA DCC packet). This version of the Consist Manager uses an NMRA Consist Control packet to create the consist instead of the Operations Mode Programming request used in the previous Generic Consist Manager. This will allow writing the consist address on decoders that support Operations Mode Programming, but do not allow operations mode programming of CV19 (Certain Lenz decoders fall into this category).
Georgio Terdida fixed a bug that may occur when loading an XnTcp adapter.
Paul Bender fixed the port number display for network connection configurations.
Help pages with external links (e.g. full "http:" links) and of types that the JavaHelp browser can't display are now sent to the user's default web browser for display.
Randall Wood made various improvements to Mac OS X support.
Steve Todd updated jmdns.jar to v3.4.1 (latest release from http://sourceforge.net/projects/jmdns/).
David Zuhn fixed the problem with preferences in Mac OS X that first appeared in JMRI 2.99.1
Randall Wood made the following changes:
- Fix issues preventing DP3 roster and roster group windows from consistently working correctly.
- Add a roster group selector to the Throttle windows.
- Remove all use of the Active Roster Group.
B. Milhaupt made the following changes:
- Updated the configuration tools to provide more reliable OpSw accesses to Digitrax BDL16x, DS64, PM4x, and SE8c boards. Some users reported that previous versions of these tools would abort during the middle of a Read or Write, when the addressed board would not provide the required response to the OpSw read or write message. These tools will now attempt up to three accesses to an OpSw before aborting the OpSw operation, instead of making only one OpSw access attempt.
Steve Todd made the following changes:
- Added default robots.txt file to ask webcrawlers to NOT index any content from miniserver.
Herve Blorec provided a set of French-language help pages.
Matthew Harris made the following changes.
- Added support for the ARM architecture on Linux
- Updated Windows launcher with option to force use of 32-bit JRE on 64-bit versions of Windows
- Fixed an issue with auto scrolling in the System Console
- Added persisting options to the System Console for auto scrolling and for keeping the console on top of the window stack
- Incorporated an option to print a Java Stack Trace to the System Console
- Added persisting options to the various communications monitors for auto scrolling
Ken Cameron made the following changes.
- Updated NCE Show Cabs feature to display all 28 Function settings and cab display line values
Dick Bronson updated the RR-Cirkits Decoder definition file for the LNCP board.
Steve Todd made the following change:
- Added some details to WiThrottle debug messaging.
- Updated JMRIMobile to support direct linking to generated pages, also improved header and footer scrolling.
Nigel Cliffe updated the MERG ACC5 decoder definition to fix a problem with indexed variables.
Matthew Harris made the following changes:
- Updated the Lenz Gold decoder definition making the SUSI transport CV (CV127) write-only.
- Added the option to allow an 'Open Roster' button to be added to the main JMRI window.
- Added the option to enable the Roster to be automatically opened at start-up.
Randall Wood made the following changes to web services:
- Replace the Mini Web Server with a Jetty-based Web Server
- Add a Roster servlet that handles most roster-based operations
- Updated the index.html file to be more operations-oriented
- Added a Panel servlet that provides a partial panel XML file with correct URLs for remote panel widgets
- Streamlined existing servlets to make feature expansion easier in the future
Steve Todd made the following changes:
- Change JmriJFrameServlet (web server click handler) to handle Layout Editor panels with background images.
- on WiT server stop, explicitly close throttles prior to closing socket.
- updated the CanExample.py script to reflect the changes made relating to the multiple CAN connections.
- You could add all the other panel items except a label with a right click and "Add Item" on a Panel. Added "Test/Label" at the bottom of the "Add Item" list.
- Added line numbers to the script entry window
- Fixed the help link from the CAN send-frame window
- On panels,lock or unlock a whole bunch of items together, instead of aiming at every one and running the risk of moving it in the attempt.
The Locations item in the Help menu now have buttons to directly open the preferences and program directory from your desktop (may not work on all computer types)
The OpenLCB support has been updated to the 0.6.1 version of the specification. This includes new tools:
- A tree-like display of the entire network, accessed via the OpenLCB menu.
- New capabilities on the Console, including access to the DecoderPro-like built-in node programmer
- You can now use UTF-8 international characters in the board names and descriptions
Richard Sauerbrun added a new DN163K4B decoder.
- updated Soundtraxx decoders
- fixed a bug in QSI Version 8 decoders CV115.76.0
- Fixed a problem in ESU LokSound V4
- NCE D13SR v10
John Stather fixed some issues with the DCC Concepts locomotive decoder definition.
Chris Bradshaw provided a definition for the ANE Model Loco-Cruiser LC201 decoder.
John Sebastian provided a decoder definition for the MRC Sound Brilliance 1957.
The TCS Bemf decoder was updated.
The Team Digital SD8 decoder was updated.
Martin Pischky improved the LocoNet firmware downloader and fixed some bugs.
Steve Lowens added the Con-cor Zephyr (HO & N) definitions to the Digitrax sound decoder definitions.
Paul Bender made the following changes:
- Internal changes to the consist manager to allow on demand updating of consist lists from the command station.
- Implemented consist reading for LocoNet systems.
- Changed Lenz and CVP EasyDCC consist managers so they update the consist list when the consist tool starts, not when the program does.
- Fixed several bugs in the LocoNet Consist manager.
Steve Todd made the following change:
- In Layout Editor, added new options for customizing the display of turnouts (circle color, circle size, draw unselected leg).
Mike Mosher updated the QSI Version 8 decoder definitions.
Kevin Dickerson made the following changes:Signalling
- New Features
- Added an Experimental DCC accessory controlled SignalMast for the RR-Cirkits LNCP module.
- SignalMasts Automatically create a resources/signals directory for user created custom signalmast definitions.
- Added a delay option into the SignalMast code to allow the simulation of manually operated signals ie Semaphore Signals
- Updated the logic behind the SignalMastLogic in determining routes on the layout editor involving a Double Crossing
- Add a warning message when a logic is created/edited, that if the source or destination mast is used as part of the criteria with the logic, it may result in unexpected behavior.
- Added the ability to delete Signal Mast logic from the Signaling Pairs window
- Bug Fixes
- SignalHeads - Fix bug 3535156.
- SignalMast Logic - Fix an issue in the logic where disabled aspects were still being considered as potential valid aspects.
- Fix an issue when an NullPointerException could occur when changing between signal mast driver types when the signaling system name does not match the directory that the signal mast are held in
- New Features
- ESU ECOS - Added RailCom decoder reporter support.
- ESU ECOS - Added an automatic connection recovery.
- Added in initial support for the TAMs System with help from Jan Boen - please note that this is still in development.
- Added initial support for DCC4PC RailCom interface boards. The interface is currently not supported in Windows
- (Windows Only) In the preferences when you select a new connection, they system will try and match the correct comm port against the selected system
- Updated the CAN BUS code so that it can handle multiple connections and be configured with other systems at the same time.
- Bug Fixes
- ESU ECOS - Fix an issue in the loco monitor where the initial states of locos was not reported.
- ESU ECOS - Improved he handling of adding locos to the roster from Ecos database.
- Direct Driver Serial - Prevent this from being selected in the preferences for certain OS that are not supported.
- Suppressed the "Serial Port" selection box from the preferences of the CAN and SMRI Simulator
- Fix potential NPE that would stop the Sprog command station from working if a null packet was queued.
- New Features
- Allow the following fields to be directly edited in the DP3 roster table, when the entry is not already opened
- ID Col
- Road Name
- Road Number
- Added the ability to hide columns in the Roster Entry Table
- Altered the mouse action in the roster table, so that a double click on a non-selected item will open it for Editing, while a single click on an already selected item will allow editing of that field
- Increased the number items used to identify a roster entry in DP3 to include Decoder manufacture, version and address type used.
- Added the ability to save and recall the order in which column headers appear in DP3s roster table
- Added a wait cursor while opening up a roster entry for editing
- Update the EasyDCC interface so that it would be picked up correctly on the DP3 status screen
- Set the "Programming Type" states are remembered between sessions
- Updated the status bar font size in DP3 to hopefully make it clearer for some users.
- Bug Fixes
- Fixed a bug where the PR3 could not operate a throttle in Programming Mode
- Fixed an issue with the Start-Up Wizard that could cause the system to hang when doing the final connect
- Fixed an inconsistency issue relating to the saving of preferences in DP3 depending upon the method that it was closed
- New Features
- Updated the memory icon in the panels so that if a roster entry is allocated against it, the roster media icon is displayed (if available) or the roster title. If an icon and throttle is available the icon will flip to match the direction
- Editors - Add the ability to set the orientation of a label to be vertical up or vertical down. For icons in memory labels, this will also rotate the assigned icon to match
- New Features
- Add a Single/Double Slip to the layout editor, along with the associated signal logic.
- Added in a full Entry/Exit interlocking system for use with the layout editor.
- Added a script ("AllocateRosterEntryToBlock.py) that allows you to allocate a roster entry to a block
- Added in the ability to allow an Entry Exit become a variable condition to a Logix.
- Updated the block routing details so that it is initialized after all the layout blocks have been initialized.
- Allow the Logix for the signal allocated to a Slip to be recreated rather than skipped if it has already been created once, this allows for changes having been made at a later date on the slip for the turnout states.
- Added in ability to the layout editor to hide turnouts when not in editing mode
- Added the ability to update a block value by changing the corresponding memory value from the panel
- Added in the ability to change which memory object a memory labels points to if a change is made from the edit layout block GUI.
- Provided an option to set the default colour for occupied and alternative track states
- Provided an option to automatically create and assign blocks to track and turnouts. This can aid in providing continuous layoutblock connectivity which can be used by the Signal Mast Logic and entry/exit work.
- Updated the Layout Block Routing Protocol, so that when block traffic flow is updated, this is reflected in the routing table
- Add the ability in the Layout Editor to control a second turnout from another one on the layout panel. This is ideal for situations where the user has two physical turnouts operating from one DCC Address and has to put onto the panel an Internal turnout to represent the second turnout. Changes made to either turnout are reflected on the other.
- Added the ability to delete multiple selected items using either a popup menu or via the keyboard
- Updated the "New Title" option to become an "Edit Title"
- Bug fixes
- fix bug (3175940) with scroll bars in the layout editor. If the panel is loaded in edit mode the saved setting of the scrollbar is overwritten when you go into view mode.
- Fixed a fault in the layout editor, that could allow for the same object to be selected twice, resulting in that item being moved double the distance
- Fixed a bug in the layout editor that results in the loading of a memory icon, getting placed twice on the panel.
- New Features
- Add the ability for the command monitor, jython input and output windows to be displayed on top of any other window.
- Added the ability to clear the jython output window via a button
- Add a notification if an error occurred during a panel store, rather than it previously failing silently.
- Updated the throttle window, so that when it is closed, any active throttles, no longer set the loco speed to 0 or turns off all the functions
- Updated the turnout table so that column widths retain their size when extra columns are shown or hidden.
- Jython is now initialized in the background rather than when required to improve user performance.
- Bug fixes
- Fixed the Copy and Delete Roster items in the classic JMRI interface
- (Bug Id 3105034) Fixed an issue with the function labels that would result in default label values that were once removed re-appearing.
- Fixed an issue in the "Add/Edit Routes" window that could cause panel files to load slowly.
- Fix a number of XML validation errors.