JMRI Changelog

What's new in JMRI 4.5.5 Test

Oct 17, 2016
  • HARDWARE SUPPORT:
  • Bachrus Speedo:
  • Fix issues with Speedo systems in recent versions of JMRI (#2027).
  • Digitrax:
  • DCS240 OpSw31 description corrected in LocoNet Command Station Configuration tool where English language has been used. Where the tool provides non-English language text, the translation may not have been completed.
  • When DCS240 OpSw31 is "C" (closed), "metering of switch messages" is disabled, and LocoNet switch messages are sent to the DCC track signal as quickly as possible. When DCS240 OpSw31 is "T" (thrown), the command station may slowly send switch request messages to the DCC track signal.
  • LocoNet:
  • Enable function keys on Sprog in programmer mode (#2027).
  • PANEL EDITORS:
  • Fix errors preventing editing of sensor state labels (#2028).
  • CONTROL PANEL EDITOR PALETTE:
  • No longer throws cast exception when a dragged item is dropped outside of a panel.
  • No longer will hang when displaying a warning during a Drag and Drop.
  • Inactive buttons removed from SignalMast panel. Panel displays icons when the mast row is selected.
  • Text and item Attribute panels now show changes to margin, border, fixed width and fixed height in the preview panel

New in JMRI 4.5.1 Test (Jul 10, 2016)

  • HARDWARE SUPPORT:
  • Digitrax:
  • Initial support for the DCS240, allowing you to configure it in the preferences. This is just initial support: Many advanced features are not yet supported.
  • SRCP:
  • The SRCP layout connection can now handle more than one simultaneous connections.
  • TAMS:
  • Jan Boen did a lot of work on the TAMS MasterControl support
  • NEW / UPDATED DECODER DEFINITIONS:
  • Digirails:
  • Egbert Broerse added support for the DR4018/24 decoders.
  • Digitrax:
  • Alain Le Marchand added support for the DH126T decoder.
  • ESU:
  • Some earlier versions of JMRI emitted lots of warnings while loading a roster entry containing certain ESU decoders. This is now fixed.
  • SoundTraxx:
  • Updates for the Tsunami 2 decoders, including new models TSU-2200 and TSU-PNP
  • TCS:
  • Michael Mosher added definitions for the TCS WOW Steam V4 plus updates fro other steam versions and diesel ver3
  • OPERATIONS:
  • New feature, you can now see and modify the track "Moves" that are used to determine the order tracks are processed by the program during a train build. In the "Edit Location" window under tools, select "Show Track Moves". To change the move count for a track, double click on the "Moves" value in the table and enter a positive or negative number. Tracks with the least number of "Moves" are processed first.
  • Steve Todd fixed a bug with the JMRI Web Server Conductor where you couldn't properly terminate a train that didn't have work at the last location in the train's route.
  • SCRIPTING:
  • Added Jython functions and examples for pulling JMRI configurations into a script. (#1502)
  • The DebounceSensor.py script was updated. Note that Sensor debouncing can also be directly turned on in the Sensor Table now, too.
  • SIGNALS:
  • Signal Systems:
  • Updated B&O 2009 signal definitions to fix restricted aspect in some cases (#1574)
  • Fixed a problem occurring when a signal system references icons in the local preferences directory.
  • WEB ACCESS:
  • Added Json server support for blocks and layoutblocks. (#1623, #1628)
  • MISCELLANEOUS:
  • The POSIX (Mac and Linux) launcher script has been improved. It provides much more flexibility for adding extra .jar files and setting options. The algorithm for how much memory the program uses has also been improved.
  • Egbert Broerse updated the French translation.
  • Added startup action to allow a pause for up to five minutes in processing startup items. (#1499)
  • Tooltips in startup items show more information than can be shown in the table of startup items. (#1505)
  • Startup items that need a system connection can now be bound to a specific system connection. (#1520)
  • Sonnys Hansen updated the Danish translation.
  • Many structural updates to the code as part of the new-series cleanup process. If you have your own program based on JMRI, please check for newly-deprecated references.
  • Some semi-automatic and manual cleanup of the HTML in the help files. If you notice any broken formatting, please report it. Thanks.

New in JMRI 4.3.9 Test (Jun 26, 2016)

  • NEW / UPDATED DECODER DEFINITIONS:
  • The following decoder definitions were added/updated:
  • Digitrax: Alain Le Marchand added the DH126MT definition (#1582)
  • SoundTraxx: Michael Mosher has updated the Tsunami 2 definitions with new models TSU-2200 and TSU-PNP (#1563)
  • SIGNALS:
  • Signal Systems:
  • Updated B&O 2009 signal definitions to fix restricted aspect in some cases (#1575)
  • MISCELLANEOUS:
  • LocoTools has been removed from Linux and OS X distributions of JMRI (#1546)

New in JMRI 4.3.8 Test (Jun 20, 2016)

  • NEW / UPDATED DECODER DEFINITIONS:
  • SoundTraxx: Alain Le Marchand corrected the Econami Steam definitions (#1496)
  • TCS: Michael Mosher updated the WOW Diesel and Steam definitions for V4 decoders (#1510)
  • OPERATIONS:
  • Daniel Boudreau fixed a bug where a random schedule was being ignored (#1524)
  • PREFERENCES:
  • Randall Wood fixed a problem when attempting to read profiles created after version 4.3.2 (#1523)
  • MISCELLANEOUS:
  • Randall Wood fixed issues when reordering startup items (#1494)
  • Randall Wood cleaned up some excessive console logging during startup (#1508)

New in JMRI 4.3.6 Test (May 24, 2016)

  • HARDWARE SUPPORT:
  • Roco z21/Z21: Set Broadcast Flags for XPressNet messages. This causes the command station to generate the expected replies.
  • SPROG: Andrew Crosland modified SPROG command station support for a higher packet transmission rate. Added new connection methods for Pi-SPROG Raspbery-Pi hardware.
  • SIGNALS:
  • Signal Systems:
  • Steve Todd improves the contents of and icons for the Basic signal system
  • Egbert Broerse provided updates to the ProRail 1954 system
  • NEW / UPDATED DECODER DEFINITIONS:
  • Fixed a problem that caused decoder definitions that have constants in Function Maps to fail to open in V4.3.5. (Dave Heap)
  • ESU: Dave Heap made the following changes: Fixed the incorrect CV number for ESU Estop on speed step 0.
  • Lenz: Alain Carasso added version checks to the Lenz Plus decoder definitions (PR #1267)
  • MRC: Alain Le Marchand improved the handling of CV29 in the MRC 1825 definition
  • SoundTraxx: Marc Fournier added new EMD GP38-2 and EMD GP40 models
  • Tehnologistic (train-O-matic): Lolke Bijlsma provided definitions for the new NMJ B3 and B7 DCC light board decoders
  • ZIMO: Nigel Cliffe provided a definition for the new MX600 decoder (PR #1302)
  • ROUTES:
  • Routes in transition (started, not yet done) now show INCONSISTEN on their status sensor, and ACTIVE only when complete
  • MISCELLANEOUS:
  • Sonny Hansen did a lot more work on the Danish translation
  • Alain Le Marchand updated the French translation
  • The handling of locomotive identification was improved in DecoderPro; the selection should no longer be lost if you press "ident" after rearranging the columns.
  • The DecoderPro File menu now has a selection to verify XML files.
  • The web server now handles HTTP redirects slightly differently. See the Web server help for more details.
  • Walt Thompson highlighted a problem in the LightTable documentation (PR #1301)

New in JMRI 4.3.4 Test (Mar 14, 2016)

  • HARDWARE SUPPORT:
  • LocoNet:
  • The Digitrax DB150 Empire Builder command station uses a single output for powering both the main track and the programming track. JMRI is supposed to turn track power back on after doing a programming track (Service Mode) CV write, but it was also erroneously turning track power on after going an Ops Mode CV write. This is now fixed: Power on (GPON message sent) only happens after a service mode CV write. Note that JMRI does not turn track power on after a CV write that ends it in an error; this is the same behavior as before.
  • NCE:
  • Fixed a problem preventing the combination of an NCE-USB adapter with the PowerPro, SB3 or SB5 Smartbooster from doing ops-mode (on main) programming.
  • RFID:
  • Fixed a problem preventing MERG Concentrator serial connections from being used.
  • Roco z21/Z21:
  • Throttle support now uses Z21/z21 specific XPressNet messages and replies.
  • Turnout support now uses Z21/z21 specific XPressNet messages and replies.
  • SRCP:
  • JMRI's SRCP server implementation now supports throttles
  • TCS:
  • Paged access to TCS decoders could sometimes overrun the power-on/power-off cycle. Fixed.
  • NEW / UPDATED DECODER DEFINITIONS:
  • RR-CirKits:
  • Dick Bronson updated the Watchman and Towerman definitions
  • TCS:
  • Michael Mosher updated the TCS WOW Diesel decoder definition
  • Viessmann:
  • Alain Le Marchand added the Viessmann 5240, 5241, 5244, 5245 decoder definitions
  • ZIMO:
  • Mark Waters provided updated definitions and a Sound Sample selection pane for the MX640, MX644, MX645, MX646, MX648, MX648+, MX658, MX695, MX696 and MX697V decoders.
  • Miscellaneous:
  • Knut Schwichtenberg provided a definition for the FREDi SV programming
  • OPERATIONS:
  • New feature for the Train row color, you can now by train define a train reset row color. See "Train Row Color" under "Tools" in the "Trains" window.
  • Hold cars are no longer listed for staging tracks in the CSV files.
  • Improvements to the import and export cars feature. You can now import a car's load, move count, and if the car is a caboose, passenger, has FRED, or utility car. You can now export only the cars shown in the "Cars" window. Note that you can access the "Cars" window from a location or track and only cars at that location or track are shown. Useful when exchanging cars between layouts.
  • Improvements to the "Switch Lists by Location" window. Now changes to locations with "similar names" appear correctly in the table.
  • The "Trains" window now scrolls automatically when building trains.
  • Fixed a bug where a train manifest didn't show all of the work at a location with several "similar names" and the sort by track option was selected.
  • The program now disallows special control characters when entering location names, road and road numbers. These names are used to create file names and file names can't have embedded control characters.
  • ROSTER:
  • The "Roster" frame, which is also the main DecoderPro window, now disables (grays out) the "Identify" button if there's no service mode (programming track) available. Identify reads the programming track to pick the current locomotive decoder out of the Roster, so it can't function when there's no connection to the programming track available. You can still select the locomotive manually, e.g. for local editing of the information or for ops mode (on main) programming.
  • PREFERENCES:
  • Easy access to control the automatic launch of the WiThrottle server has been incorporated in the WiThrottle preferences page.
  • It is possible for a single profile stored on a shared location to maintain individual per-computer settings for each connection. This feature is expermintal and may not work for all connection types. Please report issues with this at our GitHub issue list. (Randall Wood)
  • LOGIX:
  • Fixed a problem reloading some Logix that reference the same input (Sensor, Turnout) multiple times in a single Conditional
  • LAYOUT EDITOR:
  • Steve Rawlinson added keyboard shortcuts to the Layout Editor
  • Fixed a problem where some complex Layout Editor panels don't load fully, resulting in the signals not updating properly.
  • SCRIPTING:
  • Steve Rawlinson added an AutoLayoutPowerOff.py example script which automatically powers off a layout when no activity has been detected for a period of time.
  • Steve Toddy added an SetAllUnknownSensorsToInactive.py example script which does what it's name says: Any JMRI Sensor that's showing "UNKNOWN" state will be set to "INACTIVE" state. This is particularly use when using a simulated connection, as it makes it look like there's a layout connected.
  • MISCELLANEOUS:
  • Sonny Hansen further improved the Danish translation
  • Egbert Broerse expanded the JMRI Glossary, made it sortable and added columns with keywords from some of our Help translations. Suggestions for additional definitions are welcome.
  • Egbert Broerse further improved the German translation and fixed some issues with the French translation
  • Egbert Broerse further improved the WiThrottle documentation and translations
  • Kai Vehmersalo wrote an illustrated Ubuntu install instruction
  • Deprecated Findbugs annotations used in source code maintenance were updated to use replacement versions

New in JMRI 4.2.1 (Jan 4, 2016)

  • A problem, which only occurred on certain MacOS X systems, prevented seeing the serial ports properly. This has been fixed. This is the only change in this release since JMRI 4.2.

New in JMRI 4.2.0 (Dec 28, 2015)

  • HARDWARE SUPPORT:
  • Improved error handling during start-up when something Really Unexpected happens, such as configuring to connect to a port that doesn't even exist.
  • C/MRI:
  • You can now connect to your C/MRI nodes via a network connection.
  • DCC++:
  • Mark Underwood added support for the open-source Arduino-based DCC++ Base Station
  • Basic support for Base Station firmware versions 1.0 and 1.1
  • Supports Serial/USB interface
  • Simulator for off-line operation of JMRI
  • Basic support for "DCC++ over TCP" - connect from a remote JMRI instance to a local instance hosting a DCC++ base station
  • Throttle and Programmer support
  • Basic support for Sensors, Accessory decoders and Turnouts
  • JMRI Simple Server/JMRI Client:
  • Fixed bugs in both the JMRI Simple Server and JMRI Client that prevented reporter information from being passed from the server to the client.
  • Fixed bugs in both the JMRI Simple Server and the JMRI Client that caused the server crash when a lower case letter was used in the transmitted prefix.
  • Make client attempt to reconnect if the connection is closed unexpectedly.
  • LocoNet:
  • JMRI can now directly program LocoNet devices that use the "System Variable" (SV) protocol version 2. Select "System Variable Type 2" as a Single CV Programmer mode to use this, and see this page for more details.
  • More work on the LN SV2 programming protocol. Please see the documentation page. It's basically ready for people to start defining board definition files. A basic definition is available under "Public Domain and DIY" decoders, then "LNSV2-using boards".
  • LocoNet Monitor now decodes LN SV2 programming protocol messages.
  • A programmer mode for the original LocoIO boards, which use the LN SV1 programming protocol, is also available. A basic DecoderPro decoder definition is available under "Public Domain and DIY" decoders, then "Hans De Loof LocoIO".
  • You can now configure a connection to a Bluetooth LocoBridge adapter in the Digitrax connection preferences.
  • NCE:
  • Configure USB Tool - Removed attempted reading of the current USB cab id. It was not working for all cases and prevented reseting the cab id when the USB had an invalid (for the system currently connected) cab id.
  • Dave Heap added display of USB & Serial computer cab context pages to the NCE Cabs Monitor.
  • OpenLCB:
  • The OpenLCB library advanced to version 0.6.4, which (among other things) fixed a problem when trying to read broken configuration definition info from a node. Note that this is probably the last version of this library, as prototype work is no longer a part of the OpenLCB group effort. It's not yet clear whether a new group will emerge to maintain this code. If you're interested in helping, please contact the JMRI or OpenLCB developers.
  • The basic work to allow programming of OpenLCB Nodes via the DecoderPro infrastructure is in place. Later updates will connect this to DecoderPro itself.
  • A basic bootloader is available for attached OpenLCB nodes. This lets you install new firmware in a compatible node from a local .hex file (provided by the node manufacturer). Nobody has announced nodes that use this feature, but hopefully since we built it they will come. Note: For safe and reliable operation, this relies on items that were removed from the OpenLCB specification in February 2015. For more information, see the package documentation.
  • The OpenLCB support library has been updated to version 0.6.5
  • RFID:
  • Network connections to RFID readers are now possible. Each connection configured into JMRI can talk to a single RFID reader, or to multiple ones through a MERG-style concentrator or equivalent. JMRI can have as many RFID readers connected via network connections as desired.
  • Oscar A. Pruitt provided the implementation to support RFID readers using the EM-18 protocol:
  • A bug that caused connections using the MERG Concentrator to not work has been fixed. (Matt Harris):
  • A bug that meant RFID tags were misread when using Olimex RFID readers has been fixed. This will mean that details of any existing tags read using an Olimex reader are now invalid and will need to be re-identified and updated in the ID Tag list. (Matt Harris):
  • Minor corrections were made in the Core-ID, EM18 and SeeedStudio RFID reader interfaces to correctly reject any tag reads with invalid checksums - this was not always happening resulting in the potential of incorrect tag reads being accepted. (Matt Harris):
  • Added test cases for all implemented RFID protocols. (Matt Harris)
  • SPROG:
  • Dave Heap made the following changes:
  • Modified the SPROG Command Station code to work around issues with some non NMRA-compliant decoders.
  • The SPROG Programmer now correctly reports an overload on the Programming Track.
  • SIGNALS:
  • Signal Mast Editor:
  • Ken Cameron fixed editing of signal head masts to also support old format panel files.
  • Dick Bronson updated the NS 2008 definition
  • New / Updated decoder definitions
  • The XML schema for decoder files has been made more precise. See the warning above for more on the implications of this.
  • Dave Heap made the following changes to Factory Resets:
  • A preferred programming mode for the reset can be specified and will be used if available.
  • Programming on Main mode for the reset will now be available if explicitly specified for a decoder.
  • These features are made available by specifying elements for , or .
  • BLI:
  • Michael Mosher updated the BLI Paragon 3 and 2 decoders
  • Digitrax:
  • John McMasters updated the Digitrax Extended Series 6 v3.5
  • Doehler & Haas:
  • Pierre Billon improved and consolidated the D&H definitions:
  • Pierre Billon updated the Doehler & Haas definitions, including adding a new entry for the 1.06 version of the SH10A
  • ESU
  • Dave Heap made the following changes::
  • Added the "Random Single Strobe" effect to Function Outputs.
  • Added the LokSound Select OEM.
  • Fixed the sense of the Adaptive Regulation Frequency bit.
  • Preliminary support for ESU LokSound Select L.
  • Corrected some maximum values and bitmasks on the Function Outputs pane.
  • Various updates and corrections, including new Product IDs for correct decoder identification.
  • MERG:
  • The MERG ACC5 definition has been converted to the modern format of internal variables from the older "ivariable" form.
  • MGP:
  • Anders Bostrom provided definitions for the MGP LocoBridge, Servo5, Panel and Signal 10 decoders. These use the LocoNet VS2 protocol to configure the units over a LocoNet, not over a programming track.
  • MTH:
  • Michael Mosher provided patch: 1069
  • NCE:
  • Dave Heap corrected the range of CVs 3 & 4 for some decoders.
  • QSI:
  • Some QSI decoder definitions have been converted to the modern format of their internal variables from the older "ivariable" form. The rest will be done early in the JMRI 4.3 release series.
  • A problem with the "Max Bell" and "Bell Select" variables in several QSI definitions was fixed.
  • Dave Heap made the following changes:
  • Added a definition for the Eureka 50 Class.
  • Improved the definition for the Eureka R Class.
  • Added the ability to import CV values from Quantum CV Manager (.qcv) files.
  • Factory Reset uses Paged Mode (more reliable with some command stations, such as NCE Power Pro).
  • Factory Reset can be done with Programming on Main.
  • Corrected the range of CVs 3 & 4 for some decoders.
  • RR-CirKits:
  • The LNCP Basic definition has been converted to the modern format of internal variables from the older "ivariable" form.
  • Dick Bronson provided a definition for the RR-CirKits SwitchMan:
  • The MotorMan decoder definition was updated.
  • SoundTraxx:
  • Michael Mosher added the Econami range.
  • Dave Heap clarified the interaction between the Extended and Legacy Function Map panes in the Econami range.
  • Updated the Econami Steam to use a separate SoundPane to warn about the issue with the chuff and 'original' Econami decoders. The value range now supports 0-255, but 'original' Econami decoders will go silent if value is >127. Soundtraxx will reprogram the decoder to allow the new range.
  • Michael Mosher updated the Soundtraxx MC decoders:
  • Michael Mosher updated the Genesis caboose lighting decoder:
  • Dave Heap corrected the range of CVs 3 & 4 for some decoders.
  • TCS:
  • The "Global lighting option 1" on many TCS decoders has been fixed.
  • Michael Mosher provided patch: 1070 to update WOW diesel sound set 2:
  • Peter Ulvestad corrected the tooltips in some of the TCS decoder definitions:
  • Michael Mosher removed the non-existance CV139 from the non-sound TCS decoders
  • OPERATIONS::
  • Improved train build report to first show which tracks in staging can service the train being built.
  • Made some improvements to the spur window to show the current schedule status.
  • You can now copy a schedule, see under tools in the edit schedule window, or schedules window.
  • The "Show Schedules by Car Type and Load" window now has the option to show all loads.
  • You can now open all edit location windows at the same time. Previously you could only open two edit location windows at once.
  • CSV switch lists now include hold cars.
  • CSV manifests how include hold cars for tracks that are only served by the train being built.
  • New "Yardmaster by Track" window can be found under "Tools" in the "Yardmaster" window. This window shows the work for a location listed by tracks. It also shows the hold cars for each track.
  • Improved the train build when using aggressive mode and small move counts in a train's route. Now there's a slight bias to pick up an extra car during the first couple of passes.
  • Improved the "Change Train Departure Times" tool to also adjust departure times in a train's route.
  • The "Edit Car" window now shows the blocking order for kernels.
  • Changed how the program deals with alternate tracks and cars with custom loads. Previously if the program found an alternate track assigned to a spur, and all spurs were full, it would hold the car at its current location until one of the spurs had space for the car. Now there's a new option for a spur that is part of the load option window for a spur. A checkbox labeled "Hold cars with custom loads when spurs are full" now performs the same function as the alternate track did with regards to holding cars. For more information, see the help and "Load Options" for a spur.
  • Make some improvement to the train build report. Now when selecting detailed or very detailed "Router Detail Level", the program will show which spur / schedules are ignored when generating custom loads out of staging.
  • Made some improvement to the train "Show Car Types Serviced" with regards to showing better messages when selecting a car and there are track destination restrictions for that car's track.
  • Made some improvements to the help with regards to schedules.
  • Fixed a bug where the train build reports were placed in a directory called "operationsbuildstatus". This problem was introduced in version 4.1.1. You can delete this directory if you've used any of the test versions.
  • OBLOCKS::
  • Add feature for Tracker to follow trains into and through dark OBlocks.
  • Allow international locales to correctly specify lengths in OBlock tables. (Matt Harris)
  • PREFERENCES:
  • Some preferences are now stored in properties files in the preferences directory within the current profile. The file preferences.properties contains settings that a common to all computers using that profile, while the file (or files) named in the pattern jmri--.properties contain per-computer settings.
  • Web Server and JSON Server preferences are now stored in the above format. Although the pre-JMRI 4.1 settings files for these servers are not removed, changes to these services' settings made in JMRI 4.1 will not be available to earlier versions of JMRI. These services' settings will only be migrated to the new format by clicking Save in the Preferences window.
  • mDNS / Bonjour / ZeroConf network services advertisements can be blocked on IPv4 or IPv6 addresses by editing the the per-computer preferences file to include either or both of the following lines:
  • jmri-util-zeroconf.IPv4=false
  • jmri-util-zeroconf.IPv6=false:
  • Valid values for these settings are true or false. Note that this is an experimental feature.
  • Copying a Configuration Profile no longer throws an error. (Randall Wood)
  • LOGIX::
  • Enhancement Request #574 implemented. Can use fractions of seconds for timing.
  • Add feature to set sensor/turnout delay times indirectly from memory.
  • ROSTER::
  • Clarify if an entry will be deleted from the Roster or from a group in the context menu. (Randall Wood):
  • Allow a multiple selection of entries in the Roster or a group to be deleted. (Randall Wood)
  • ROSTER SPEED PROFILE:
  • Improvements made to the UI.
  • The starting and ending speed steps can be set for measuring a profile. Also the increment for each profile step may be set:
  • The speed profile will interpolate or extrapolate for omitted speed steps:
  • The speed profile can be viewed in a table:
  • There is an option to merge or replace the speed profile
  • PANEL EDITORS::
  • Fix backgrounds of text to stay transparent when rotated.
  • Fix false resizing of IndicatorTrackIcons:
  • Fix spurious window names appearing under "Windows" menu:
  • The code for handling Panel Editor / Control Panel Editor icons has changed to better deal with rotating icons. This has changed how opaque vs transparent icon backgrounds are handled.
The cause of these effects was the necessity to remove many setOpaque(true) calls to Positionable objects. The reason is that when rotated with a color background the object cannot be setOpaque(true). If opaque, color background will be the entire bounding box, not a shape corresponding to the original item. To display a rotated Positionable, the background, margins and border, if any, are drawn with rotated and filled rectangles to simulate what is normally the unrotated bounding rectangle and border.
The affected objects are PositionableLabels, SensorIcons (especially when represented with text rather than icons) and MemoryIcons. MemoryInputIcons, MemoryComboIcons and MemorySpinnerIcons are also affected, due to the background, margin and border code they share with PositionableLabel decendants. (They can't be rotated due to having widgets that won't rotate)

  • SCRIPTING::
  • Support for running ECMAScript and JavaScript from external files has been added in all cases except within Jynstruments.
  • Jython has been upgraded to version 2.7.0.
  • Any Java-compatible ScriptEngine can be included by including the ScriptEngine JA file in the JMRI Classpath.
  • 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.
  • The "MakeOriginalDecoderPro.py" script has been corrected to work with the updated scripting support introduced in JMRI 4.1.2.
  • The "AutoDispatcher2.py" script has been corrected to work with the updated scripting support when the "jython.exec=true" setting is set within the "python.properties" file.
  • Certain Python scripts are too large to be evaluated in Jython. If a script fails with the java.io.IOException: Mark invalid error, 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 to emulate the evaluation environment used when jython.exec=false. (Randall Wood):
  • The user-defined scripts folder and the jython folder in the JMRI installation are automatically appended to the python.path so Jython scripts can directly import other jython scripts in those locations. (Randall Wood):
  • Support for AppleScript has been added. On platforms other than OS X, this may send the message ScriptEngineManager providers.next(): javax.script.ScriptEngineFactory: Provider apple.applescript.AppleScriptEngineFactory not found to the console, but this message can be safely ignored. (Randall Wood):
  • The jmri_bindings.py file is now available in the jython directory.
  • MISCELLANEOUS:
  • Include a python.properties for configuring the Jython environment.
  • Improve instructions for making a local copy of the JMRI web site and providing a local XML catalog.
  • Sonny Hansen has greatly improved the Danish translation.
  • The Multiple Decoder Programming tool is back to being available in the DecoderPro tools menu. Also, you can add it as a button or startup item in PanelPro and DecoderPro.
  • The Danish translations has been made more general. It was coded as _da_DK, which is "Danish (Denmark)". That's been changed to _da, which is generic "Danish", no matter where spoken. If you have local translation files for Danish, this might conflict. Contact the JMRI list for help with this. Contributed translations are always welcome!:
  • The "Check XML File" option under the PanelPro Debug menu didn't need to be a separate item, as it was already included in "Validate XML File". It's been removed, please select the "Validate XML File" from now on.
  • You can now add "Validate XML File" as a custom button via the Start Up pane in the Preferences.
  • A bug that caused panels not to be stored when empty AudioBuffers had been created via a script has been fixed. (Matthew Harris):
  • Paul Bender updated the consist tool to sort the consist list numerically.
  • Paul Bender added restore button to the consist tool that requests the command station re-create the consist.
  • The configuration is now stored in multiple files within a directory named profile inside a Configuration Profile instead of within the file ProfileConfig.xml. PanelPro and DecoderPro both should migrate from the old configuration to the new configuration seamlessly. See Issue #69 for more details.
  • Improvements to the way TCP based network connections detect a disconnected server.
  • Update of the OperationsPro online Manual up to 3.11 and general readability (Egbert Broerse).
  • Improved the script editor (Panels -> Script Entry):
  • Now remembers the selected directory from operation to operation, so you don't have to renavigate each time.
  • Use the same file selector for Load and Store, so it's easy to work in one directory.
  • Use a proper Store dialog so you can e.g. change the filename.

New in JMRI 4.1.2 Build 29999 Dev (Sep 21, 2015)

  • Hardware Support:
  • JMRI Simple Server/JMRI Client:
  • Fixed bugs in both the JMRI Simple Server and JMRI Client that prevented reporter information from being passed from the server to the client.
  • Fixed bugs in both the JMRI Simple Server and the JMRI Client that caused the server crash when a lower case letter was used in the transmitted prefix.
  • Make client attempt to reconnect if the connection is closed unexpectedly.
  • LocoNet:
  • More work on the LN SV2 programming protocol. Please see the documentation page. It's basically ready for people to start defining board definition files. A basic definition is available under "Public Domain and DIY" decoders, then "LNSV2-using boards".
  • LocoNet Monitor now decodes LN SV2 programming protocol messages.
  • A programmer mode for the original LocoIO boards, which use the LN SV1 programming protocol, is also available. A basic DecoderPro decoder definition is available under "Public Domain and DIY" decoders, then "Hans De Loof LocoIO".
  • You can now configure a connection to a Bluetooth LocoBridge adapter in the Digitrax connection preferences.
  • NCE:
  • Dave Heap added display of USB & Serial computer cab context pages to the NCE Cabs Monitor.
  • OpenLCB:
  • The OpenLCB support library has been updated to version 0.6.5
  • RFID:
  • Network connections to RFID readers are now possible. Each connection configured into JMRI can talk to a single RFID reader, or to multiple ones through a MERG-style concentrator or equivalent. JMRI can have as many RFID readers connected via network connections as desired.
  • Oscar A. Pruitt provided the implementation to support RFID readers using the EM-18 protocol
  • New / Updated decoder definitions:
  • ESU:
  • Dave Heap made the following changes:
  • Preliminary support for ESU LokSound Select L.
  • SoundTraxx:
  • Updated the Econami Steam to use a separate SoundPane to warn about the issue with the chuff and 'original' Econami decoders. The value range now supports 0-255, but 'original' Econami decoders will go silent if value is >127. Soundtraxx will reprogram the decoder to allow the new range.
  • Operations:
  • Improved the train build when using aggressive mode and small move counts in a train's route. Now there's a slight bias to pick up an extra car during the first couple of passes.
  • Improved the "Change Train Departure Times" tool to also adjust departure times in a train's route.
  • Roster:
  • Clarify is an entry will be deleted from the Roster or from a group in the context menu. (Randall Wood)
  • Allow a multiple selection of entries in the Roster or a group to be deleted. (Randall Wood)
  • Scripting:
  • Support for running ECMAScript and JavaScript from external files has been added in all cases except within Jynstruments.
  • Jython has been upgraded to version 2.7.0.
  • Any Java-compatible ScriptEngine can be included by including the ScriptEngine JAR file in the JMRI Classpath.
  • 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.
  • Miscellaneous:
  • A bug that caused panels not to be stored when empty AudioBuffers had been created via a script has been fixed. (Matthew Harris)

New in JMRI 4.0.1 Build 29956 (Sep 17, 2015)

  • JMRI would crash on startup if a previously configured port was no longer present. This is now fixed.

New in JMRI 4.1.1 Build 29773 Dev (Aug 17, 2015)

  • Hardware Support:
  • Improved error handling during start-up when something Really Unexpected happens, such as configuring to connect to a port that doesn't even exist.
  • C/MRI
  • You can now connect to your C/MRI nodes via a network connection.
  • LocoNet:
  • JMRI can now directly program LocoNet devices that use the "System Variable" (SV) protocol version 2. Select "System Variable Type 2" as a Single CV Programmer mode to use this, and see this page for more details.
  • NCE:
  • Configure USB Tool - Removed attempted reading of the current USB cab id. It was not working for all cases and prevented reseting the cab id when the USB had an invalid (for the system currently connected) cab id.
  • OpenLCB:
  • The OpenLCB library advanced to version 0.6.4, which (among other things) fixed a problem when trying to read broken configuration definition info from a node.
  • Note that this is probably the last version of this library, as prototype work is no longer a part of the OpenLCB group effort. It's not yet clear whether a new group will emerge to maintain this code. If you're interested in helping, please contact the JMRI or OpenLCB developers.
  • The basic work to allow programming of OpenLCB Nodes via the DecoderPro infrastructure is in place. Later updates will connect this to DecoderPro itself.
  • A basic bootloader is available for attached OpenLCB nodes. This lets you install new firmware in a compatible node from a local .hex file (provided by the node manufacturer). Nobody has announced nodes that use this feature, but hopefully since we built it they will come.
  • Note: For safe and reliable operation, this relies on items that were removed from the OpenLCB specification in February 2015. For more information, see the package documentation.
  • Signals:
  • Signal Mast Editor
  • Ken Cameron fixed editing of signal head masts to also support old format panel files.
  • New / Updated decoder definitions:
  • ESU:
  • Dave Heap made the following changes
  • Added the "Random Single Strobe" effect to Function Outputs.
  • Added the LokSound Select OEM.
  • Added some new ProductIDs for correct decoder identification.
  • Fixed the sense of the Adaptive Regulation Frequency bit.
  • MERG:
  • The MERG ACC5 definition has been converted to the modern format of internal variables from the older "ivariable" form.
  • MTH:
  • Michael Mosher provided patch: 1069
  • QSI:
  • A problem with the "Max Bell" and "Bell Select" variables in several QSI definitions was fixed.
  • RR-CirKits:
  • The LNCP Basic definition has been converted to the modern format of internal variables from the older "ivariable" form.
  • SoundTraxx:
  • Michael Mosher added the Econami range.
  • Dave Heap clarified the interaction between the Extended and Legacy Function Map panes in the Econami range.
  • TCS:
  • The "Global lighting option 1" on many TCS decoders has been fixed.
  • Michael Mosher provided patch: 1070 to update WOW diesel sound set 2
  • Operations:
  • Improved train build report to first show which tracks in staging can service the train being built.
  • Made some improvements to the spur window to show the current schedule status.
  • You can now copy a schedule, see under tools in the edit schedule window, or schedules window.
  • The "Show Schedules by Car Type and Load" window now has the option to show all loads.
  • You can now open all edit location windows at the same time. Previously you could only open two edit location windows at once.
  • CSV switch lists now include hold cars.
  • CSV manifests how include hold cars for tracks that are only served by the train being built.
  • New "Yardmaster by Track" window can be found under "Tools" in the "Yardmaster" window. This window shows the work for a location listed by tracks. It also shows the hold cars for each track.
  • OBlocks:
  • Add feature for Tracker to follow trains into and through dark OBlocks.
  • Preferences:
  • Some preferences are now stored in properties files in the preferences directory within the current profile. The file preferences.properties contains settings that a common to all computers using that profile, while the file (or files) named in the pattern jmri--.properties contain per-computer settings.
  • Web Server and JSON Server preferences are now stored in the above format. Although the pre-JMRI 4.1 settings files for these servers are not removed, changes to these services' settings made in JMRI 4.1 will not be available to earlier versions of JMRI. These services' settings will only be migrated to the new format by clicking Save in the Preferences window.
  • mDNS / Bonjour / ZeroConf network services advertisements can be blocked on IPv4 or IPv6 addresses by editing the the per-computer preferences file to include either or both of the following lines:
  • jmri-util-zeroconf.IPv4=false
  • jmri-util-zeroconf.IPv6=false
  • Valid values for these settings are true or false. Note that this is an experimental feature.
  • Logix:
  • Enhancement Request #574 implemented. Can use fractions of seconds for timing.
  • Add feature to set sensor/turnout delay times indirectly from memory.
  • Roster Speed Profile:
  • Improvements made to the UI.
  • The starting and ending speed steps can be set for measuring a profile. Also the increment for each profile step may be set
  • The speed profile will interpolate or extrapolate for omitted speed steps
  • The speed profile can be viewed in a table
  • There is an option to merge or replace the speed profile
  • Panel Editors:
  • Fix backgrounds of text to stay transparent when rotated.
  • Fix false resizing of IndicatorTrackIcons
  • Fix spurious window names appearing under "Windows" menu
  • Miscellaneous:
  • Improved the script editor (Panels -> Script Entry):
  • Now remembers the selected directory from operation to operation, so you don't have to renavigate each time.
  • Use the same file selector for Load and Store, so it's easy to work in one directory.
  • Use a proper Store dialog so you can e.g. change the filename.
  • Include a python.properties for configuring the Jython environment.
  • Improve instructions for making a local copy of the JMRI web site and providing a local XML catalog.
  • Sonny Hansen has greatly improved the Danish translation.
  • The Multiple Decoder Programming tool is back to being available in the DecoderPro tools menu. Also, you can add it as a button or startup item in PanelPro and DecoderPro.
  • The Danish translations has been made more general. It was coded as _da_DK, which is "Danish (Denmark)". That's been changed to _da, which is generic "Danish", no matter where spoken. If you have local translation files for Danish, this might conflict. Contact the JMRI list for help with this. Contributed translations are always welcome!
  • The "Check XML File" option under the PanelPro Debug menu didn't need to be a separate item, as it was already included in "Validate XML File". It's been removed, please select the "Validate XML File" from now on.
  • You can now add "Validate XML File" as a custom button via the Start Up pane in the Preferences.

New in JMRI 3.11.10 Build 29607 Dev (Jul 7, 2015)

  • Signals:
  • Randall Wood fixed a NullPointerException error sometimes seen when using signal definitions from a user's own files.
  • New / Updated decoder definitions
  • RR-CirKits: Dick Bronson provided an update to the SignalMan decoder file
  • Warrants:
  • An improvement has been made in calculating distances and times when speed changes are done due to signal aspects or block speed specifications. Warrants now use the Roster Speed Profile for engine speed characteristics.
  • NXWarrants can be used to add data to the Roster Speed Profile. See "Compute Factor" checkbox.
  • Fixed problems with Warrants calculating the correct point to begin and end signalled Speed changes
  • Signal table for OBlocks Offset column now specifies a distance rather than a time to adjust speed change points to conform to signal placement on the layout.
  • Miscellaneous:
  • Randall Wood fixed a problem with invalid schema locations in the BR-2003 signal aspects definition and one of the decoder definition tests.
  • Pete Cressman fixed the Portal/Signal tables to now conform with Speed Profiling.

New in JMRI 3.11.7 Build 29385 Dev (Jun 1, 2015)

  • HARDWARE SUPPORT:
  • MERG CBUS:
  • Added basic support for non-variable lights (Matthew Harris)
  • Zimo MXULF:
  • Now supports version 0.61.13 for programming (KD)
  • NEW / UPDATED DECODER DEFINITIONS:
  • Improved the reliability of "Read type from decoder" by retrying several times in the event of a (possibly transient) read failure.
  • A single decoder model can now match multiple Product IDs, specified as a comma-separated list in the "productID" attribute.
  • SoundTraxx:
  • On30 Whitcomb 50-ton: horns and default values
  • 2-8-4 Berkshire (HO and N scale) - 3 variants each - full update
  • EMD GP-7 (HO scale): horns and default values
  • CV113 only supported by SD70ACe, GEVO ES44AC and GG1.
  • TCS:
  • Old decoders where no replacement exists in the present range are now shown permanently.
  • Old versions of present decoders will only show is there is a hit on version range through automatic identification.
  • ESU:
  • Most modern ESU decoders will now be identified with "Read type from decoder".
  • Renamed and consolidated models to conform to ESU practice. Old model names are still recognised but not shown. They can be updated via "Update Decoder Definitions".
  • Preliminary support for ESU LokSound L V4.0.
  • Other improvements and corrections to the ESU decoder definitions.
  • OPERATIONS:
  • Fixed a major bug introduced in version 3.11.6 where during startup the program won't load all of the cars saved in the xml file.
  • New feature, car summary by track for Switch Lists. The summary shows by track all of the car pulls and set outs. It also shows the hold cars for each track. Now your operators will know by track all of the pulls needed for all trains and which cars need to stay put. Should be useful for the larger switch jobs. The summary is only available if you're running the switch list in real time.
  • The train's description now has the option to include the lead engine's road name.
  • New feature, you can now block the tracks at a location for your manifests and switch lists. See http://jmri.sourceforge.net/help/en/package/jmri/jmrit/operations/Operations.shtml#TrackBlockingOrder for more info.
  • MISCELLANEOUS:
  • Added ability to set timeout for automatically starting with a profile. (Randall Wood)
  • Audio support has been updated to now use the Jogamp version of the JOAL libraries. This now means that 64-bit operating systems are supported as well as some ARM-based systems. Additionally, OpenAL-Soft is now bundled with JMRI and no longer requires separate installation. (Matthew Harris)

New in JMRI 3.11.6 Build 29243 Dev (May 11, 2015)

  • MRC:
  • Ken Cameron added support for inverting turnouts on MRC systems.
  • SPROG:
  • Fixed a problem where DecoderPro's read buttons would be disabled if using SPROG while JMRI is configured with multiple hardware interfaces.
  • New / Updated decoder definitions:
  • Dave Heap made the following changes:
  • Improved the reliability of "Read type from decoder" by retrying several times in the event of a (possibly transient) read failure.
  • A single decoder model can now match multiple Product IDs, specified as a comma-separated list in the "productID" attribute.
  • ESU:
  • Dave Heap made the following changes:
  • Most modern ESU decoders will now be identified with "Read type from decoder".
  • Renamed and consolidated models to conform to ESU practice. Old model names are still recognised but not shown. They can be updated via "Update Decoder Definitions".
  • Preliminary support for ESU LokSound L V4.0.
  • Other improvements and corrections to the ESU decoder definitions.
  • MRC:
  • Alain Le Marchand made a complete overhaul of the MRC Sound decoders:
  • Renamed all models in a consistent way. Rearranged families by scale. Old model names are still recognised but not shown. They can be updated via "Update Decoder Definitions".
  • Dispatched all CVs previously displayed on "MRC" pane to the relevant standard panes.
  • Fixed several definitions and aligned to the documentation available on MRC web site.
  • Added new definitions for: 1660 (N Life-Like C-Liner), 1817 and 1818 (G Diesels), 1822 (S Diesel), 1828 (N Atlas SD50/60), 1907 (HO Atlas S2/S4), 1911 (HO Steam), 1913 (HO Diesel), 1956 (N Steam), 1958 (N Kato PA1), 1959 (N Diesel), 1960 (N Kato SD45/SD70MAC/AC4400)
  • MISCELLANEOUS:
  • Digikeijs (Digirails): Added definition for Function decoder DR80015 (Alain Le Marchand)
  • Hornby: Added defintions for Hornby TTS Class 37 and Class 40 (Nigel Cliffe)
  • Trix: Added defintions for Trix Sound HO BR V160 and BR 41 (Alain Le Marchand)
  • OPERATIONS:
  • Dan Boudreau made the following changes to operations:
  • New feature, car summary by track for Switch Lists. The summary shows by track all of the car pulls and set outs. It also shows the hold cars for each track. Now your operators will know by track all of the pulls needed for all trains and which cars need to stay put. Should be useful for the larger switch jobs. The summary is only available if you're running the switch list in real time.
  • The train's description now has the option to include the lead engine's road name.
  • Paul Bender updated support for IdTag readers in Operations. Rolling Stock location and last moved date will now be automatically updated when an IdTag associated with the piece of rolling stock is seen by a reader associated with a location.
  • Preferences
  • Allow startup files to be edited in the DecoderPro 3 preferences dialog.
  • WARRANTS:
  • Fix several bugs recently introduced in record learn mode warrants.
  • Add feature to display warrant routes graphically for review when multiple routes are possible.
  • MISCELLANEOUS:
  • Debugging improvements in the Programmer support.
  • Minor performance improvements in programmer selection widgets.

New in JMRI 3.11.5 Build 29074 Dev (Apr 14, 2015)

  • 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 next in a series of test versions. We expect this series to end in the next JMRI production release around the middle of 2015.
  • 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 in JMRI 3.11.4 Build 28907 Dev (Mar 20, 2015)

  • 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 next in a series of test versions. We expect this series to end in the next JMRI production release around the middle of 2015.
  • 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.
  • JMRI is now only available under the GNU General Public License. For more information, please see our copyright and licensing page.
  • New warnings for this version:
  • This release, and all later releases in this cycle, require Java 1.8 or higher. To use this or any later JMRI releases, you'll have to update the Java on your computer to Java 1.8 or higher.
  • JMRI 3.11.3, and therefore this version, removes some files that were present in earlier versions. Failure to remove these can result in some portions of JMRI (notably the web server) failing to function correctly. If you are updating an existing JMRI installation to this version Linux, you must remove any older version of JMRI or unpack this version of JMRI in an alternate location. The recommended update procedures for JMRI on Microsoft Windows (run the installer) and Mac OS X (open disk image and drag to final location, e.g. Applications folder) remove/replace the older version of JMRI, ensuring that these obsolete files are not present.
  • This release uses JDOM 2.0.5, which requires some code changes if you are directly calling the parts of JMRI that interchange XML objects.
  • There are now separate settings for the default Service Mode Programmer and for the default Ops Mode Programmer. If you're using two or more system connections, this lets you use one connection for ops mode (on track) programming and another connection for your programming track. If you're using two separate connections, you should go to the Defaults pane on the Preferences window and check that those defaults were set properly.
  • If you are making a direct connection to a Intellibox unit via serial or USB, you will have to reselect your preferences. See the Uhlenbrock support page for instructions.
  • If you are using an NCE USB adapter, you will have to reselect your preferences the first time you use a JMRI 3.11 version (if you set them using JMRI 3.10 or earlier). See the page on configuring JMRI for NCE for instructions.
  • The Save button in the Preferences window now only prompts for restarts if required. There may be instances when pressing save incorrectly fails to prompt to restart JMRI or prompts to restart JMRI when it should not.
  • Because of internal code changes, this version of JMRI is not compatible with CATS 2.34 or earlier. Keep using JMRI 3.10 with CATS until there's a CATS update that says it will work with JMRI 3.11.
  • The XmlIO web service has been removed. All users who were relying on the XmlIO API are recommended to begin using the JSON API. inControl web throttle users are recommended to begin using webThrottle instead, or invest in devices that can support webThrottle, the iOS WiThrottle, or the Android Engine Driver.

New in JMRI 3.11.3 Build 28686 Dev (Feb 16, 2015)

  • Ken Cameron fixed a problem (present since 3.11.1) that prevented the NCE Consist tool window from opening.
  • Fixed a stall occasionally encountered when running a locomotive to measure a speed table via a LocoNet connection.
  • Fixed a problem where, if the decoder definition causes DecoderPro or DecoderPro3 to select a non-default programming mode, that wasn't properly being displayed.
  • Randall Wood fixed a problem that would cause an exception when starting without an existing configuration.
  • HARDWARE SUPPORT:
  • Uhlenbrock Intellibox:
  • Implementation of CV programming through IB-COM / Intellibox II.
  • Turnout control added for some Intellibox command stations
  • Full handling of decoder functions beyond F8 from/to throttles for Intellibox-II.
  • Partial handling of decoder functions beyond F8 from throttles for Intellibox-I with SW version 2.x (changes from IB-I keyboard not handled by throttle).
  • Improvements in message transfer from and to the LocoNet connection
  • BACHRUS SPEEDOMETER:
  • Dennis Miller made the following changes:
  • Added a new feature that allows loading a reference speed profile to make it easier to do speed matching.
  • Fixed a bug that prevented loading the loco address from the roster.
  • Made the Reset Graph button also reset the speedometer dial scale.
  • Fixed the scaling routine so that it uses the maximum of all profiles, not just the first.
  • Updated the help files for the speedometer
  • SIGNALS:
  • Dave Sand improved the SPTCO-1930 definitions.
  • Egbert Broerse improved the signal documentation.
  • Suzie Tall provided additional signal icons
  • New / Updated decoder definitions
  • Dave Heap updated the Function Mapping page to emphasise that "label" and "tooltip" attributes should not be added to a "fnmapping" element (they are ignored).
  • Fleischmann
  • Xavier Chazelle contributed a decoder definition for the N scale Fleischmann "Leig einheit" F830681 double unit of van equipped with a Fleischmann-specific dual decoder for opening or closing doors
  • SoundTraxx
  • Added definition for Bachmann On30 Whitcomb 50-Ton Center-Cab (DCC Sound On-Board, Plug-and-Play Sound Module) (Alain Le Marchand)
  • Fixed a problem (originating in the Great SoundTraxx renaming that took place in JMRI 3.11.1) that prevented some Soundtraxx decoders from being recognized
  • ESU
  • Dave Heap made the following changes:
  • Added a Row Move facility to the Function Map pane.
  • Updated the "Read Me" pane.
  • Replaced confusing LokSound V4.0 models that are functionally identical with generic models.
  • Corrections to displayed state of a Function Map summary line.
  • Fixed assorted V4 and LokPilot Standard issues, including rename CV48 for V4 and move to Sound pane.
  • Added generic LokSound Select steam and diesel models for use with as-yet undefined models.
  • Fixed an issue with "Requires Drive Sound" for V4 and Select decoders.
  • TCS:
  • Michael Mosher updated the TCS WOW definitions.
  • Trix
  • Added Trix 66840 (Bjørn Kvisli - Alain Le Marchand)
  • Zimo
  • Nigel Cliffe and Mark Waters did a lot of work on the Zimo decoders.
  • Operations
  • Dan Boudreau made the following changes to operations:
  • New feature for schedules. You can now select a random value for any schedule item. For example if you select 15 as the random value, you have a 15% chance that this item will be selected. Great feature for RIP tracks where you would like to randomly send a car to maintenance.
  • Fixed a problem where manifests and switch lists wouldn't preview or print if there wasn't a logo specified. Problem was introduced in versions 3.11.1 and 3.11.2
  • Improved the "Two Column by Track" manifest and switch list format to automatically not show the car's track name. Allows the conductor and yardmaster windows to now show the track name when using the "Two Column by Track" format.
  • New feature when departing staging, you can now control the maximum number of cars that can depart out of staging. By adjusting the number of cars requested in the train's route departure staging location, you can have the program select a staging track that has a number of cars equal to or less than requested. Note that if you set the requested number of cars out of staging to zero, the program will look for a staging track that doesn't have any cars. This new feature could cause existing trains builds to fail. To fix this type of build failure, just enter in the train's route departure staging location a number of requested cars greater than the numbers of cars that can fit on the departure staging track. For example, if your staging track can fit 12 cars maximum, a request of 12 cars or more should fix the build failure if there was one.
  • BLOCKS:
  • Fixed a problem where the Block table would throw errors at various times when JMRI was in a locale where decimal numbers are written 0,00 (as opposed to 0.00).
  • Preferences
  • The parameters for ramping speed changes used by Warrants and the Speed Map are now accessible through Preferences.
  • Clicking the Save button now prompts to restart only if the preferences have changed and if the change requires a restart. (Randall Wood)
  • Closing the Preferences window now prompts to save or discard preferences if the preferences have been changed. (Randall Wood)
  • Web Server
  • Fix an issue preventing the Web Throttle from handling certain turnouts. (Randall Wood)
  • Fix an issue preventing the Web Throttle from loading rosters. (Randall Wood)
  • Fix an issue preventing the Web Throttle from setting routes. (Ken Cameron)
  • Remove documentation and examples that use the XmlIO protocol.
  • The Web Server has been upgraded from Jetty 8.1.11 to 9.2.7. This is expected to improve performance, especially on constrained devices such as the Raspberry Pi. (Randall Wood)
  • MISCELLANEOUS:
  • LinkingLabels will now restore a minimized frame on Windows (already worked this way in Linux) (mstevetodd)
  • Add ability to specify the default location for new configuration profiles. (Randall Wood)

New in JMRI 3.11.2 Build 28415Dev (Jan 16, 2015)

  • Fixed problem where rebuilding the Roster can lose the existing roster groups.
  • Fixed problems with programmers created during the programming mode migration:
  • LocoNet connections using the LocoNet TCP Server (only, not local hardwired connections)
  • NCE via the NCE USB device to SB5 smart boosters

New in JMRI 3.11.1 Build 28327 Dev (Jan 12, 2015)

  • HARDWARE SUPPORT:
  • There are now separate settings for the default Service Mode Programmer and for the default Ops Mode Programmer. If you're using two or more system connections, this lets you use one connection for ops mode (on track) programming and another connection for your programming track. If you're using two separate connections, you should go to the Defaults pane on the Preferences window and check that those defaults were set properly. Some tools, like the Single CV Programmer and the DecoderPro main windows, will also allow you to select which system to use instead of relying on just the default setting.
  • Uhlenbrock Intellibox
  • THE UHLENBROCK INTELLIBOX SUPPORT HAS BEEN IMPROVED:
  • Enhancements to Loconet Monitor to parse the special IB-COM / Intellibox II CV programming messages.
  • Implementation of CV programming through IB-COM / Intellibox II.
  • Turnout control added for some Intellibox command stations
  • Full handling of decoder functions beyond F8 from/to throttles for Intellibox-II.
  • Partial handling of decoder functions beyond F8 from throttles for Intellibox-I with SW version 2.x (changes from IB-I keyboard not handled by throttle).
  • Improvements in message transfer from and to the LocoNet connection
  • As part of this, the Fleishmann connection type has been merged into the Uhlenbrock type. If you are making a direct connection to your Intellibox unit via serial or USB, you will have to reselect your preferences. See the Uhlenbrock support page for instructions.
  • Signals
  • The aspects.xml file in each signal definition defines the speeds used for automated operation. These values are now required (by the schema check) for a valid XML file. Basic values have been added for all signal systems included in JMRI.
  • Egbert Broerse improved the signal-system and signal mast setup help files.
  • New / Updated decoder definitions
  • SoundTraxx
  • SoundTraxx now appears in the manufacturer list as "SoundTraxx (Throttle-Up)" instead of the original "Throttle-Up (SoundTraxx)". It's a long story....
  • TCS
  • updated the TCS WOW definition.
  • ESU
  • Mathias Rufer and Dave Heap added an ESU LokPilot Standard V1.0 definition.
  • Dave Heap has completely redone the ESU Function Map pane to make it easier to read and use. It is now more like the LokProgrammer Function Map pane.
  • Operations
  • MADE THE FOLLOWING CHANGES TO OPERATIONS:
  • When a car is placed at a spur with a custom load of type "Empty", the program now changes the car's load name to the default load name "L".
  • Improvements to the "Timetable" window to allow the building, printing, and termination of selected trains. Also allows for the updating or printing of switch lists. This should help simplify things when building and terminating multiple sets of trains for a session.
  • You can now print out all location and track comments using the print tool under "Locations".
  • New switch list option to print out a new sheet of paper each time a train visits a location.
  • The file path name for manifest and switch list logos are now stored as a relative path name.
  • WARRANTS:
  • made the following changes to warrants:
  • Fixed bug #481 "Warrant Logix not working as of 3.7.2". Warrants can be executed from Logix.
  • Warrant command "Run Warrant" that allows one warrant to launch another is now fully implemented.

New in JMRI 3.10.1 Build 28327 (Jan 12, 2015)

  • JMRI 3.10 had a problem programming CVs greater than 127 using the MRC command stations. That problem is fixed in this version. (SVN revision r28276)

New in JMRI 3.10 Build 27895 (Dec 22, 2014)

  • There's now an "exists" qualifier for use in decoder definition files.
  • A user-defined pane with the same pane name as a standard programmer pane will replace that pane. (Dave Heap)
  • Much work on improving the structure of the files, which has resulted in some internal changes.
  • Improvements to the Italian translation.
  • Dave Heap made the following changes to the Function Map:
  • Added the ability to specify (f) or (r) suffixes for functions other than FL (see the Function Map page).
  • Added auto-generated tooltips for checkboxes (see the Function Map page).
  • Unused rows or columns are now automatically suppressed.
  • Increased flexibility of column naming, including the ability to suppress display of a column (see this JavaDoc page).
  • Improved the warning displayed in the ESU Function Map pane if using the Mac OS X and Java 1.6 combination.
  • OPERATIONS:
  • Dan Boudreau made the following changes to operations:
  • Added the ability to print or preview a single location from the "Edit Location" window.
  • Alternate track for a spur now works without schedules or custom loads
  • Improved manifests tab spacing when using the truncated mode and printing headers
  • Some minor improvements in the build report when using the "Detailed" setting.
  • Fixed the car and locomotive edit attribute windows when the font size is set to 18.
  • Improved how the program deals with the alternate track and car routing.
  • You can now add the lead locomotive number to a train's description.
  • Updated the help file.
  • Improved how the alternate track feature works. You can now use the alternate track feature without schedules or custom loads. Note that if you specify an alternate for a spur, only cars destined for that spur will be placed on the alternate track.
  • New feature, random moves for any location in a train's route. In the route edit window you will find a new column labeled "Random" with a menu of 10 items, The default is "Off" or disabled, and there are values between 10 and 100. If you select 10, it tells the program to randomly reduce the number of cars moves at the location by up to 10%. So if you asked for 10 moves, you could get 10 or 9 moves. If you selected 50, you could get any number of moves between 10 and 5. If you select 100, you could get any number of moves between 10 and 0. Be sure and press "Save" after you make your selection.
  • New feature, the ability to copy a location. See under "Tools" in the Locations window.
  • Fixed a bug where cars out of staging used the same schedule item, even if the schedule was in sequential mode. Thanks to Dave Cochrun for identifying and helping us debug this problem.
  • You can now select the type of sort you want directly in the car roster print or preview window.
  • The program now prints out the entire location and track name when printing or previewing your car roster. Previously the program limited the number of print characters to 38.
  • The column order for the Cars window is now saved correctly.
  • Fixed a problem were cars in a kernel weren't correctly redirected from an alternate track. Thanks to David Waraxa for finding and reporting this problem.
  • Track comments are now saved to the CSV files.
  • Some additional improvements to the train build report. A list of cars that couldn't be routed is now shown at the end of the report,
  • Fixed an issue where cars in a kernel in a train departing staging and returning to the same staging track could cause the program to incorrectly report track space issues.
  • Added more options and tool tips to the Edit Manifest Text and Edit Switch List Test windows. You can now show the train's name and description with most of the manifest and switch lists messages.
  • New feature for interchange/classification tracks, added a "Check Destinations" button to the "Edit Track Destinations" window. When pressed the program will check all car types, roads, and loads that the track services, and will confirm if the destinations selected can also service the same types, roads, and load. Also checks to see if there's a train or trains that can also service the track and the destinations for all car types services by the track. The check stops when the first problem is found.
  • New tool for the "Locations" window, "Modify Locations by Car Load". Now you can quickly see and adjust which tracks at a location can accept certain loads. Also show which loads staging tracks can ship.
  • Fixed a minor issue when manually placing a car on an interchange/classification track. The program would remember which route the car was previously set out by. The program now clears the last route information when manually placing a car.
  • Improved how the program determines where in a train's route to set out a car when manually adding a car to a train.
  • Fix a minor problem when using a pool, sometimes the program reported a "Capacity" issue, when it really was a "Length" issue.
  • Added the "Show Car Types" tool the the "Trains" window.
  • New feature. You can now manually select a background color for a train's row in the "Trains" window. There's also an "Auto" option that allows you to select a background color for when a train is built, build fails, or is terminated. See under Tools in the Trains window "Trains Table Colors".
  • Removed in manifest and switch list title any references to "manifest" or "switch list". Now manifests and switch lists text is completely under the control of a user.
  • LAYOUT EDITOR:
  • On curved track segments the right click popup area is now on the track itself and the chord line has now been removed. (kd)
  • On curved track segments it is now possible to hide the construction lines in edit mode. (kd)
  • Removal of a Turnout, Slip, Level Crossing or Turntable, no longer removes the connected track segements. (kd)
  • It is now possible to join track segments to other items on the panel by dragging the anchor point on top of other anchor points. (kd)
  • Control Panel Editor
  • SHAPES:
  • Minimal size of a shape changed to 4x4 pixels.
  • Error detection improve - shapes no longer disappear on invalid data.
  • Both line and fill colors may have transparency - i.e. can be made transparent.
  • Shapes: Vertices of polygon shapes may be deleted or inserted. Use A or D, or Insert or Delete keys.
  • Item Palette: Additional sensor positions can be added (or deleted) to MultiSensors. See Help page.
  • SCRIPTS:
  • When you set a non-default location for script files under the preferences "location" tab, e.g. to put your scripts in a common directory, that location can now be referenced via the "scripts:" portable prefix. This will be applied automatically to pathnames that are selected when defining Logix Conditional Actions and similar operations. Note that if you select a location that doesn't contain the JMRI-supplied scripts, they won't be accessible through the scripts: prefix, but still will be accessible using program:jython/ as a prefix.
  • There's now a decodeJmriFilename(..) helper routine for use in Jython scripts. See the scripting FAQ for more info.
  • Fixed some problems in C/MRI-specific sample scripts.
  • Brett Scott provided updated versions of the DCC Specialities scripts for the Wabbit et al.
  • in AbstractAutomaton (used by some scripting) provide for timeout value when throttle not acquired, default to 30 seconds (Steve Todd)
  • in AbstractAutomaton (used by some scripts), cancel throttle requests after failure or timeout so that subsequent retries can complete (Steve Todd)
  • change AutoDispatcher2.py to retry on acquisition failure or timeout (Steve Todd)
  • Two new sample scripts for the LocoNet Find operation: LnFindTransponder.py and LnFindTransponderField.py.
  • Script to use fascia button to release/hold signal (e.g. for automated train) HoldSignalForSensor.py(Steve Todd)
  • Script to use fascia button to control loco functions (horn, bell, etc.) ThrottleFunctionForSensor.py(Steve Todd)
  • Script to check the status of C/MRI node polling, e.g. to detect a powered-off node, and set into sensors for display on panels: CmriNodeMonitor.py
  • The Python interpreter is now initialized on demand, when first used. If the former default behavior of initializing the Python interpreter during application launch is required, include -Dorg.jmri.python.preload=true in the JMRI_OPTIONS environment variable.
  • It is now possible to influence the initialization of the Python interpreter by setting Jython and Python properties in the file "python.properties" in a Configuration Profile directory, or in the JMRI Settings directory.
  • A Jython interpreter must be in the Java CLASSPATH. JMRI is shipped with a Jython interpreter, so unless the JMRI installation is modified, one should be available.
  • WEB SERVICES, JSON AND WEB THROTTLES:
  • Improved the ability for a JSON or Web Throttle client that has unexpectedly dropped its connection to regain control of the throttle before JMRI automatically stops the train. (Randall Wood)
  • JSON or Web Throttle clients that request a throttle for the same DCC address or roster entry will share a throttle even if the supporting DCC system does not allow multiple throttles per address. (Randall Wood)
  • Web Throttles only display function buttons that have labels assigned to them. (Randall Wood)
  • Fixed error introduced in 3.8 that sometimes prevented a Panel from linking to another Panel (Randall Wood)
  • Fixed an issue with very large panels getting truncated (Randall Wood).
  • WARRANTS:
  • Help file added to the NXWarrant window. See file for details to the following
  • NXWarrant algorithm changed to conform to actual block distances. It is strongly recommended to enter reasonable lengths of OBlocks.
  • Menu item for layout scale added.
  • Overrun bug fixed in NXWarrant when route was a short distance.
  • Misc:
  • The roster table is now smarter about sorting columns if they contain numbers (instead of alphanumeric names).
  • ARM V7 processor libraries added, so this architecture should work out-of-the-box on Linux.
  • The format of the mask value in XML decoder definitions is now included in validity checking. The existing decoder definitions had a few problems with this, now fixed.
  • Configuration XML files (Store Panels, Store Configuration Only) are now written with the line-ends standard on the local machines.
  • The Speedometer now handles international format input. If you live in a place where decimal numbers are written like "1,3" and JMRI is set to that locale (see the Locale section on this page), then you can use commas for the decimal mark when inputting the distances. We'll be updating more parts of JMRI to do this in the future.
  • Images added to a roster entry are now stored within the roster directory instead of the resources directory. (Randall Wood)
  • If multiple profiles are selected, only those actions that apply to multiple profiles are available. (Randall Wood)
  • Clicking anywhere on the profile selection dialog cancels automatically starting with the last used profile. (Randall Wood)
  • Changed the upload debugging info functions to now use SourceForge mailing list. This should avoid problems previously seen when attempting to access previous mailing list directly. (Matthew Harris)
  • Joan de Castro improved the Catalan translation.
  • Included the pathname of currently loaded panel file to Context output (Matthew Harris)
  • Added the possibility to include both the currently loaded panel file and relevant files from active profile when uploading debugging info (Matthew Harris)
  • Added ability to export profile as a ZIP archive (Randall Wood)
  • Suzie Tall added a 2009 B&O signal system
  • The XML output format has changed from NORMALIZE to PRESERVE. This allows keeping leading and trailing spaces on text in the XML file. This shouldn't cause any problems with existing files, but if it does, please let us know so we can correct things.
  • Analogue clocks displayed on panels can now have the colour of their hands changed (Matthew Harris).
  • LocoNet turnouts that use EXACT feedback now transition through INCONSISTENT as they move from THROWN to CLOSED or CLOSED to THROWN.
  • SE8c signal heads now try to track the layout status to detect changes in their state caused by external events, e.g. something outside JMRI changing them. This is useful when e.g. you've got two computers controlling a LocoNet. Note that this works for RED, YELLOW, GREEN and DARK, but not for the FLASHING aspects, nor for Held and Lit states. The recommendation is still to have all your layout logix running in a single running copy of JMRI.
  • NCE Network Connection method fixed to enable the different NCE menu items. (Ken C)
  • RFID support has been added for Seeed Studio RDM630 readers. (Matthew Harris)
  • Walter Thompson improved the LocoNet stats help.
  • Improved handling of long vs short in AbstractAutomat scripting
  • Added new access methods to DefaultSignalAppearanceMap for CATS use.
  • The label on the F28 function is now properly saved and restored. (r27807)
  • Fixed issue where Jython scripts path preference could be saved incorrectly or where setting Jython scripts path preference could cause user files path prefreence to be lost. (r27822-27823, r27825-27826)

New in JMRI 3.9.7 Build 7851 Dev (Dec 15, 2014)

  • Michael Mosher fixed a CV246 bit label in the BLI Blueline Paragon Steam definition.
  • Added new access methods to DefaultSignalAppearanceMap for CATS use.
  • The label on the F28 function is now properly saved and restored. (r27807)
  • Fixed issue where Jython scripts path preference could be saved incorrectly or where setting Jython scripts path preference could cause user files path prefreence to be lost. (r27822-27823, r27825-27826)

New in JMRI 3.9.6 Build 27781 Dev (Dec 9, 2014)

  • NEW / UPDATED DECODER DEFINITIONS:
  • A problem in the QDecoder ZBasic definition was fixed.
  • Decoder definitions can now be written for accessory decoders that use accessory ops mode programming. See the xml/decoders/0NMRA_accessory.xml file for an example. This is new support which needs more work and testing. If you have one of these decoders and want to help, please contact us.
  • Peter Ulvestad fixed some spelling errors in BLI Blueline decoder definitions.
  • Fixed a problem with addresses in some older TCS BEMF decoders
  • SIGNALING:
  • Additional icons in the USS series
  • Fixed a problem with the Approach aspect and diverging in the basic signal set
  • SCRIPTING:
  • The Python interpreter is now initialized on demand, when first used. If the former default behavior of initializing the Python interpreter during application launch is required, include -Dorg.jmri.python.preload=true in the JMRI_OPTIONS environment variable.
  • It is now possible to influence the initialization of the Python interpreter by setting Jython and Python properties in the file "python.properties" in a Configuration Profile directory, or in the JMRI Settings directory.
  • A Jython interpreter must be in the Java CLASSPATH. JMRI is shipped with a Jython interpreter, so unless the JMRI installation is modified, one should be available.
  • OPERATIONS:
  • Dan Boudreau made the following changes to operations:
  • New feature. You can now manually select a background color for a train's row in the "Trains" window. There's also an "Auto" option that allows you to select a background color for when a train is built, build fails, or is terminated. See under Tools in the Trains window "Trains Table Colors".
  • Removed in manifest and switch list title any references to "manifest" or "switch list". Now manifests and switch lists text is completely under the control of a user.
  • MISCELLANEOUS:
  • LocoNet turnouts that use EXACT feedback now transition through INCONSISTENT as they move from THROWN to CLOSED or CLOSED to THROWN.
  • SE8c signal heads now try to track the layout status to detect changes in their state caused by external events, e.g. something outside JMRI changing them. This is useful when e.g. you've got two computers controlling a LocoNet. Note that this works for RED, YELLOW, GREEN and DARK, but not for the FLASHING aspects, nor for Held and Lit states. The recommendation is still to have all your layout logix running in a single running copy of JMRI.
  • NCE Network Connection method fixed to enable the different NCE menu items. (Ken C)
  • RFID support has been added for Seeed Studio RDM630 readers. (Matthew Harris)
  • Walter Thompson improved the LocoNet stats help.
  • Improved handling of long vs short in AbstractAutomat scripting

New in JMRI 3.9.5 Build 27615 Dev (Nov 10, 2014)

  • New / Updated decoder definitions:
  • Code improvements to handle some special cases in the TCS WOW decoders
  • Lolke Bijlsma provided a definition for the Shine Plus series from Train-O-Rama.
  • Pierre Billon updated Doehler and Haass definitions, adding several versions for the SD18A combo sound decoder, SD21A combo sound decoder, and the SH10A.
  • Xavier Chazelle provided a definition for the N scale Fleischmann "Leig einheit" F830681 double unit van equipped with a Fleiscmann specific dual decoder for opening or closing doors
  • The TCS WOW decoder definitions received a lot of attention from M Mosher and others
  • Signaling:
  • Blocks now have a UNDETECTED state to represent a block that's not connected to a Sensor. The default signal logic treats this an unoccupied, so that a train can be cleared into an undetected track.
  • Custom signal logic can use this to handle special rules for unsignaled sidings, etc.
  • By default, this is similar to the behavior of JMRI 3.6 and before. JMRI 3.8 treated blocks without a connected sensor as occupied, so that trains could not be cleared into a block if there was no sensor configured in the block.
  • Suzie Tall provided a new CFL-2014 signal system for Luxemburg to complete the BeNeLux set.
  • Operations:
  • Dan Boudreau made the following changes to operations:
  • Added more options and tool tips to the Edit Manifest Text and Edit Switch List Test windows. You can now show the train's name and description with most of the manifest and switch lists messages.
  • New feature for interchange/classification tracks, added a "Check Destinations" button to the "Edit Track Destinations" window. When pressed the program will check all car types, roads, and loads that the track services, and will confirm if the destinations selected can also service the same types, roads, and load. Also checks to see if there's a train or trains that can also service the track and the destinations for all car types services by the track. The check stops when the first problem is found.
  • New tool for the "Locations" window, "Modify Locations by Car Load". Now you can quickly see and adjust which tracks at a location can accept certain loads. Also show which loads staging tracks can ship.
  • Fixed a minor issue when manually placing a car on an interchange/classification track. The program would remember which route the car was previously set out by. The program now clears the last route information when manually placing a car.
  • Improved how the program determines where in a train's route to set out a car when manually adding a car to a train.
  • Fix a minor problem when using a pool, sometimes the program reported a "Capacity" issue, when it really was a "Length" issue.
  • Added the "Show Car Types" tool the the "Trains" window.
  • Control Panel Editor:
  • Shapes: Vertices of polygon shapes may be deleted or inserted. Use A or D, or Insert or Delete keys.
  • Item Palette: Additional sensor positions can be added (or deleted) to MultiSensors. See Help page.
  • Warrants:
  • Overrun bug fixed in NXWarrant when route was a short distance.
  • Web Server and Web Throttles:
  • Fixed an issue with very large panels getting truncated (Randall Wood).
  • Miscellaneous:
  • The XML output format has changed from NORMALIZE to PRESERVE. This allows keeping leading and trailing spaces on text in the XML file. This shouldn't cause any problems with existing files, but if it does, please let us know so we can correct things.
  • Analogue clocks displayed on panels can now have the colour of their hands changed (Matthew Harris).

New in JMRI 3.9.4 Build 27423 Dev (Oct 18, 2014)

  • 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 next in a series of test versions. We expect this series to end in a JMRI 3.10 production release around the end of 2014.
  • 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.
  • JMRI is now only available under the GNU General Public License. For more information, please see our copyright and licensing page.
  • New warnings for this version:
  • RFID support has been changed to allow for additional protocols - existing CORE-ID readers should remain unaffected but, in certain circumstances, it may be necessary to update connection configuration with the correct protocol.
  • The activation.jar library is no longer included with the JMRI download. This shouldn't have any impact on you, but it's remotely possible that it might impact you if you have your own Java code that you're combining with JMRI and/or you're still using a Java version before Java 1.6. (Scripts and panel files will not be impacted.)
  • Images associated with roster entries are now saved to the roster directory instead of the resources directory when added to the roster entry. Existing images are not moved.
  • Older warnings
  • The XmlIO web service has been deprecated and is scheduled to be removed in JMRI 3.11 (July 2015). All users and developers who are relying on direct access to the XmlIO API are recommended to begin using the JSON API. inControl web throttle users are recommended to begin using webThrottle instead, or to plan on investing in devices that can support webThrottle, WiThrottle for iOS, or Engine Driver for Android.
  • System Support:
  • LocoNet - no longer ignore slot responses that don't immediately follow a slot request. Other hardware can insert messages, which were causing lost acquisitions in software throttles. (Steve Todd)
  • LocoNet - if no response to slot request, retry, then call failure method if still no response. Handles Slot Max error, for example. (Steve Todd)
  • LocoNet - Configure Duplex Group tool now operates correctly in JMRI profiles which have more than one active LocoNet connection. (B. Milhaupt)
  • Zimo: Now Supporting the Binary Protocol v5 for the MXULF and tentatively on the MX10 for (K Dickerson)
  • Service Mode Programming:
  • Track Power Control
  • Throttle Control
  • MERG - attempt to resolve the throttle allowing full range of long addresses. It was not correctly processing the long/short option for some address values. (K. Cameron)
  • New Updated decoder definitions:
  • Added definitions for Qdecoder accessory and function decoders: F0-4, F0-8, F0-4+, F0-8+, Z1-8N, Z1-16, Z1-16+, Z2-8N, Z2-8, Z2-8+ (Alain Le Marchand)
  • Added definitions for Digirails (Digikeijs) DCC LED bar DR80010 (Ronald aka ROn30)
  • Alain Carraso added definitions for the Trix Glasscar 22191 and BB12000
  • Nigel Cliffe added a definition for the Hornby TTS
  • Team Digital provided updates for the CSC and SHD2
  • Scripting:
  • In AbstractAutomaton (used by some scripts), cancel throttle requests after failure or timeout so that subsequent retries can complete (Steve Todd)
  • change AutoDispatcher2.py to retry on acquisition failure or timeout (Steve Todd)
  • Two new sample scripts for the LocoNet Find operation: LnFindTransponder.py and LnFindTransponderField.py.
  • Script to use fascia button to release/hold signal (e.g. for automated train) HoldSignalForSensor.py(Steve Todd)
  • Script to use fascia button to control loco functions (horn, bell, etc.) ThrottleFunctionForSensor.py(Steve Todd)
  • Script to check the status of C/MRI node polling, e.g. to detect a powered-off node, and set into sensors for display on panels: CmriNodeMonitor.py
  • Operations:
  • You can now select the type of sort you want directly in the car roster print or preview window.
  • The program now prints out the entire location and track name when printing or previewing your car roster. Previously the program limited the number of print characters to 38.
  • The column order for the Cars window is now saved correctly.
  • Fixed a problem were cars in a kernel weren't correctly redirected from an alternate track. Thanks to David Waraxa for finding and reporting this problem.
  • Track comments are now saved to the CSV files.
  • Some additional improvements to the train build report. A list of cars that couldn't be routed is now shown at the end of the report,
  • Fixed an issue where cars in a kernel in a train departing staging and returning to the same staging track could cause the program to incorrectly report track space issues.
  • Shapes:
  • Minimal size of a shape changed to 4x4 pixels.
  • Error detection improve - shapes no longer disappear on invalid data.
  • Both line and fill colors may have transparency - i.e. can be made transparent.
  • Warrants:
  • Help file added to the NXWarrant window. See file for details to the following
  • NXWarrant algorithm changed to conform to actual block distances. It is strongly recommended to enter reasonable lengths of OBlocks.
  • Menu item for layout scale added.
  • Web Server and Web Throttles:
  • Fixed error introduced in 3.8 that sometimes prevented a Panel from linking to another Panel (Randall Wood)
  • Miscellaneous:
  • Joan de Castro improved the Catalan translation.
  • Included the pathname of currently loaded panel file to Context output (Matthew Harris)
  • Added the possibility to include both the currently loaded panel file and relevant files from active profile when uploading debugging info (Matthew Harris)
  • Added ability to export profile as a ZIP archive (Randall Wood)
  • Suzie Tall added a 2009 B&O signal system

New in JMRI 3.9.3 Build 27204 Dev (Sep 15, 2014)

  • The Speedometer now handles international format input.
  • The AAR-1946 and B&O-1957 signal system definitions had some internal problems fixed.
  • Removed the activation.jar library, along with various references to loading it.
  • System Support:
  • Some improvements to the support for MRC command stations via the Prodigy USB computer interface.
  • New / Updated decoder definitions:
  • Much work on improving the structure of the files, which has resulted in some internal changes.
  • Improvements to the Italian translation.
  • Added Digitrax SFX006 & DN166I2B definitions
  • Added Soundtraxx Tsunami definitions for:
  • Bowser PCC Streetcar. Can be found in the "Tsunami Diesel Bowser OEM" family.
  • Diesel TSU-IM1000 (828070, 828071, 828074), TSU-GN1000 GEVO-12 (828059), TSU-KT1000 P42 (828068).
  • Added MyLocoSound DCC decoder definitions
  • Robin Becker updated the Tam Valley Depot Quad-LN_S stationary decoder to add a Reset menu item when using the Service Mode programmer.
  • Dave Heap made the following changes to the Function Map:
  • Added the ability to specify (f) or (r) suffixes for functions other than FL.
  • Added auto-generated tooltips for checkboxes.
  • Unused rows or columns are now automatically suppressed.
  • Increased flexibility of column naming, including the ability to suppress display of a column.
  • Improved the warning displayed in the ESU Function Map pane if using the Mac OS X and Java 1.6 combination.
  • Scripting:
  • in AbstractAutomaton (used by some scripting) provide for timeout value when throttle not acquired, default to 30 seconds
  • Operations:
  • Improved how the alternate track feature works. You can now use the alternate track feature without schedules or custom loads. Note that if you specify an alternate for a spur, only cars destined for that spur will be placed on the alternate track.
  • New feature, random moves for any location in a train's route. In the route edit window you will find a new column labeled "Random" with a menu of 10 items, The default is "Off" or disabled, and there are values between 10 and 100. If you select 10, it tells the program to randomly reduce the number of cars moves at the location by up to 10%. So if you asked for 10 moves, you could get 10 or 9 moves. If you selected 50, you could get any number of moves between 10 and 5. If you select 100, you could get any number of moves between 10 and 0. Be sure and press "Save" after you make your selection.
  • New feature, the ability to copy a location. See under "Tools" in the Locations window.
  • Fixed a bug where cars out of staging used the same schedule item, even if the schedule was in sequential mode.
  • JSON and Web Throttles:
  • Improved the ability for a JSON or Web Throttle client that has unexpectedly dropped its connection to regain control of the throttle before JMRI automatically stops the train.
  • JSON or Web Throttle clients that request a throttle for the same DCC address or roster entry will share a throttle even if the supporting DCC system does not allow multiple throttles per address.
  • Web Throttles only display function buttons that have labels assigned to them.
  • Miscellaneous:
  • Images added to a roster entry are now stored within the roster directory instead of the resources directory.
  • If multiple profiles are selected, only those actions that apply to multiple profiles are available.
  • Clicking anywhere on the profile selection dialog cancels automatically starting with the last used profile.
  • Changed the upload debugging info functions to now use SourceForge mailing list. This should avoid problems previously seen when attempting to access previous mailing list directly.

New in JMRI 3.9.2 Build 26958 Dev (Aug 14, 2014)

  • This is the first series of JMRI to support the MRC command stations via the Prodigy USB computer interface.
  • The roster table is now smarter about sorting columns if they contain numbers (instead of alphanumeric names).
  • The format of the mask value in XML decoder definitions is now included in validity checking. The existing decoder definitions had a few problems with this, now fixed.
  • Configuration XML files (Store Panels, Store Configuration Only) are now written with the line-ends standard on the local machines.
  • This is the first series of JMRI to support the Roco Z21 command stations via it's built in network connection.
  • New / Updated decoder definitions:
  • There's now an "exists" qualifier for use in decoder definition files.
  • A user-defined pane with the same pane name as a standard programmer pane will replace that pane.
  • Added CT Elektronik DCX33 and DCX74 (v26) definitions
  • Added Doehler & Haass DHF250 definition
  • Pierre Billon improved the Doehler & Haass FH05A definition.
  • Fixed Kuehn N025/T125/T145 defintion (CV55) and refactored definition file and panes
  • Added Soundtraxx Tsunami SoundCar DSD definition
  • Updated (Soundtraxx) Bachmann SoundValue for SD70ACe & GEVO ES44AC. Added GG1
  • Added Uhlenbrock Sound Module 32300 definition and updated 32100
  • Scripting:
  • There's now a decodeJmriFilename(..) helper routine for use in Jython scripts. See the scripting FAQ for more info.
  • Fixed some problems in C/MRI-specific sample scripts.
  • Brett Scott provided updated versions of the DCC Specialities scripts for the Wabbit et al.
  • Robin Becker updated the IO Action options in the Tam Valley Quad LN_S decoder definition.
  • Operations:
  • Dan Boudreau made the following changes to operations:
  • Added the ability to print or preview a single location from the "Edit Location" window.
  • Alternate track for a spur now works without schedules or custom loads
  • Improved manifests tab spacing when using the truncated mode and printing headers
  • Some minor improvements in the build report when using the "Detailed" setting.
  • Fixed the car and locomotive edit attribute windows when the font size is set to 18.
  • Improved how the program deals with the alternate track and car routing.
  • You can now add the lead locomotive number to a train's description.
  • Updated the help file.

New in JMRI 3.9.1 Build 26563 Dev (Jul 3, 2014)

  • When you set a non-default location for script files under the preferences "location" tab, e.g. to put your scripts in a common directory, that location can now be referenced via the "scripts:" portable prefix. This will be applied automatically to pathnames that are selected when defining Logix Conditional Actions and similar operations.
  • Hardware Support:
  • MRC/GaugeMaster"
  • Initial Support has been included for the MRC/Gaugemaster Prodigy Advanced system Supported features include:
  • Programming
  • Turnouts Control
  • Throttle Control
  • Added support for Sensors on the TAMS System. The Tams MC must be running firmware 1.4.7 or above for s88 to work correctly. (kd)
  • Layout Editor:
  • On curved track segments the right click popup area is now on the track itself and the chord line has now been removed. (kd)
  • On curved track segments it is now possible to hide the construction lines in edit mode. (kd)
  • Removal of a Turnout, Slip, Level Crossing or Turntable, no longer removes the connected track segements. (kd)
  • It is now possible to join track segments to other items on the panel by dragging the anchor point on top of other anchor points. (kd)
  • New / Updated decoder definitions:
  • Digitrax:
  • Function decoder TF4 : added a note on pane that CV62 and CV63 values are opposite to what Digitrax documentation writes, and that CV63 is inoperative in fact.
  • Added N Scale Intermountain Board Replacement DN166I0, DN166I1A, DN166I1B, DN166I1C, DN166I1D, DN166I2
  • Added DN126M2, DZ146IN
  • Fixed sound selection for SDH166D/SDN166PS
  • NCE:
  • added N12K0a and N12K0b
  • SoundTraxx:
  • Extended the Soundtraxx Tsunami Function Groups Exchange feature (created by Dave Heap) to Bachmann Sound Value decoders
  • Added Bachmann HO Sound Value EMD GP7, SD70ACe, GEVO ES44AC
  • Added Walthers Proto HO Metroliner, E7A, GP20, GP30, SD7, SD45, U28B/U30B GN,MILW,NYC, USRA 0-8-0

New in JMRI 3.8 Build 26527 (Jul 3, 2014)

  • The ability to duplicate configuration profiles has been added. A duplicate profile contains a copy of everything in the existing profile's directory.
  • Added a "Clear all non-in-use Slots" button to the Loconet SlotMonitor.
  • Updated the WiThrottle server.
  • Updated the user interface font size change preference to no longer override the underlying font style.
  • The Web server has been extensively updated:
  • The static index.html has been replaced with a home servlet responding to / and /index.html
  • The home, panels, and operations servlets have been updated with a new Bootstrap user interface.
  • The structure for the servlets resources has been changed to facilitate customization and internationalization.
  • The panels servlet uses JSON and WebSockets instead of XMLIO. This may prevent older browsers from receiving asynchronous updates to panels. Testers may notice some panel features do will not work correctly in this test release.
  • A conductor's view has been added to the operations servlet.
  • Fixed a WiThrottle read loop that could cause high CPU usage when devices were "lost".
  • Added some fractional zoom values to LayoutEditor.
  • Improved the display of file locations under the Help menu.
  • Fixed issues with item state colour coding with OS X and Nimbus display GUIs.
  • The "Export Roster" and "Import Roster" menu items will now write your whole roster to a single file, and then read that back in.
  • The Railroad name preference has been promoted from a Web Server setting to an application-wide setting.
  • In the Preferences under Start Up, you can now set buttons for Preferences, Profiles and Rebuild Roster.
  • You can now open a PanelPro- or Decoderpro-style main window from the DecoderPro3 files menu, complete with the full menus you'd find if you were running PanelPro or DecoderPro from scratch. Please let us know if anything isn't working as you'd expect.
  • Added a "Check for Updates" item under the help menu. If you want a button, you can configure it under startup preferences.
  • Read-only enum decoder variables now are disabled (grey-out) in the DecoderPro/DP3 interface. This includes as combo (selection) boxes, check boxes and radio buttons.
  • Added many Italian translation terms, and fixed a couple of existing ones.
  • Provided more translation to French and German.
  • Improved the German translation, and added additional German translation, particularly in the DecoderPro/DP3 presentation.
  • Resolved an issue that caused some CVs to be skipped in Read Full Sheet operations. Particularly noticeable with ESU V4 decoders.
  • Some improvements to the tooltips on the decoder selection window.
  • Fixed a problem with printing CVs for some decoders.
  • Added the ability to import decoder CSV files, as created by the existing "Export CSV file..." command.
  • Added custom definitions for Atlas decoders sourced from Lenz (LE062XF, LE063FX) and NCE (N12A0, N12A1 and N12A2)
  • Updated the Bachmann "EZ Command 3 function decoder (36-553)" definition
  • Fix for the Digitrax DS54 decoder definition.
  • Updates to the Digitrax decoder definitions (notably patch 979).
  • Add DN163A4 (derived from DN163A2) + fix width values, for DN163A1/A2, DN163I2, DN163K0E
  • Add DN135D, DN135PS, DN163A3, DN163K4A, DN163L0A, DZ123PS, DZ123Z0.
  • Renamed DZ123MO in DZ123M0 (zero) and fully updated definition.
  • Update DN143K2 output definition + add a note for swapped headlights for display on Function map pane.
  • New Digitrax series 6 sound decoders: SDH166D, SDXH166D, SDN136PS, SDXN136PS (including extended CVs/options for John McMasters sound projects)
  • New Digitrax series 6 non-sound decoders DH126D, DH126P, DH126PD , DH166D, DH166P, DH166PD, DN136D, DN136PS, DN146IP, DN166PS, DZ126, DZ126PS, DS126IN, DZ126T, DZ146, DZ146PS
  • Digitrax/Con-cor decoder definitions added for most of the existing ones.
  • Functions labels added for sound decoders.
  • New pane for sound decoders, with sound project information (Series 3 only).
  • Comments/tooltips extended to most of the recent Digitrax decoders.
  • Specifications (size, connectors) updated according to Digitrax documentation
  • A lot of refactoring through new fragment/parts files in the digitrax directory. Will help further maintenance and internationalization.
  • Major update to the Doehler & Haass decoder definitions.
  • Improved the ESU V4/Select function mapping pane
  • Improved the ESU V4/Select decoder definitions.
  • Added the ability to import LokProgrammer CV value list files.
  • Added LokPilot Fx V4.0 and LokPilot XL V4.0
  • Informative tooltips on the ESU Function Map pane.
  • Many corrections and other improvements to existing ESU decoder definitions.
  • Updated the Hornby 8249 default values.
  • Improved the Kuehn definitions
  • New decoder definitions for MRC 1641,1642, 1659 and 1664 N scale motor control only decoders.
  • Added decoder definition for the MRC Sound Brilliance 1806 and 1955.
  • Improved the QSI Version 9 decoder definition.
  • Updated the RR-CirKits decoder definitions.
  • Updated the Tower Controller Mark II decoder definition.
  • Support for the RR-CirKits MotorMan (r26387)
  • Added the Athearn GP40-2 and made some corrections to the Soundtraxx definition.
  • Added a live Function Group Exchange feature on the Function Map pane for two sample Tsunami decoders (Diesel Genesis OEM and Steam Genesis OEM).
  • Extended the Soundtraxx Tsunami Function Groups Exchange feature (created by Dave Heap) to all Tsunami decoders
  • Fixed an issue with Tsunami 750 function map not displaying properly
  • Added decoder definition for the Tam Valley Depot Quad-LN_S decoder.
  • Added four additional TAMS decoder definitions.
  • Fixed a problem with the handling of decoder definitions that was causing certain TCS decoders (and perhaps others) to not display properly.
  • Added definitions for TCS function decoders.
  • Updated the TCS FL2 and FL4 decoder definitions
  • Update for Team Digital SHD2 board.
  • Updated the Uhlenbrock 73400 definition:
  • Increased High version value to 4 (from a decoder purchased in 2011)
  • Change family name to Mini instead of Micro (Mini is the name used on the decoder user manual)
  • Removed Speed Table, not supported by this decoder (only Vstart, Vmid, Vhigh)
  • Fix enum for CV54 (cannot use a mask, only two specific values allowed 128 and 132)
  • Added and updated the following Uhlenbrock decoder definitions:
  • Created: 73100, 73110, 73140, 75330, 76150, 76200, 76320, 76425, 76560
  • Reformatted (and completed): 76400, 76420
  • Changed family name (for consistency) for: 73400, 73410, 73500, 73510, 77500
  • For new or reformatted files:
  • Heavy refactoring with fragment files (in new directory \decoders\uhlenbrock)
  • Used the generic function map pane
  • Used generic items on standard panes (motor, lights, analog) as much as possible
  • New ad-hoc Uhlenbrock pane, only for other parameters than listed above
  • Support of English and German versions, with terms as defined in official Uhlenbrock documentation, where possible
  • Updated the Zimo definitions to extend the volume controls.
  • Added a new Zimo decoder definition.
  • Updated the BN 1989 signal definitions:
  • Additional panel icons to support the new signal mast definitions.
  • A modified icon which was stopping the original 2-head mast from being added to a panel.
  • Twelve new signal mast definitions.
  • An updated index.shtml with a bit more information, reference to BN source and links to the new masts.
  • An updated aspects.xml with the addition of an unlit appearance and corrections to the appearance definitions.
  • A new signal system definition for the LMS speed signalling that was installed in parts of the UK in 1932 and continued in use until 1988. The definition is as complete as is possible from the available documentation and covers all variations over the entire period of operation.
  • Added a new BNSF-1996 signal system.
  • Updated the NTC 1956 signal files.
  • Added non-rotating icons to the BNSF-1996 signal set.
  • Provided a set of icons for building an Armstrong tower control panel.
  • Added signal definitions for the 2008 UP, 2010 Amtrak and 1931 Great Western systems.
  • Updated the LMS-1932 and CR-2008 signal sets.
  • Added some British Rail signal icons
  • Arranged for an error message to be presented if an icon file can't be found, instead of having it fail silently.
  • Hardware / Systems:
  • Improved support in the generic network client for automatic configuration. This includes improvements to the generic mDNS/ZeroConf/Bonjour automatic configuration tools.
  • Updated the JMRI SRCP support in both the client and server to better conform to the letter of the SRCP protocol standard and improve compatability with other SRCP implementations.
  • Fixed a problem with LocoNet Simulator's reading of data files.
  • Updated the LocoNet Download Firmware tool to provide automatic identification of the firmware file's address format as well as extensive checking of the firmware file for evidence of corruption or out-of-range parameters. These improvements significantly reduce the risk of corrupting a device's firmware when using this tool. The associated help file was expanded to suit.
  • Updated the XPressNet network connections (LIUSB-Server, LIUSB-Etherenet, and XnTCP) to allow automatic reconnection attempts in the event of a dropped network connection.
  • Added mDNS support to the Lenz LIUSBEthernet adapter.
  • Fixed a bug in NCE Macro Edit for updating macros.
  • Added support for NMRA signal decoders on NCE-USB connected systems.
  • Improved error message for not supported packets.
  • Fixed NCE-USB version identification handling.
  • Fixed issue with NCE SB5/TWIN and ops mode programming. Was trying to use raw packet commands instead of specific ops mode programming commands in the USB.
  • Added some more NCE menu items to the list of available startup actions and buttons.
  • Resolved the problem that caused function commands from JMRI or WiThrottles with NCE systems to be sent to seemingly random consist addresses.
  • Fixed a resize issue with the NCE Packet Analyzer window.
  • Intellibox support received a communications update (patch 978) to improve reliability of sensor readout.
  • Bug Fixes:
  • Fixed a problem that would leave the wrong DCC address on the DecoderPro roster pane at startup under certain circumstances.
  • Fixed a bug that would cause programming crashes in DecoderPro when using simulators.
  • User request to only print or preview trains in the Trains window that are selected. (r26300)
  • Fix bug where characters would exceed the line width in the two column format, and tabular disabled. (r26301)
  • Fix problem with local move of utility car. (r26308)
  • User request to only show trains that can service a location (r26309)
  • Fix car type string length calculation (r26329)
  • Put the creation of each block xml element into a try/catch. There is an issue where the block data isn't being saved but at this stage I have no idea what the trigger is and have had no log files from a user to help narrow it down or replicate it. Doing this will at least prevent all block data from being lost during a save. (r26333)
  • Ensure that the file paths are correctly loaded from the configuration file, and that the user files (preferences:) path is loaded before other paths. Ensure that the scripts path ends with a file separator character.(r26344)
  • Minor improvement in how the program determines maximum location and track names for manifests and switch lists. (r26347)

New in JMRI 3.7.9 Build 26488 Dev (Jun 28, 2014)

  • Fix for issue with speedtable crashing with ESU decoders.
  • Fixed a web server issue.

New in JMRI 3.7.8 Build 26387 Dev (Jun 23, 2014)

  • User request to only print or preview trains in the Trains window that are selected. (r26300)
  • Fix bug where characters would exceed the line width in the two column format, and tabular disabled. (r26301)
  • Fix problem with local move of utility car. (r26308)
  • User request to only show trains that can service a location (r26309)
  • Fix car type string length calculation (r26329)
  • Minor improvement in how the program determines maximum location and track names for manifests and switch lists. (r26347)

New in JMRI 3.7.7 Build 26293 Dev (Jun 13, 2014)

  • Additional German translation, particularly in the DecoderPro/DP3 presentation, from Bernd W.
  • Added definitions for TCS function decoders.
  • Fixed a problem that would leave the wrong DCC address on the DecoderPro roster pane at startup under certain circumstances.
  • Fixed a bug that would cause programming crashes in DecoderPro when using simulators.
  • Routes:
  • When a route is loaded from a panel file, the system will now check the turnouts and trigger the aligned sensor, rather than wait for a change to occur
  • Fix a bug in the routes gui, whereby if the user removes the "TurnoutsAlignedSensor" it doesn't actually get removed.
  • Changes:
  • Fixed an issue that caused a hang when reading all sheets of an ESU decoder with some systems.
  • Fixed an issue with inherited attributes in Grid Layout for the decoder pane programmer.
  • Updated the signaling help.
  • Updated the TCS FL2 and FL4 decoder definitions
  • Did a major update to the Doehler & Haass decoder definitions.
  • Changes to Operations:
  • New manifest and switch list format. Two columns, one for pulls and one for spots, with track names centered in each column.
  • Fixed a bug where a kernel's length (group of cars) wasn't being checked with regards to spurs with schedules
  • Some build report improvement with regards to yard or interchanges that are full. Now only the first occurrence of a full yard or interchange is shown.
  • Updated the LocoNet Download Firmware tool to provide automatic identification of the firmware file's address format as well as extensive checking of the firmware file for evidence of corruption or out-of-range parameters. These improvements significantly reduce the risk of corrupting a device's firmware when using this tool. The associated help file was expanded to suit.
  • Added some British Rail signal icons.
  • Arranged for an error message to be presented if an icon file can't be found, instead of having it fail silently.

New in JMRI 3.7.6 Build 26111 Dev (Jun 2, 2014)

  • Corrections and other improvements to existing ESU decoder definitions.
  • Added extra features to Grid Layout for the decoder pane programmer.
  • Pane elements "label", "soundlabel", "row", "column", "grid" and "griditem" now support qualifiers.
  • Added a "group" pane element that can be used to apply the same qualifier to multiple pane elements.
  • Added and updated the following Uhlenbrock decoder definitions:
  • Created: 73100, 73110, 73140, 75330, 76150, 76200, 76320, 76425, 76560
  • Reformatted (and completed): 76400, 76420
  • Changed family name (for consistency) for: 73400, 73410, 73500, 73510, 77500
  • For new or reformatted files:
  • Heavy refactoring with fragment files (in new directory \decoders\uhlenbrock)
  • Used the generic function map pane
  • Used generic items on standard panes (motor, lights, analog) as much as possible
  • New ad-hoc Uhlenbrock pane, only for other parameters than listed above
  • Support of English and German versions, with terms as defined in official Uhlenbrock documentation, where possible
  • Extended the Soundtraxx Tsunami Function Groups Exchange feature (created by Dave Heap) to all Tsunami decoders
  • Fixed an issue with Tsunami 750 function map not displaying properly
  • Improved the German translation.
  • New Zimo decoder definition.
  • Implemented a "transform-xslt" XML processing instruction for post-processing XML files with XSLT transforms.

New in JMRI 3.7.5 Build 25826 Dev (May 12, 2014)

  • Additions to Warrants:
  • Added "Halt All" button to Warrant List window
  • Enabled recording warrant scripts when dark blocks are included in the route.
  • Improved correlation of ramp down speed timing with block length in NX warrants
  • Operations:
  • Train manifests are now available in a JSON format.
  • Train manifests are in the web server again.
  • New feature for manifests and switch lists, the ability to add headers describing each of the car attributes. Select "Print Headers" in the "Manifest Print Options" You can also customize all of the header text, see under "Tools" in the "Manifest Print Options" window, "Edit Header Text".
  • Made some improvements to the train build report.
  • Fix a bug where the build report didn't always report which cars were ignored when all of the moves for a route location were consumed.
  • The sorting for local moves has changed, if you sort by track, the program will sort the cars by the pick up track name. If by destination, the program will sort the cars by the set out track name.
  • Decoder definitions:
  • New Digitrax series 6 sound decoders: SDH166D, SDXH166D, SDN136PS, SDXN136PS (including extended CVs/options for John McMasters sound projects)
  • New Digitrax series 6 non-sound decoders DH126D, DH126P, DH126PD , DH166D, DH166P, DH166PD, DN136D, DN136PS, DN146IP, DN166PS, DZ126, DZ126PS, DS126IN, DZ126T, DZ146, DZ146PS
  • Digitrax/Con-cor decoder definitions added for most of the existing ones.
  • Functions labels added for sound decoders.
  • New pane for sound decoders, with sound project information (Series 3 only).
  • Comments/tooltips extended to most of the recent Digitrax decoders.
  • Specifications (size, connectors) updated according to Digitrax documentation
  • A lot of refactoring through new fragment/parts files in the digitrax directory. Will help further maintenance and internationalization.
  • Changes:
  • Corrections and other improvements to existing ESU decoder definitions.
  • Added the ability to import decoder CSV files, as created by the existing "Export CSV file..." command.
  • Added a new Grid Layout feature to the decoder pane programmer, for greater control of pane layouts.
  • Fixed issue with NCE SB5/TWIN and ops mode programming. Was trying to use raw packet commands instead of specific ops mode programming commands in the USB.
  • Improved correlation of ramp down speeds with block length in NX warrants
  • Fixed a problem with the handling of decoder definitions that was causing certain TCS decoders (and perhaps others) to not display properly.
  • Aded decoder definition for the MRC Sound Brilliance 1806 and 1955.

New in JMRI 3.7.4 Build 25656 Dev (Apr 22, 2014)

  • Informative tooltips on the ESU Function Map pane.
  • Corrections and other improvements to existing ESU decoder definitions.
  • Fixed a problem with printing CVs for some decoders.
  • Restored the ability to specify a fnmapping element by either output number OR name.
  • Added an optional "(alt)" suffix to a fnmapping element.
  • Added a live Function Group Exchange feature on the Function Map pane for two sample Tsunami decoders (Diesel Genesis OEM and Steam Genesis OEM).
  • Added the facility to define "soundlabels" (like "functionlabels") in the decoder definition files.
  • Can now add "functionlabels" and "soundlabels" to individual models in the decoder definition files. These override corresponding labels at the family level.
  • Added a "soundlabel" element to the pane programmer, allowing sound labels to be displayed on panes.
  • (A "functionlabel" pane element and user-editable sound labels are planned for the next release.)
  • Added a "Power Button" item that you can configure to directly include a button. This is in addition to the existing "Open Power Controller" option.
  • Dispatcher - The delay trigger when running automatically is now correctly obeyed when using SignalMast Logics - KD
  • Layout Editor - Added a scroll bar to the top edit panel
  • Some improvements to the tooltips on the decoder selection window suggested by Alan Le Marchand.
  • Enzo Fortuna improved the Italian translation
  • Better routing out of staging for cars with custom loads or final destinations. The latest changes should reduce the chances of a build failure for cars in staging that used the Return When Empty feature.
  • You can now specify a custom load when using the Return When Empty (RWE) feature for a car.
  • Fixed an issue with Classification / Interchange tracks that have destination restrictions. Now if a car without a final destination is placed on a C/I track with destination restrictions, the program will only forward cars to that destination.
  • Made some improvements to the train build report.
  • Added three more manifest color options; orange, yellow, and gray.
  • Improved the tabular format with regards to rolling stock locations and track names.
  • Fixed a problem where non lead cars in a kernel didn't have the correct final destination shown in the Cars window.
  • Added support for NMRA signal decoders on NCE-USB connected systems.
  • Improved error message for not supported packets.
  • Fixed NCE-USB version identification handling.
  • Posted update for Team Digital SHD2 board.
  • Fixed bug in acquiring LearnMode throttle.
  • Added error messages and fixed bugs for editing Portals in CircuitBuilder
  • Improved user interface and fixed bugs in Shape editor popup
  • Added more options for creating NXWarrants
  • Dick Bronson updated the Tower Controller Mark II decoder definition.
  • Peter Ulvestad updated the Bachmann "EZ Command 3 function decoder (36-553)" definition
  • Intellibox support received a communications update (patch 978) to improve reliability of sensor readout.
  • Alain Le Marchand provided multiple updates to the Digitrax decoder definitions (patch 979).

New in JMRI 3.7.2 Build 25192 Dev (Feb 17, 2014)

  • Made some improvements to car routing and build report messages.
  • You can now configure the build report to always preview, saves paper! See Build Report Options under Trains->Tools.
  • The program now blocks a kernel for your manifests and switch lists (a group of cars) by the order that you add cars to the kernel.
  • New checkbox option for the Cars window. Under Tools in the Cars window are two new options, one shows the checkboxes, and the other resets the ones showing in the window. Useful if your doing an audit of your cars using a PC or portable device. Great for those that don't like to waste paper!
  • Improved the Italian translation.
  • Added a "Clear all non-in-use Slots" button to the Loconet SlotMonitor.
  • Updated the WiThrottle server.
  • Fix bug in NCE Macro Edit for updating macros.
  • Updated the user interface font size change preference to no longer override the underlying font style.
  • Updated the JMRI SRCP support in both the client and server to better conform to the letter of the SRCP protocol standard and improve compatability with other SRCP implementations.
  • Improved the display of file locations under the Help menu.
  • Improved the ESU V4/Select decoder definitions.
  • Added some more NCE menu items to the list of available startup actions and buttons.
  • Resolved the problem that caused function commands from JMRI or WiThrottles with NCE systems to be sent to seemingly random consist addresses.
  • Fixed a resize issue with the NCE Packet Analyzer window.
  • Fixed issues with item state colour coding with OS X and Nimbus display GUIs.
  • Added the ability to import LokProgrammer CV value list files.
  • Updated the clinics information.
  • Resolved an issue that caused some CVs to be skipped in Read Full Sheet operations. Particularly noticeable with ESU V4 decoders.
  • The Web server has been extensively updated by Randall Wood and Steve Todd:
  • The static index.html has been replaced with a home servlet responding to / and /index.html
  • The home, panels, and operations servlets have been updated with a new Bootstrap user interface.
  • The structure for the servlets resources has been changed to facilitate customization and internationalization.
  • The panels servlet uses JSON and WebSockets instead of XMLIO. This may prevent older browsers from receiving asynchronous updates to panels. Testers may notice some panel features do will not work correctly in this test release.
  • Fixed a WiThrottle read loop that could cause high CPU usage when devices were "lost".
  • Added some fractional zoom values to LayoutEditor.
  • Control Panel Editor
  • NX warrants (eNtry/eXit) menu item was added to the warrants menu.
  • Menu item Select panel items by Type was added to the Edit menu.
  • Menu item Select panel items by Level was added to the Edit menu.
  • Menu item Disable Selecting Shapes was added to the Shapes menu.
  • Any item in a superimposed stack can be selected with Control-Shift-Click. See help CPE page
  • Circuit Builder
  • An Edit Portal Direction menu item was added ti=o the CircuitBuilder menu. Direction arrows may be displayed at Portal locations of a warrant route when the warrant is allocated. Use this menu item to configure the arrows so they point to show entrance to the block. Levels, rotation and scaling of an arrow can be done here also. with a right clck.
  • Improved item selection when creating and editing OBlocks, Portals and OPaths
  • Item Palette
  • Portal tab was added to the Item Palette. The icons used when editing Portals in Circuit Builder or showing direction may be modified. The "Set Default Icons" button sets the icons for all portals in the panel. The panel must reloaded for the change to take effect.
  • Several bug fixes were made in the editing and updating icon families code.
  • Shapes
  • Positioning vertex handles of Polygons was improved. Note, handles of a selected Shape can only be grabbed from within the bounding rectangle of the shape.
  • Either the display level or hidden property of a shape can be controlled with the "visibility/Level Contol Sensor".
  • Tracker
  • The Tracker Table keeps a history of Tracker events. Click on the "Status" field to display.
  • Dragging and Dropping a Loco marker icon on an Indicator Track icon will launch a tracker on that train.
  • Clicking on "persistent train marker" from a completed warrant (see below) will launch a tracker on that train.
  • Time spent occupying a block is logged in the "Status: field
  • Warrants
  • The Warrant Table keeps a history of warrant events. Click on the "Status" field to display.
  • NX warrants (eNtry/eXit) may create manual warrants.
  • The train ID marker will persist after a warrant has terminated on the occupied Indicator Track icons. The Indicator Track icon must be configured to display markers.
  • Warrant routes, either standard or NX, can have their location blocks (Origin, Destination, Via, Avoid) entered into the respective text fields by clicking on an Indicator Track icon of the Block. Clicking on the text field sets the target for a subsequent Indicator Track icon click.
  • Additional Status messages have been added.
  • Fixed RosterCsvExport.py to use new string format for CV definitions.
  • The "Export Roster" and "Import Roster" menu items will now write your whole roster to a single file, and then read that back in. You can use this to move your roster to another computer, for example. On import, you'll be asked to confirm that you want to import each roster entry. If there's already an entry with the same name (ID), you'll be asked if you want to replace it.
  • The ability to duplicate configuration profiles has been added. A duplicate profile contains a copy of everything in the existing profile's directory.
  • The Railroad name preference has been promoted from a Web Server setting to an application-wide setting.
  • Added the Athearn GP40-2 and made some corrections to the Soundtraxx definition.
  • Added signal definitions for the 2008 UP, 2010 Amtrak and 1931 Great Western systems.
  • Fixed a problem with LocoNet Simulator's reading of data files.

New in JMRI 3.7.1 Build 24832 Dev (Jan 17, 2014)

  • OpenLCB library updated to better handle hub operations.
  • Several internal updates for how CV reading and writing is changed to improve handling of indexed CVs. If you have your own code or scripts that write or read CVs directly, check to see if we've broken anything, please.
  • Improved the handling of decoders that contain only long addresses, no short addresses.
  • Peter Ulvestad updated the Hornby 8249 default values.
  • Nigel Cliffe and Dave Heap fixed problems with international characters in four Python scripts: AAR105.py, RailDriver.py, RocoCrane46902.py, Zimo_pseudo_programmer.py
  • Added sample scripts
  • New feature, you can now let the program create your locomotive consists for you.
  • New feature, you can now adjust all of your train departure times by a selected number of hours.
  • New feature, you can now edit or view two locations at the same time.
  • The train edit window now shows if there are road or load restrictions for the train.
  • Fixed a bug in track copy where the car types serviced weren't copied to the new track.
  • Fixed a bug in train copy where the train build options weren't copied to the new train.
  • Fixed a bug in the router when the option to return a car to staging is enabled, and the car get's a custom load from staging.
  • improved the handling of DCC addresses.
  • updated the XPressNet network connections (LIUSB-Server, LIUSB-Etherenet, and XnTCP) to allow automatic reconnection attempts in the event of a dropped network connection.
  • improved support in the generic network client for automatic configuration. This includes improvements to the generic mDNS/ZeroConf/Bonjour automatic configuration tools.
  • added mDNS support to the Lenz LIUSBEthernet adapter.
  • updated the BN 1989 signal definitions.

New in JMRI 3.6 Build 24520 (Dec 19, 2013)

  • New two column format for car pick ups and set outs. Go to the Manifest Print Options, and under Message Format, select "Two Column" if you want your manifest and switch lists to use two columns, one for pickups and one for set outs. The color options for pick up and set outs aren't available when using this format.
  • You can now modify all of the manifest and switch lists text. See under Manifest Print Options, Tools, "Edit Manifest Text" and "Edit Switch List Text".
  • Now when you modify the train manifest using the "Manifest Print Options" window, the train manifests are immediately changed for trains that are built but haven't departed the first location in their route.
  • The Yardmaster window now has a "Next" button which allows the window to be used with the JMRI web server. The drop down menus unfortunately don't work when using a browser to access the windows remotely.
  • Trains can now make local moves at the last location in a train's route. You can disable this feature by not allowing pickups at the last location in the train's route.
  • New feature, you can now control the order passenger cars are shown on your manifests and switch lists. In the edit car window, a new field called "Passenger Car Blocking Order" will appear when you select the "Passenger" check box in the "Type" field. The text box allows you to enter numbers between 0 and 100. Lower numbers will place the car near the front of the train, and higher numbers towards the rear. Recommend that you start off using numbers divisible by 10. For example, you might what to place an observation car at the end of the train, a value of "90" would be appropriate. If you wanted a baggage car to be the first car in the passenger train, a value of "10" would be a good value, cars in the middle of the train could use "50".
  • New feature, the ability to copy any track to a location. See under the Edit Location, Tools, "Copy Track".
  • New manifest and switch list option, the ability to show the car's final destination and track.
  • New feature for folks using schedules to route cars. On a per train basis, you can ask the program to pull cars with a final destination where the train being built doesn't provide the most efficient route for the car. Useful if you want to the train being built to move cars "closer" to their final destination, even if other trains could do it more efficiently. This option does two things, it will add cars to the train being built that wouldn't normally travel on the train, thus freeing up track space. And second creates more work for your operators as this option can and will increase the number of trains needed to move the car to its final destination. See under Tools->Train Build Options from the Train Edit window, select "Service all cars with a final destination" if you want your train to carry more cars.
  • Updated the "Show cars types serviced" tool for a train. The window now shows any track destination restrictions for a selected car.
  • Fixed an issue with train manifest times when the "same" location was used back to back.
  • Fixed a problem where the program would redirect cars from the alternate track for a train that didn't have access to the spur that specified the alternate track. Thanks to Joe Mattick for bring this to our attention.
  • Fixed a problem when a spur has a schedule and "Planned Pick Ups".
  • Improved car movement when the train's route move count is used up or the train's length is maxed out when building the train.
  • Fixed the "Exclude" option in the Destination window for classification/interchange tracks.
  • Fixed the "All Trains" feature when using consolidation mode in switch lists.
  • Fixed the "Return when Empty" when a car entered staging with a custom load, and the remove custom loads option was enabled.
  • Fixed a problem with the train manifest showing the wrong number of utility cars for pick ups and set outs. Thanks to Joe Mattick and Clay Smith for bring this to our attention.
  • Fixed a couple of minor issues when building trains that had restrictions with regards to local moves and cars traveling from origin to terminal.
  • Improved the page layout (line wrap) for manifests and switch lists when using variable width fonts like sansSerif.
  • Improved text line wrapping for comments in the Conductor and Yardmaster windows.
  • Improved the Conductor and Yardmaster window layouts.
  • SignalMasts - Improved support for SignalMast unlit for DCC/LNCP & Turnout based masts - KD
  • SignalMasts - Log a warning to the console rather than throwing an error when trying to set an aspect that has not been configured - KD
  • SignalMasts - Corrected the way in which a unlit/lit signal mast icon is displayed on a panel - KD
  • SignalMasts - Add an option to allow a default DCC accessory aspect ID to be recorded against a given aspect in a signalling system - KD
  • SignalMast Logic/Entry Exit - Consider the state of a crossing block on a Level Crossing - KD
  • SignalMast Logic/Entry Exit - Handle layout editor crossovers where there are two physical turnouts that need to be set/check rather than the primary turnout.- KD
  • Entry Exit - Update the Stack window to use a JDialog rather than a JFrame - KD
  • Editors - Fix an issue where a rotated icon based sensor icon is changed to a text based icon fails as no text values were set. - KD
  • Editors - Change the loading of sensor icons, so that the text details are loaded before the sensor is set, so that when the panel is loaded the sensor icon is displayed correctly when first displayed. - KD
  • Layout Editor - Change the block edit so that it is now possible to access all of the properties of the block, and not just those items that specifically relate to a layout block. - KD
  • Layout Editor - Added in an Edge Connector to allow blocks to be connected over multiple panels to form a single logical view.
  • Blocks - Remove the dependency for a block to have a valid sensor to move an object about, but use the occupancy state of the neighbouring blocks instead. - KD
  • Support for three new signal systems: CROR-2008 from Transport Canada, InfraBel-2013 from Belgium and ProRail-1954 from the Netherlands.
  • Improved definition for the TCS WOW decoder.
  • Added a CV Reset Warning for all LokSound Decoders.
  • Added the HO Challenger to the Sountraxx Tsuanmi Steam Genesis definition and the U28B/U30B to the Sountraxx Tsuanmi Walthers Diesel definition.
  • Improved the Kato FL12 decoder definition.
  • Added base support for IEEE 802.15.4 messages.
  • Updated the TCS WOW decoder definition.
  • Updated the InstallTest batch file to pause before exiting in certain situations on 64-bit versions of Windows.
  • Update logging behaviour to create individual per-session log files (session.log) and to collate several session log files into messages.log
  • Updated the MS Windows launcher to check for an already running instance of a JMRI application and to provide an option to continue or abort.
  • Add the ability to delay the re-allocation of sections for a train set with continuous running. The delay can be set as either a duration in minutes or triggered by a sensor. - KD
  • The CV table in DecoderPro is now sortable and by default appears in order by number.
  • Added code to prevent bad programming track writing to CV's greater than 255 which are not supported by the PowerHouse command station. Using the ops mode works as well as the PowerCab with the whole 1024 range.
  • Fixed wrong properties name in NCE USB Interface panel.
  • Fixed memory addressing issue in NCE macro editor/backup/restore. This bug was introduced prior to 3.4 when adding support for the updated NCE USB for other functions. Currently Macro support via the NCE USB is a work in progress.
  • improved the NCE Monitor.
  • provided a signal definition for the New York Central on October 28, 1956.
  • updated the ProRail 1954 and InfraBel-2013 signal definitions.
  • fixed the behavior of constant checkboxes in DecoderPro
  • translated some decoder definition elements into German, French and Spanish
  • provided Tsunami updates
  • provided another Tam Valley decoder definition
  • updated the Tam Valley Quad Ln11 decoder definition
  • fixed links in the help files
  • The "hslider" format displayed a plain slider for decVal and indexedPairVal variable types but a percentage slider for indexedVal type. The percentage display was currently only used in QSI definitions.
  • Restored consistency so "hslider" displays a plain slider for all three variable types.
  • Created a new "hslider-percent" format (using existing code) for all three variable types.
  • Updated QSI pane definitions where necessary to restore pre-patch behavior.
  • Note that the existing code for "hslider-percent" is a bit kludgy and customized specifically to accommodate some QSI features. Future development would be to replace with a new "hslider-custom" format giving better control of labels, if a way could be devised of specifying a hashtable-type custom label list in programmer pane definitions.
  • updated the TCS WOW decoder support.
  • added ESU V4/Select fixes, additions, new panes.
  • added a decoder definition for the Massoth pulsed smoke unit.
  • added a new webThrottle app, based on JSON and web sockets
  • updated the web version of the Operations Manifest to work properly for in-route trains, and rearranged and added some items to the JMRI Web Server local home page.
  • Fixed problem where black-on-black panel icons would not display properly.
  • improved the TAM quad decoder definition
  • improved the DecoderPro operation
  • added extra CVs, panes, workarounds for programmer issues and numerous fixes/improvements for ESU V4 files.
  • improved the Mistral Gold decoder definition with "Other Sound Setting" (CV62)
  • improved the TCS WOW decoder definition.
  • improved the Tsunami Rapido F9A definition.
  • added a decoder definition for the SoundTrax Piko decoder
  • Added an AutoTerminate Option when creating new Trains
  • Layout Editor - Fix an NPE error when bring up a popup on a Turntable Ray - KD
  • Layout Editor - Fix a bug with the linked connection point - KD
  • NCE command station programmer updated to indicate when it can't access high-address CVs.
  • added automatic display of CV numbers in DecoderPro tooltips.
  • The OpenLCB lib was updated to the current version. This includes several memory-read protocol fixes.
  • updated the Mac OS X launcher to handle different Java configurations, particularly when installing a clean version of Mac OS X.
  • added decoder definitions for the Arnold N scale decoders.
  • added a decoder definition for the MRC 1952, improved the definition for the MRC 1957, added the 1922 and 1916.
  • fixed some cross-references that were preventing the CROR-2008 and InfraBel signals from displaying properly.
  • additional UTCS track segment icons.
  • The timestamp on messages in the console output was changed to default to a real timestamp like "2013-11-17 15:16:07,486" in local time.
  • fixed a problem with starting the LocoNetOverTcp server when running the JMRI faceless app.
  • created a new signal head type "Triple Output RGB".
  • improved the tooltips for lots and lots of decoder definitions to make them more consistent
  • added Digitrax decoder types
  • A bug in SRCP support was fixed. It preventing storing panel files with certain kinds of SRCP information present.
  • fixed a problem that was preventing people from printing just certain pages or page ranges.

New in JMRI 3.5.7 Build 24510 Dev (Dec 17, 2013)

  • Fixed a problem that was preventing people from printing just certain pages or page ranges.
  • Fixed a problem with the track table columns for loads and roads. The table is displayed when editing a location, and now you can quickly see if a track has a car road, load, or destination restriction.

New in JMRI 3.5.6 Build 24479 Dev (Dec 10, 2013)

  • Fixed a problem with starting the LocoNetOverTcp server when running the JMRI faceless app.
  • Created a new signal head type "Triple Output RGB".
  • New feature for folks using schedules to route cars. On a per train basis, you can ask the program to pull cars with a final destination where the train being built doesn't provide the most efficient route for the car.
  • Updated the "Show cars types serviced" tool for a train.
  • Improved the tooltips for lots and lots of decoder definitions to make them more consistent.
  • Added Digitrax decoder types.
  • A bug in SRCP support was fixed

New in JMRI 3.5.5 Build 24398 Dev (Nov 22, 2013)

  • New feature, the ability to copy any track to a location. See under the Edit Location, Tools, "Copy Track".
  • Fixed an issue with train manifest times when the "same" location was used back to back.
  • Made some improvements to the train build reports.
  • Made some minor improvements to the conductor and yard master windows.
  • New manifest and switch list option, the ability to show the car's final destination and track.
  • Fixed a problem when a spur has a schedule and "Planned Pick Ups".
  • Improved car movement when the train's route move count is used up or the train's length is maxed out when building the train.
  • Fixed memory addressing issue in macro editor/backup/restore. This bug was introduced prior to 3.4 when adding support for the updated NCE USB for other functions. Currently Macro support via the NCE USB is a work in progress.
  • Updated the Mac OS X launcher to handle different Java configurations, particularly when installing a clean version of Mac OS X.
  • Created multiple Doehler and Haass decoder definitions.
  • Added decoder definitions for the Arnold N scale decoders.
  • Added a decoder definition for the MRC 1952, improved the definition for the MRC 1957, added the 1922 and 1916.
  • Fixed some cross-references that were preventing the CROR-2008 and InfraBel signals from displaying properly.
  • Additional UTCS track segment icons.
  • The timestamp on messages in the console output was changed to default to a real timestamp like "2013-11-17 15:16:07,486" in local time.

New in JMRI 3.5.4 Build 24239 Dev (Oct 14, 2013)

  • Trains can now make local moves at the last location in a train's route. You can disable this feature by not allowing pickups at the last location in the train's route.
  • Fixed a problem where the program would redirect cars from the alternate track for a train that didn't have access to the spur that specified the alternate track. Thanks to Joe Mattick for bring this to our attention.
  • Fixed a couple of minor issues when building trains that had restrictions with regards to local moves and cars traveling from origin to terminal.
  • Added a new webThrottle app, based on JSON and web sockets.
  • Updated the web version of the Operations Manifest to work properly for in-route trains, and rearranged and added some items to the JMRI Web Server local home page.
  • Updated the MS Windows launcher to check for an already running instance of a JMRI application and to provide an option to continue or abort.
  • Fixed problem where black-on-black panel icons would not display properly.
  • Improved the TAM quad decoder definition .
  • Improved the DecoderPro operation: Sheet Read and Write operations were Ignoring readOnly and writeOnly attributes if the CV value was Unknown. The readOnly and writeOnly attributes are now always respected for all Sheet operations. Read Changes will still attempt to read Unknown values but Write Changes will not attempt to write Unknown values.
  • Added extra CVs, panes, workarounds for programmer issues and numerous fixes/improvements for ESU V4 files.
  • Improved the Mistral Gold decoder definition with "Other Sound Setting" (CV62)
  • Improved the TCS WOW decoder definition.
  • Improved the Tsunami Rapido F9A definition.
  • Added a decoder definition for the SoundTrax Piko decoder
  • Added an AutoTerminate Option when creating new Trains
  • Fix an NPE error when bring up a popup on a Turntable Ray
  • Fix a bug with the linked connection point

New in JMRI 3.5.2 Build 24139 Dev (Sep 16, 2013)

  • Updated the Tam Valley Quad Ln11 decoder definition
  • Updated help files
  • Fixed links in the help files
  • Updated the TCS WOW decoder support.
  • Added ESU V4/Select fixes, additions, new panes.
  • Added a decoder definition for the Massoth pulsed smoke unit.
  • Changes to operations:
  • Improved the page layout (line wrap) for manifests and switch lists when using variable width fonts like sansSerif.
  • New feature, you can now control the order passenger cars are shown on your manifests and switch lists. In the edit car window, a new field called "Passenger Car Blocking Order" will appear when you select the "Passenger" check box in the "Type" field. The text box allows you to enter numbers between 0 and 100. Lower numbers will place the car near the front of the train, and higher numbers towards the rear. Recommend that you start off using numbers divisible by 10. For example, you might what to place an observation car at the end of the train, a value of "90" would be appropriate. If you wanted a baggage car to be the first car in the passenger train, a value of "10" would be a good value, cars in the middle of the train could use "50".
  • Improved DecoderPro slider support:
  • The "hslider" format displayed a plain slider for decVal and indexedPairVal variable types but a percentage slider for indexedVal type. The percentage display was currently only used in QSI definitions.
  • Restored consistency so "hslider" displays a plain slider for all three variable types.
  • Created a new "hslider-percent" format (using existing code) for all three variable types.
  • Updated QSI pane definitions where necessary to restore pre-patch behavior.
  • Note that the existing code for "hslider-percent" is a bit kludgy and customized specifically to accommodate some QSI features. Future development would be to replace with a new "hslider-custom" format giving better control of labels, if a way could be devised of specifying a hashtable-type custom label list in programmer pane definitions.

New in JMRI 3.5.2 Build 23995 Dev (Sep 13, 2013)

  • Updated the InstallTest batch file to pause before exiting in certain situations on 64-bit versions of Windows.
  • Update logging behaviour to create individual per-session log files (session.log) and to collate several session log files into messages.log
  • Add the ability to delay the re-allocation of sections for a train set with continuous running. The delay can be set as either a duration in minutes or triggered by a sensor. - KD
  • The CV table in DecoderPro is now sortable and by default appears in order by number.
  • The Yardmaster window now has a "Next" button which allows the window to be used with the JMRI web server. The drop down menus unfortunately don't work when using a browser to access the windows remotely.
  • Improved the Conductor and Yardmaster window layouts.
  • Fixed the "Exclude" option in the Destination window for classification/interchange tracks.
  • Fixed the "All Trains" feature when using consolidation mode in switch lists.
  • Fixed the "Return when Empty" when a car entered staging with a custom load, and the remove custom loads option was enabled.
  • Fixed a problem with the train manifest showing the wrong number of utility cars for pick ups and set outs. Thanks to Joe Mattick and Clay Smith for bring this to our attention.
  • Added code to prevent bad programming track writing to CV's greater than 255 which are not supported by the PowerHouse command station. Using the ops mode works as well as the PowerCab with the whole 1024 range.
  • Fixed wrong properties name in USB Interface panel.
  • Improved the NCE Monitor.

New in JMRI 3.5.1 Build 23800 Dev (Jul 19, 2013)

  • New two column format for car pick ups and set outs. Go to the Manifest Print Options, and under Message Format, select "Two Column" if you want your manifest and switch lists to use two columns, one for pickups and one for set outs. The color options for pick up and set outs aren't available when using this format.
  • You can now modify all of the manifest and switch lists text. See under Manifest Print Options, Tools, "Edit Manifest Text" and "Edit Switch List Text".
  • Improved text line wrapping for comments in the Conductor and Yardmaster windows.
  • SignalMasts - Improved support for SignalMast unlit for DCC/LNCP & Turnout based masts
  • SignalMasts - Log a warning to the console rather than throwing an error when trying to set an aspect that has not been configured
  • SignalMasts - Corrected the way in which a unlit/lit signal mast icon is displayed on a panel
  • SignalMasts - Add an option to allow a default DCC accessory aspect ID to be recorded against a given aspect in a signalling system
  • SignalMast Logic/Entry Exit - Consider the state of a crossing block on a Level Crossing
  • SignalMast Logic/Entry Exit - Handle layout editor crossovers where there are two physical turnouts that need to be set/check rather than the primary turnout.
  • Entry Exit - Update the Stack window to use a JDialog rather than a JFrame
  • Editors - Fix an issue where a rotated icon based sensor icon is changed to a text based icon fails as no text values were set.
  • Editors - Change the loading of sensor icons, so that the text details are loaded before the sensor is set, so that when the panel is loaded the sensor icon is displayed correctly when first displayed.
  • Layout Editor - Change the block edit so that it is now possible to access all of the properties of the block, and not just those items that specifically relate to a layout block.
  • Blocks - Remove the dependency for a block to have a valid sensor to move an object about, but use the occupancy state of the neighbouring blocks instead.

New in JMRI 3.4 (Jul 15, 2013)

  • Dan Boudreau made the following enhancements to operations:
  • You can now control loads for trains and tracks by the type of car. Previously only the load name was available. Now you can control by load names, and by car type and load name.
  • You can now decide if you want indenting when looking at build reports with a text editor.
  • New feature, the program will now generate custom car loads for car's departing staging and also terminating into staging. See Edit Staging track, and select "Generate custom loads for any staging track". You can control which loads will be generated by adjusting the terminal track and which loads the train departing staging can carry.
  • You can now edit a car's move count, wait, built, owner, RFID, and value fields directly in the Cars window.
  • Improved the car wait feature. Now the car's wait will only decrement when the train can actually service the car, not just passing through.
  • You can now adjust the tab length if you're using the tabular format for your manifests and switch lists. See in the Manifest Print Options under Tools.
  • The conductor window will now show locomotives assigned to the train.
  • Made some improvements in the print locations tool with regards to schedules.
  • More build report formating and readability improvements.
  • A new feature called the "Yardmaster" window. Now you can now get a switch list for a location similar to the "Conductor" window. In the "Locations" window, there's now a button called "Yardmaster" for each location. The Yardmaster window has a combobox containing a list of trains that have work for the location. Only built trains with work are available.
  • You can now independently control the build report font size. If using the text editor, use a smaller font size if you want to increase the amount of text per line.
  • Some additional work integrating the Manifest Creator. There are now run buttons on the trains window to activate the program. Select "Generate csv Manifest" in the build options window to enable these new buttons. You can also edit the file name of the Manifest Creator, see under Trains->Tools "Setup Excel Program".
  • In the "Set Car" window, the destination for the car is now by default disabled. You should be using the "Final Destination" when manually setting a destination for the car. If you need the destination field enabled, under Tools, is an option to enable it.
  • New feature, the last date and time a car was assigned to a train. Note that the last time and date is set when the car is delivered, or if the car was reset from a built train. This should help you find "stuck" cars if you have any.
  • Improved car routing when the car has custom loads and/or final destinations. Thanks to Dave Cochrun and Inspector Dave in helping us improve this part of the program.
  • You can now use the escape key to close any active operations window. All operations and other jmri windows can also be closed by using the control-W key.
  • Yardmaster and Conductor windows now show utility cars by their quantity rather than by road and number. Both windows now support the "Sort by Track" option. The Yardmaster window now uses the "Switch List" format rather than the "Manifest" format.
  • You can now control which loads are allowed to ship from staging.
  • Improved the routing code to search for several interchange or yard tracks at a location when trying to find a route to a spur. The previous version didn't try find other tracks at a location when the first track tried was full. Thanks to Jim Elbe for finding and reporting this issue.
  • Made some improvements to the build report with regards to car routing. Also improved how the program deals with routing a car into staging and which tracks in staging are appropriate.
  • Improved on how the program deals with "car type and custom load pairs" for locations and trains when a car type is changed or deleted. Thanks to Inspector Dave for reporting this issue.
  • Improved how the program deals with custom loads and kernels. Now all cars in a kernel will get the same custom load if the the custom load is valid for the car.
  • Improved the dialog window for a route comment. Now you can easily enter several lines of text.
  • The Locations window now shows the track types for each location.
  • New feature, for classification/interchange tracks you can now restrict which destinations the track will serve. See "Track Destination" under Tools in the edit track window.
  • You can now tell the router if you want it to consider yard tracks when routing a car. Deselect "Enable Car Routing via Yards" in the Option window under Tools in the settings window if you don't want to use yards when routing cars. The yards are still available for other purposes.
  • Added the ability to print out a car's final destination and return when empty to the car roster print function.
  • In the "Set Car" window, the return when empty and final destination fields are now disabled if you turn routing off. Both features require routing to work properly.
  • The program no longer shows an error in the train build report if you delete a schedule item for a car that was assigned that item in match mode. The program now tries to find another match for the car, and will report a problem if there isn't a match available.
  • The program now shows the train, departure and arrival locations if the prompt to or from staging is selected.
  • Dan Boudreau made the following fixes to operations:
  • Fixed a line formatting problem with manifest and switch lists that have carriage returns embedded in the comments.
  • Fixed a problem when swapping cabooses in a train's route. The code didn't check to see if there was the correct number of moves available in the route to do the swap. Thanks to Quintin Foster for finding and reporting this problem.
  • Fixed a problem with a train's departure time when there was back to back locations using the same name. Thanks to Bob Byck for finding and reporting this issue.
  • Fixed an issue where the "Add" or "Edit" Track window size would revert to its previous size while modifying the track checkboxes.
  • Fixed a problem where the program wouldn't correctly select a staging track when exclude train or route was used.
  • Fixed an issue where the program would route too many cars to a spur with a schedule.
  • Fixed a problem where a car with a custom load in route would lose which schedule item the car had been assigned when the train carrying the car was reset.
  • Fixed a problem where a switcher would ignore a car's wait count. Thanks to Joe Mattick for finding and reporting this issue.
  • Fixed a bug where a train wouldn't build after deleting a car or loco type that the train used to carry.
  • Fixed a bug in the cvs files when user had commas in their comments.
  • Fixed a bug where a train wouldn't terminate if the first location in a route was deleted in a built train.
  • Dan Boudreau added support for NCE USB / PowerCab version 7. NCE now supports the use of AUIs for sensors when using a NCE USB and PowerCab. You need to have the latest USB interface which is version 7.x.x and your PowerCab must be version 1.65 or newer.
  • Kevin Dickerson made the following changes:
  • Hardware Updates:
  • CAN Ethernet - Added the ability to select the correct protocol
  • Merg CBUS Ethernet - Added in a new adapter to handle this configuration
  • LocoNetOverTCP - Fix an issue with the connection details that prevented it from being loaded.
  • Ecos - Fixed a minor issue with the way that the speed step reply was processed that caused an error
  • ESU ECOS - Fixed an issue with the way that the throttle speed changes are handled
  • Loconet Simulator - Initial states of sensors can be set via the preferences, rather than using the default of UNKNOWN
  • Debug Throttle - Add 14 & 28 Speed step settings to those that are available
  • Loconet Throttle - Fix issues where certain speed steps were being skipped over in 14 & 28 mode. - Michael Mosher & Kevin Dickerson
  • Editors:
  • SensorIcon - Fix an inconsistency issue with the setting of sensor text colours.
  • Text Properties - Fix the font size selection list in text properties to work correctly
  • Layout Editor - Added in the ability to rotate Slips
  • Layout Editor - Include internal block boundaries on the continuing path of a crossover as a valid location for setting a signalmast/sensor
  • Layout Editor - Fixed a placement issue with the SignalMast/Sensor tool in the Layout Editor
  • SignalHeads:
  • SignalHeads - Fixed an issue which prevent the Add button from working correctly
  • Updated the DCC signal head decoder to allow user defined numbering for different aspects.
  • Fixed an issue where if the username is changed, this is not reflected in the Editor Icons.
  • SignalMast:
  • Added in the ability to repeat the state of one SignalMast onto another and vice-versa
  • When an Aspect is either disabled or enabled, the Aspect ComboBox in the table is reflect this change.
  • Fixed a bug in the DCC Signal Mast when copying a Signalmast which has aspects set as disabled.
  • Fixed an issue where if the username is changed, this is not reflected in the Editor Icons.
  • SignalMast Logic:
  • Update the user defined blocks so that they are updated when user names are changed and move
  • React to LayoutBlocks being allocated to sections. This only occurs if the Logic has a section associated with it, and the dispatcher has been loaded.
  • Identifies Signal Masts that can be classed as intermediate. Intermediate Masts are classed as those that only have a single destination mast, with no turnouts in the path.
  • Flag sections as being intermediate where they go to or from an Intermediate Mast.
  • Now considers the opposing blocks when it encounters a double crossover.
  • Fix an additional issue when a signal mast logic is deleted it may generate an NPE.
  • Allow multiple protecting blocks for a single SignalMast located at the throat of a turnout.
  • Entry/Exit(NX):
  • Add the option to set an alternative colour for the layout blocks while the Entry/Exit route is being set up. Colour is defined in the Entry/Exit Options
  • Allow extended NX routes to be set eg A-D, rather than A-B, B-C, C-D
  • Can now extend the transit of an Active Train in the dispatcher
  • Now considers the opposing blocks when it encounters a double crossover.
  • Added in the ability to stack Entry/Exit (NX) Interlocks.
  • Allow multiple protecting blocks for a single NX Source located at the throat of a turnout.
  • Decoder Pro:
  • Decoder Selection - Added a Show/Hide facility on matched decoders after the decoder has been read
  • DP3 - The new Loco window, now allows you to create a basic roster entry without having to open a separate window
  • Fixed the DP3 Quit from menu option
  • Fixed an issue where a new Roster Entry may not get saved correctly to the roster index.
  • Dispatcher/AutoDispatcher changes:
  • Initial Support for Signal Mast in the Dispatcher including
  • Automatic train responding to SignalMasts
  • Section generation based upon SignalMast Logic
  • SignalMast Logic based section blocks are populated at load
  • Fix an issue where turnouts are not correctly being set in the last section, (when continuous running isn't selected) or the previous block is not picked up if the active train is starting in the transit and is not in the first block of that section.
  • Add the ability to delay the start of a train based upon a sensor going active.
  • Add to the memory icon, the ability to reset an Automatic Active Train once it has completed.
  • Add a text label with the actual speed(percentage)/direction as seen by the associated throttle to an auto active train.
  • When using SignalMasts and Auto Allocate, the mast at the end of the last allocated section is set held, so that the approaching automatic auto train does not simply read what the logic has calculated. When allocating the next section, set the mast at the end of that to held and then release the previous one.
  • Update the auto active train terminate option, so that it waits until the loco has stopped before finally disposing of it.
  • If allocating a section that this flagged as intermediate test all subsequent sections that are also flagged as intermediate to make sure that we do not end up with trains meeting face-to-face.
  • When a section that is waiting to be allocated goes from an occupied to an un-occupied state force the dispatcher to do a rescan of sections waiting to be allocated.
  • Extend the Entry/Exit interlocking so that it can extend the transit of an active train.
  • Add the option to allow the dispatcher window to be opened when the panel file is loaded.
  • New Train Window - The starting block combo box will automatically select the first occupied block in the list
  • New Train Window - When called from the panel with a known Roster Entry and block, the transit combo is populated with transits that either contain the block past or have it as an entry poing.
  • Fix issue with the editing of the forward blocking sensor
  • Fix a out of range exception in dispatcher.
  • Provide access to the Dispatcher functions of create new train, allocate sections and terminate for an active train from a memory icon, if a Roster Entry is used
  • Store the train type as set in the Dispatcher New Train Window against the roster entry, and retrieve it when the entry is selected again
  • Added the option to store the Roster Entry in allocated blocks from the dispather rather than just a text string
  • Provided a new method to edit block, turnout and sensor details in the table.
  • Added the option to set the state of an Internal Sensor at load/creation to something other than Unknown
  • Updated the routes window to allow it to contain scroll bars if the window is too small for the information contained
  • Blocks/LayoutBlocks - When the layoutblock useExtraColor is changed, propagate this down to the "block" so that it can fire off a propertychange event of "allocated" to all its listeners. The "block" itself does not keep track or store the allocated setting. This saves any objects having to listener to both the block and layoutblock states.
  • Enzo Fortuna made more updates to the Italian translation. This includes numerous changes to the coding for existing (English) strings, so please comment if you notice something missing.
  • The JUnit unit tests were reorganized at the top level.
  • Fixed a problem with MS100 mode. Note that MS100 is only available on certain older Windows machines; this fix doesn't change that, just restores some function lost in JMRI 3.2. In the long run, you need to replace your MS100 with something from this century.
  • The Xerces-J parser used to read and write XML files was updated to version 2.11.0
  • More changes for internationalization, particularly for the operations code by Dan Boudreau. Enzo Fortuna has made large updates to the the Italian language support, including Digitrax and Lenz decoder definitions.
  • More reducing decoder definitions to common form via XInclude of "part files".
  • Dave Heap changed the preferences associated with roster location and "User File Location". He also added support for ESU's new Marklin-style speed tables in LokSound 4.0 decoders.
  • Dave Heap improved some of the file-location-related terminology.
  • Paco Cañada provided decoder definitions for PpP decoders.
  • Changes for Virtual Sound Decoder (by Mark Underwood):
  • Fixed a LOT of bugs from 3.2.0. Some big ones are called out specifically below.
  • Added support for designating a location as being inside a tunnel (still experimental)
  • Added the ability to assign a Physical Location to a Block if that Block is associated with a Reporter. This gives added resolution in locating the train, under certain circumstances.
  • Engine start sound now only played when throttle is at idle.
  • Added filesystem browsers to the default path and file entries in the Preferences
  • VSD file can now explcitly indicate which defined Diesel notch is the Idle notch.
  • Walt Thompson fixed links in several help pages.
  • Walt Thompson fixed a bunch of links in the help pages.
  • Walt Thompson improved the help file linking.
  • Fixed problem when exporting roster files.
  • Fred Dalzell added a definition for the MRC Steam Sync Mini decoder MRC_soundbrilliance1869.xml
  • Gert Muller fixed a problem when storing panels from the web client.
  • Fixed speedometer opening three little blank windows.
  • More graphics in the help pages will not display in a desktop web browser when clicked.
  • Updated Standalone LocoNet help page information for LocoBuffer-USB and LocoBuffer-II use of LocoNet RailSync wires.
  • Fixed a problem that could result in roster entries sharing a backing file if you export an entry and then re-import it into the same JMRI instance. If you have done this, in the past, the fix is to "Recreate Roster Index" from the debug menu.
  • Steve Todd added an option to the Communications Monitor windows to allow users to filter out unwanted message types.
  • Egbert Broerse provided definitions for the Rio Grande signals as of 1965.
  • Paul Bender made some internal improvements to the XPressNet programmers.
  • Michael Mosher updated the BLI and NCE decoder definitions
  • Updated the DCC Signal Head to work like the DCC Signal Mast and all known hardware. The NMRA Standard for addressing DCC Signal Accessory Decoders is poorly written and ambiguous. JMRI support for these is moving toward what the hardware manufacturers are actually doing, and away from NMRA DCC Working Group diktat.
  • Add LinkingLabel, a type of icon on the various panel editors that will let you move to another window or open a web page. Just a starting point for eventual web-server features.
  • Improvements to aspect-signaling docs.
  • Added a new LinkingLabel icon type to the three kinds of panels. This can be text or an icon. When clicked, it takes you to another JMRI window or an external web page or file. Steve Todd also built in web support for remote viewing.
  • Dick Bronson improved the NS-2008 signal set.
  • Removed the ability to run the NCE serial interface at 19,200 baud. This speed has been found to cause problems with the NCE command station. The default is now 9,600 baud. If you were running at 19,200 baud, you'll have to reconfigure your NCE command station to run at 9,600.
  • John Crellin provided decoder definitions for the MRC 1619 through 1624 decoders, and updated the TCS X definition.
  • On MacOS X, change the script in the launcher icons to properly handle Oracle versions of Java.
  • Michael Mosher updated the SoundTraxx Diesel Tsunami definitions and provided a new BLI Light definition.
  • Paul Bender fixed a bug in the JMRIClient implementation that prevented the names of CBUS turnouts and sensors from being passed to the server.
  • Ken Cameron made the following changes to NCE systems:
  • Added preliminary support for the SB5 and Twin systems.
  • Expanded support for the updated PowerCab (1.65) and the updated USB (7.*)
  • Changed the way NCE systems figure out which menu options are supported for a given connection type.
  • Removed the multiple line format of the Cab Monitor based on user feedback and headaches it caused the code.
  • Cab Monitor now displays AIU inputs bits as functions on the cab.
  • Added USB Interface support to allow changing the USB cab number
  • The following changes were made to network services:
  • The JSON Server can be automatically started when JMRI starts -- Randall Wood
  • The JSON Web Servlet can update or add turnouts, sensors, and other objects -- Randall Wood
  • Fixed a problem with help links that reported a 404 error through the default browser. -- Dan Boudreau
  • On LocoNet systems with transponding, fix a spurious power-off when doing ops-mode decoder reads.
  • You can now use the "Start Up" pane in preferences to have any of the six Operations windows open when the program starts. You can also use that to put buttons on the PanelPro or DecoderPro startup window to open the Operations windows without going through the menus.
  • In the past, all menu items were listed under the Preferences "Start Up" choices for a new action or button. This is slowly changing so that only valid ones, based on the currently configured connection(s), are displayed. This is meant to make it easier to find the ones you're looking for. This is a subtle change to the code, so please let us know if something has gone awry. About 1/3 of the system-specific items have been removed so far, with the migration intended to be complete by the time JMRI 3.4 is released this coming summer.
  • Added the possibility to copy a selection from the System Console to the clipboard -- Matthew Harris
  • Michael Mosher updated the Tsunami decoder definitions
  • Michael Mosher added a new NCE N103 decoder definition
  • Nigel Cliffe provided definitions for the Harman DCC "Signalist" decoders
  • The DCC manufacturers list was updated with the most recent NMRA assignments
  • There's now a layoutblocks variable predefined for access to the LayoutBlockManager from Jython scripts.
  • Mattias K updated the LocoNet support to track the time that LocoNet messages were received.
  • Dick Bronson updated the definitions for RR-CirKits products
  • Stephen Lowens updated the SoundTraxx Tsunami Rapido definition
  • Dave Heap updated the ESU V4 decoder definitions
  • Nigel Cliffe provided a definition for Harman DCC "Signalist" decoders.
  • Decoder definition for the MPM RRR cars and advanced light functions decoder from Wekomm - Alain Carasso
  • Improved internationalization for the About dialog - Jens E Christensen
  • Improvements to JSON server and protocols:
  • JSON clients can now add, edit, and delete consists. - Randall Wood
  • Begin versioning the JSON protocol so clients can use an explicit JSON protocol version. - Randall Wood
  • Include the JSON protocol version in the ZeroConf advertisement for both network services that support the JSON protocol. - Randall Wood
  • Allow the JSON socket connection hello message to be read using an HTTP GET to /json/hello - Randall Wood
  • Allow the JSON hello message to be requested by JSON clients through the socket connection. - Randall Wood
  • Add a JSON method to enumerate all advertised ZeroConf services; this is intended to allow a client outside the ZeroConf boundary with only knowledge of the Web service to request a JSON-formatted list of all network services (WiThrottle, SRCP, LocoRMI, etc...) with ports and connection information. - Randall Wood
  • Improved web server performance with a large number of clients or large number of requests per client. - Steve Todd
  • Request administrator rights when installing - fix for bug highlighted by Suzie Tall
  • The TCS decoder definition files have been realligned with great help from TCS. All old definitions are still there, but three new families have been created from which only the one with the latest firmware (called Jan 2012) is always visible. If you identify a decoder on the programming track the correct decoder definition file will be called. The decoder files now also leverage the unique decoder type ID provided by TCS. When identifying the decoder not only a large family will populate but only the right decoder featuring its correct firmware will be shown.
  • There's also a new feature in the tool allowing to replace obsolete decoder definition files with their current replacement. To do this, select "Update Decoder Definitions" from the "Debug" menu. In this release, the only decoder definitions that are available for update at the TCS ones. If you have TCS decoders and want to use the most recent decoder definitions, please back up your files and then go ahead with doing this update.
  • An initial decoder definition file for the soon to be released WOW sound decoder is included. So far only the NON sound related CV's are supported, as the sound CV's require additional rework of the code base.
  • Peter Ulvestad improved the Atlas 342 and 345 decoder definitions
  • Nigel Cliffe improved some CT Electonik decoders.
  • David Heap improved the Help Locations window.
  • Dave Sand contributed a new ManageBlocks.py sample script
  • Andrew Crosland added dynamic changing of speed step modes to the SPROG throttle
  • Andrew Crosland made changed to the Bachrus Speedo following user feedback
  • Change window layout to show dial and graph together
  • Added optional grid overlay
  • Added selectors for programming track or main track operation (doesn't do very much at present)
  • Added User editable title string
  • Dave Heap added further Patches to fix ESU V4 Indexed CVs decoder definitions, plus some code in LocoFile.java to correct existing roster entry files as they are read, in order to match corrected definitions.
  • Joan de Castro added additional Catalan translation.
  • Prevent potential NPE during JSON operations
  • Set JSON protocol version for 3.4

New in JMRI 3.4 Dev (Jul 9, 2013)

  • Dan Boudreau made the following enhancements to operations:
  • You can now control loads for trains and tracks by the type of car. Previously only the load name was available. Now you can control by load names, and by car type and load name.
  • You can now decide if you want indenting when looking at build reports with a text editor.
  • New feature, the program will now generate custom car loads for car's departing staging and also terminating into staging. See Edit Staging track, and select "Generate custom loads for any staging track". You can control which loads will be generated by adjusting the terminal track and which loads the train departing staging can carry.
  • You can now edit a car's move count, wait, built, owner, RFID, and value fields directly in the Cars window.
  • Improved the car wait feature. Now the car's wait will only decrement when the train can actually service the car, not just passing through.
  • You can now adjust the tab length if you're using the tabular format for your manifests and switch lists. See in the Manifest Print Options under Tools.
  • The conductor window will now show locomotives assigned to the train.
  • Made some improvements in the print locations tool with regards to schedules.
  • More build report formating and readability improvements.
  • A new feature called the "Yardmaster" window. Now you can now get a switch list for a location similar to the "Conductor" window. In the "Locations" window, there's now a button called "Yardmaster" for each location. The Yardmaster window has a combobox containing a list of trains that have work for the location. Only built trains with work are available.
  • You can now independently control the build report font size. If using the text editor, use a smaller font size if you want to increase the amount of text per line.
  • Some additional work integrating the Manifest Creator. There are now run buttons on the trains window to activate the program. Select "Generate csv Manifest" in the build options window to enable these new buttons. You can also edit the file name of the Manifest Creator, see under Trains->Tools "Setup Excel Program".
  • In the "Set Car" window, the destination for the car is now by default disabled. You should be using the "Final Destination" when manually setting a destination for the car. If you need the destination field enabled, under Tools, is an option to enable it.
  • New feature, the last date and time a car was assigned to a train. Note that the last time and date is set when the car is delivered, or if the car was reset from a built train. This should help you find "stuck" cars if you have any.
  • Improved car routing when the car has custom loads and/or final destinations. Thanks to Dave Cochrun and Inspector Dave in helping us improve this part of the program.
  • You can now use the escape key to close any active operations window. All operations and other jmri windows can also be closed by using the control-W key.
  • Yardmaster and Conductor windows now show utility cars by their quantity rather than by road and number. Both windows now support the "Sort by Track" option. The Yardmaster window now uses the "Switch List" format rather than the "Manifest" format.
  • You can now control which loads are allowed to ship from staging.
  • Improved the routing code to search for several interchange or yard tracks at a location when trying to find a route to a spur. The previous version didn't try find other tracks at a location when the first track tried was full. Thanks to Jim Elbe for finding and reporting this issue.
  • Made some improvements to the build report with regards to car routing. Also improved how the program deals with routing a car into staging and which tracks in staging are appropriate.
  • Improved on how the program deals with "car type and custom load pairs" for locations and trains when a car type is changed or deleted. Thanks to Inspector Dave for reporting this issue.
  • Improved how the program deals with custom loads and kernels. Now all cars in a kernel will get the same custom load if the the custom load is valid for the car.
  • Improved the dialog window for a route comment. Now you can easily enter several lines of text.
  • The Locations window now shows the track types for each location.
  • New feature, for classification/interchange tracks you can now restrict which destinations the track will serve. See "Track Destination" under Tools in the edit track window.
  • You can now tell the router if you want it to consider yard tracks when routing a car. Deselect "Enable Car Routing via Yards" in the Option window under Tools in the settings window if you don't want to use yards when routing cars. The yards are still available for other purposes.
  • Added the ability to print out a car's final destination and return when empty to the car roster print function.
  • In the "Set Car" window, the return when empty and final destination fields are now disabled if you turn routing off. Both features require routing to work properly.
  • The program no longer shows an error in the train build report if you delete a schedule item for a car that was assigned that item in match mode. The program now tries to find another match for the car, and will report a problem if there isn't a match available.
  • The program now shows the train, departure and arrival locations if the prompt to or from staging is selected.
  • Dan Boudreau made the following fixes to operations:
  • Fixed a line formatting problem with manifest and switch lists that have carriage returns embedded in the comments.
  • Fixed a problem when swapping cabooses in a train's route. The code didn't check to see if there was the correct number of moves available in the route to do the swap. Thanks to Quintin Foster for finding and reporting this problem.
  • Fixed a problem with a train's departure time when there was back to back locations using the same name. Thanks to Bob Byck for finding and reporting this issue.
  • Fixed an issue where the "Add" or "Edit" Track window size would revert to its previous size while modifying the track checkboxes.
  • Fixed a problem where the program wouldn't correctly select a staging track when exclude train or route was used.
  • Fixed an issue where the program would route too many cars to a spur with a schedule.
  • Fixed a problem where a car with a custom load in route would lose which schedule item the car had been assigned when the train carrying the car was reset.
  • Fixed a problem where a switcher would ignore a car's wait count. Thanks to Joe Mattick for finding and reporting this issue.
  • Fixed a bug where a train wouldn't build after deleting a car or loco type that the train used to carry.
  • Fixed a bug in the cvs files when user had commas in their comments.
  • Fixed a bug where a train wouldn't terminate if the first location in a route was deleted in a built train.
  • Dan Boudreau added support for NCE USB / PowerCab version 7. NCE now supports the use of AUIs for sensors when using a NCE USB and PowerCab. You need to have the latest USB interface which is version 7.x.x and your PowerCab must be version 1.65 or newer.
  • Kevin Dickerson made the following changes :
  • Hardware Updates:
  • CAN Ethernet - Added the ability to select the correct protocol
  • Merg CBUS Ethernet - Added in a new adapter to handle this configuration
  • LocoNetOverTCP - Fix an issue with the connection details that prevented it from being loaded.
  • Ecos - Fixed a minor issue with the way that the speed step reply was processed that caused an error
  • ESU ECOS - Fixed an issue with the way that the throttle speed changes are handled
  • Loconet Simulator - Initial states of sensors can be set via the preferences, rather than using the default of UNKNOWN
  • Debug Throttle - Add 14 & 28 Speed step settings to those that are available
  • Loconet Throttle - Fix issues where certain speed steps were being skipped over in 14 & 28 mode. - Michael Mosher & Kevin Dickerson
  • Editors:
  • SensorIcon - Fix an inconsistency issue with the setting of sensor text colours.
  • Text Properties - Fix the font size selection list in text properties to work correctly
  • Layout Editor - Added in the ability to rotate Slips
  • Layout Editor - Include internal block boundaries on the continuing path of a crossover as a valid location for setting a signalmast/sensor
  • Layout Editor - Fixed a placement issue with the SignalMast/Sensor tool in the Layout Editor
  • SignalHeads:
  • SignalHeads - Fixed an issue which prevent the Add button from working correctly
  • Updated the DCC signal head decoder to allow user defined numbering for different aspects.
  • Fixed an issue where if the username is changed, this is not reflected in the Editor Icons.
  • SignalMast:
  • Added in the ability to repeat the state of one SignalMast onto another and vice-versa
  • When an Aspect is either disabled or enabled, the Aspect ComboBox in the table is reflect this change.
  • Fixed a bug in the DCC Signal Mast when copying a Signalmast which has aspects set as disabled.
  • Fixed an issue where if the username is changed, this is not reflected in the Editor Icons.
  • SignalMast Logic:
  • Update the user defined blocks so that they are updated when user names are changed and move
  • React to LayoutBlocks being allocated to sections. This only occurs if the Logic has a section associated with it, and the dispatcher has been loaded.
  • Identifies Signal Masts that can be classed as intermediate. Intermediate Masts are classed as those that only have a single destination mast, with no turnouts in the path.
  • Flag sections as being intermediate where they go to or from an Intermediate Mast.
  • Now considers the opposing blocks when it encounters a double crossover.
  • Fix an additional issue when a signal mast logic is deleted it may generate an NPE.
  • Allow multiple protecting blocks for a single SignalMast located at the throat of a turnout.
  • Entry/Exit(NX):
  • Add the option to set an alternative colour for the layout blocks while the Entry/Exit route is being set up. Colour is defined in the Entry/Exit Options
  • Allow extended NX routes to be set eg A-D, rather than A-B, B-C, C-D
  • Can now extend the transit of an Active Train in the dispatcher
  • Now considers the opposing blocks when it encounters a double crossover.
  • Added in the ability to stack Entry/Exit (NX) Interlocks.
  • Allow multiple protecting blocks for a single NX Source located at the throat of a turnout.
  • Decoder Pro:
  • Decoder Selection - Added a Show/Hide facility on matched decoders after the decoder has been read
  • DP3 - The new Loco window, now allows you to create a basic roster entry without having to open a separate window
  • Fixed the DP3 Quit from menu option
  • Fixed an issue where a new Roster Entry may not get saved correctly to the roster index.
  • Dispatcher/AutoDispatcher changes:
  • Initial Support for Signal Mast in the Dispatcher including
  • Automatic train responding to SignalMasts
  • Section generation based upon SignalMast Logic
  • SignalMast Logic based section blocks are populated at load
  • Fix an issue where turnouts are not correctly being set in the last section, (when continuous running isn't selected) or the previous block is not picked up if the active train is starting in the transit and is not in the first block of that section.
  • Add the ability to delay the start of a train based upon a sensor going active.
  • Add to the memory icon, the ability to reset an Automatic Active Train once it has completed.
  • Add a text label with the actual speed(percentage)/direction as seen by the associated throttle to an auto active train.
  • When using SignalMasts and Auto Allocate, the mast at the end of the last allocated section is set held, so that the approaching automatic auto train does not simply read what the logic has calculated. When allocating the next section, set the mast at the end of that to held and then release the previous one.
  • Update the auto active train terminate option, so that it waits until the loco has stopped before finally disposing of it.
  • If allocating a section that this flagged as intermediate test all subsequent sections that are also flagged as intermediate to make sure that we do not end up with trains meeting face-to-face.
  • When a section that is waiting to be allocated goes from an occupied to an un-occupied state force the dispatcher to do a rescan of sections waiting to be allocated.
  • Extend the Entry/Exit interlocking so that it can extend the transit of an active train.
  • Add the option to allow the dispatcher window to be opened when the panel file is loaded.
  • New Train Window - The starting block combo box will automatically select the first occupied block in the list
  • New Train Window - When called from the panel with a known Roster Entry and block, the transit combo is populated with transits that either contain the block past or have it as an entry poing.
  • Fix issue with the editing of the forward blocking sensor
  • Fix a out of range exception in dispatcher.
  • Provide access to the Dispatcher functions of create new train, allocate sections and terminate for an active train from a memory icon, if a Roster Entry is used
  • Store the train type as set in the Dispatcher New Train Window against the roster entry, and retrieve it when the entry is selected again
  • Added the option to store the Roster Entry in allocated blocks from the dispather rather than just a text string
  • Provided a new method to edit block, turnout and sensor details in the table.
  • Added the option to set the state of an Internal Sensor at load/creation to something other than Unknown
  • Updated the routes window to allow it to contain scroll bars if the window is too small for the information contained
  • Blocks/LayoutBlocks - When the layoutblock useExtraColor is changed, propagate this down to the "block" so that it can fire off a propertychange event of "allocated" to all its listeners. The "block" itself does not keep track or store the allocated setting. This saves any objects having to listener to both the block and layoutblock states.
  • Enzo Fortuna made more updates to the Italian translation. This includes numerous changes to the coding for existing (English) strings, so please comment if you notice something missing.
  • The JUnit unit tests were reorganized at the top level.
  • Fixed a problem with MS100 mode. Note that MS100 is only available on certain older Windows machines; this fix doesn't change that, just restores some function lost in JMRI 3.2. In the long run, you need to replace your MS100 with something from this century.
  • The Xerces-J parser used to read and write XML files was updated to version 2.11.0
  • More changes for internationalization, particularly for the operations code by Dan Boudreau. Enzo Fortuna has made large updates to the the Italian language support, including Digitrax and Lenz decoder definitions.
  • More reducing decoder definitions to common form via XInclude of "part files".
  • Dave Heap changed the preferences associated with roster location and "User File Location". He also added support for ESU's new Marklin-style speed tables in LokSound 4.0 decoders.
  • Dave Heap improved some of the file-location-related terminology.
  • Paco Cañada provided decoder definitions for PpP decoders.
  • Changes for Virtual Sound Decoder (by Mark Underwood):
  • Fixed a LOT of bugs from 3.2.0. Some big ones are called out specifically below.
  • Added support for designating a location as being inside a tunnel (still experimental)
  • Added the ability to assign a Physical Location to a Block if that Block is associated with a Reporter. This gives added resolution in locating the train, under certain circumstances.
  • Engine start sound now only played when throttle is at idle.
  • Added filesystem browsers to the default path and file entries in the Preferences
  • VSD file can now explcitly indicate which defined Diesel notch is the Idle notch.
  • Walt Thompson fixed links in several help pages.
  • Walt Thompson fixed a bunch of links in the help pages.
  • Walt Thompson improved the help file linking.
  • Fixed problem when exporting roster files.
  • Fred Dalzell added a definition for the MRC Steam Sync Mini decoder MRC_soundbrilliance1869.xml
  • Gert Muller fixed a problem when storing panels from the web client.
  • Fixed speedometer opening three little blank windows.
  • More graphics in the help pages will not display in a desktop web browser when clicked.
  • Updated Standalone LocoNet help page information for LocoBuffer-USB and LocoBuffer-II use of LocoNet RailSync wires.
  • Fixed a problem that could result in roster entries sharing a backing file if you export an entry and then re-import it into the same JMRI instance. If you have done this, in the past, the fix is to "Recreate Roster Index" from the debug menu.
  • Steve Todd added an option to the Communications Monitor windows to allow users to filter out unwanted message types.
  • Egbert Broerse provided definitions for the Rio Grande signals as of 1965.
  • Paul Bender made some internal improvements to the XPressNet programmers.
  • Michael Mosher updated the BLI and NCE decoder definitions
  • Updated the DCC Signal Head to work like the DCC Signal Mast and all known hardware. The NMRA Standard for addressing DCC Signal Accessory Decoders is poorly written and ambiguous. JMRI support for these is moving toward what the hardware manufacturers are actually doing, and away from NMRA DCC Working Group diktat.
  • Add LinkingLabel, a type of icon on the various panel editors that will let you move to another window or open a web page. Just a starting point for eventual web-server features.
  • Improvements to aspect-signaling docs.
  • Added a new LinkingLabel icon type to the three kinds of panels. This can be text or an icon. When clicked, it takes you to another JMRI window or an external web page or file. Steve Todd also built in web support for remote viewing.
  • Dick Bronson improved the NS-2008 signal set.
  • Removed the ability to run the NCE serial interface at 19,200 baud. This speed has been found to cause problems with the NCE command station. The default is now 9,600 baud. If you were running at 19,200 baud, you'll have to reconfigure your NCE command station to run at 9,600.
  • John Crellin provided decoder definitions for the MRC 1619 through 1624 decoders, and updated the TCS X definition.
  • On MacOS X, change the script in the launcher icons to properly handle Oracle versions of Java.
  • Michael Mosher updated the SoundTraxx Diesel Tsunami definitions and provided a new BLI Light definition.
  • Paul Bender fixed a bug in the JMRIClient implementation that prevented the names of CBUS turnouts and sensors from being passed to the server.
  • Ken Cameron made the following changes to NCE systems:
  • Added preliminary support for the SB5 and Twin systems.
  • Expanded support for the updated PowerCab (1.65) and the updated USB (7.*)
  • Changed the way NCE systems figure out which menu options are supported for a given connection type.
  • Removed the multiple line format of the Cab Monitor based on user feedback and headaches it caused the code.
  • Cab Monitor now displays AIU inputs bits as functions on the cab.
  • Added USB Interface support to allow changing the USB cab number
  • The following changes were made to network services:
  • The JSON Server can be automatically started when JMRI starts -- Randall Wood
  • The JSON Web Servlet can update or add turnouts, sensors, and other objects -- Randall Wood
  • Fixed a problem with help links that reported a 404 error through the default browser. -- Dan Boudreau
  • On LocoNet systems with transponding, fix a spurious power-off when doing ops-mode decoder reads.
  • You can now use the "Start Up" pane in preferences to have any of the six Operations windows open when the program starts. You can also use that to put buttons on the PanelPro or DecoderPro startup window to open the Operations windows without going through the menus.
  • In the past, all menu items were listed under the Preferences "Start Up" choices for a new action or button. This is slowly changing so that only valid ones, based on the currently configured connection(s), are displayed. This is meant to make it easier to find the ones you're looking for. This is a subtle change to the code, so please let us know if something has gone awry. About 1/3 of the system-specific items have been removed so far, with the migration intended to be complete by the time JMRI 3.4 is released this coming summer.
  • Added the possibility to copy a selection from the System Console to the clipboard -- Matthew Harris
  • Michael Mosher updated the Tsunami decoder definitions
  • Michael Mosher added a new NCE N103 decoder definition
  • Nigel Cliffe provided definitions for the Harman DCC "Signalist" decoders
  • The DCC manufacturers list was updated with the most recent NMRA assignments
  • There's now a layoutblocks variable predefined for access to the LayoutBlockManager from Jython scripts.
  • Mattias K updated the LocoNet support to track the time that LocoNet messages were received.
  • Dick Bronson updated the definitions for RR-CirKits products
  • Stephen Lowens updated the SoundTraxx Tsunami Rapido definition
  • Dave Heap updated the ESU V4 decoder definitions
  • Nigel Cliffe provided a definition for Harman DCC "Signalist" decoders.
  • Decoder definition for the MPM RRR cars and advanced light functions decoder from Wekomm - Alain Carasso
  • Improved internationalization for the About dialog - Jens E Christensen
  • Improvements to JSON server and protocols:
  • JSON clients can now add, edit, and delete consists. - Randall Wood
  • Begin versioning the JSON protocol so clients can use an explicit JSON protocol version. - Randall Wood
  • Include the JSON protocol version in the ZeroConf advertisement for both network services that support the JSON protocol. - Randall Wood
  • Allow the JSON socket connection hello message to be read using an HTTP GET to /json/hello - Randall Wood
  • Allow the JSON hello message to be requested by JSON clients through the socket connection. - Randall Wood
  • Add a JSON method to enumerate all advertised ZeroConf services; this is intended to allow a client outside the ZeroConf boundary with only knowledge of the Web service to request a JSON-formatted list of all network services (WiThrottle, SRCP, LocoRMI, etc...) with ports and connection information. - Randall Wood
  • Improved web server performance with a large number of clients or large number of requests per client. - Steve Todd
  • Request administrator rights when installing - fix for bug highlighted by Suzie Tall
  • The TCS decoder definition files have been realligned with great help from TCS. All old definitions are still there, but three new families have been created from which only the one with the latest firmware (called Jan 2012) is always visible. If you identify a decoder on the programming track the correct decoder definition file will be called. The decoder files now also leverage the unique decoder type ID provided by TCS. When identifying the decoder not only a large family will populate but only the right decoder featuring its correct firmware will be shown.
  • There's also a new feature in the tool allowing to replace obsolete decoder definition files with their current replacement. To do this, select "Update Decoder Definitions" from the "Debug" menu. In this release, the only decoder definitions that are available for update at the TCS ones. If you have TCS decoders and want to use the most recent decoder definitions, please back up your files and then go ahead with doing this update.
  • An initial decoder definition file for the soon to be released WOW sound decoder is included. So far only the NON sound related CV's are supported, as the sound CV's require additional rework of the code base.
  • Peter Ulvestad improved the Atlas 342 and 345 decoder definitions
  • Nigel Cliffe improved some CT Electonik decoders.
  • David Heap improved the Help Locations window.
  • Dave Sand contributed a new ManageBlocks.py sample script
  • Andrew Crosland added dynamic changing of speed step modes to the SPROG throttle
  • Andrew Crosland made changed to the Bachrus Speedo following user feedback:
  • Change window layout to show dial and graph together
  • Added optional grid overlay
  • Added selectors for programming track or main track operation (doesn't do very much at present)
  • Added User editable title string
  • Dave Heap added further Patches to fix ESU V4 Indexed CVs decoder definitions, plus some code in LocoFile.java to correct existing roster entry files as they are read, in order to match corrected definitions.
  • Joan de Castro added additional Catalan translation.
  • Prevent potential NPE during JSON operations
  • Set JSON protocol version for 3.4

New in JMRI 3.3.8 Dev (Jun 26, 2013)

  • Fix issue with the editing of the forward blocking sensor
  • Fix an issue where a simple circular track circuit doesn't get the signal mast pairs detected correctly.
  • Fix an additional issue when a signal mast logic is deleted it may generate an NPE.
  • Prevent potential NPE during JSON operations
  • Fix a out of range exception in dispatcher.
  • Correct the way that the auto active train stops using a speed profile
  • Adjustments to the way that final speed step is in a calculation is handled.
  • Set JSON protocol version for 3.4

New in JMRI 3.2 (Dec 17, 2012)

  • Improved how cars are forwarded to alternate tracks. Now if the alternate track's spur becomes available during the build, cars originally sent to the alternate are now redirected to the spur.
  • Made some minor improvements to the train build reports when a train departs or enters staging.
  • Improved how the csv manifest counts empty cars with custom loads.
  • New operations feature, you can now control if arrival or departure times are shown on your train manifests. See under "Edit Train"->Tools->Options
  • You can now open a csv manifest directly from the trains window.
  • When building a train, the move list is no longer in alphabetical order.
  • You can now force a car or locomotive to any track when using the "Set" window.
  • You can now reset the move counts for cars and locos. See under Tools->Roster in the Cars and Locomotives window.
  • Train, car, and locomotive log files are now only created when there's data to save. This should eliminate empty log files.
  • Fixed a bug where all cars in a kernel were being checked when selecting a track from staging. Only the lead car in the kernel should have been checked.
  • The train log now includes the build failure messages
  • You can now have your manifest show the departure time rather than the estimated arrival time. See Print Options for more information
  • The schedules window status has been improved to show more cases where a schedule has a problem.
  • The edit train window will now only launch one edit route window
  • Train reset in the Trains window now checks to see if the departure staging track was allocated to another in bound train. This prevents using reset for the departure train, and then ending up with two trains on the same staging track.
  • You can now allow cars to return to staging by train. The train has to be a turn, it must depart and return to the same staging location. The option can be found under Edit Train -> Tools, Train Build Options.
  • New feature "Show Cars in Train" can be found under Tools in the Conductor window or from the train icon menu. Now you can see which cars are in the train at the various locations, and where picked up cars are to be placed in the train.
  • New feature for trains, you can now prevent local moves even when using custom loads. You can also prevent through traffic from origin to terminal. See under Edit Train, Tools, Train Build Options.
  • Now when you select a car type in the location window, the program will bring up the "Modify location by car type" window. Now you can quickly see which tracks will service the car type selected.
  • Removed switch list and build report options from the Print Options window. Build report options now have their own window. Switch list options were moved the switch list window that is launched by the "Switch List" button in the Trains window.
  • Increased the number of fonts available for operations. Only monospaced fonts are now available if you've selected tabular manifests and switch lists.
  • Improved the train build reports. Now the build report separates each car being processed by a line break in very detailed mode.
  • Fixed a problem with selecting the "Courier" font that was introduced in 3.1.5.
  • Fixed a problem with the Switch List window not appearing when the default printer wasn't specified on the PC. We only know of one user that has experienced this problem, might be related to one of the newer versions of JAVA.
  • Additional improvements to the train build report, a better description of location moves.

New in JMRI 3.1.6 Dev (Dec 4, 2012)

  • New feature for trains, you can now prevent local moves even when using custom loads. You can also prevent through traffic from origin to terminal. See under Edit Train, Tools, Train Build Options.
  • Now when you select a car type in the location window, the program will bring up the "Modify location by car type" window. Now you can quickly see which tracks will service the car type selected.
  • Removed switch list and build report options from the Print Options window. Build report options now have their own window. Switch list options were moved the switch list window that is launched by the "Switch List" button in the Trains window.
  • Increased the number of fonts available for operations. Only monospaced fonts are now available if you've selected tabular manifests and switch lists.
  • Improved the train build reports. Now the build report separates each car being processed by a line break in very detailed mode.
  • Fixed a problem with selecting the "Courier" font that was introduced in 3.1.5.
  • Fixed a problem with the Switch List window not appearing when the default printer wasn't specified on the PC. We only know of one user that has experienced this problem, might be related to one of the newer versions of JAVA.

New in JMRI 3.0 Dev (Jul 26, 2012)

  • 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
  • Updates:
  • 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 behaviour.
  • Added the ability to delete Signal Mast logic from the Signalling 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 signalling system name does not match the directory that the signal mast are held in
  • Hardware Connection:
  • 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 mutliple 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.
  • DP3:
  • 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
  • Manufacturer
  • Model
  • Owner
  • Added the ability to hide columns in the Roster Entry Table
  • Updates:
  • 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 inconsistancy issue relating to the saving of preferences in DP3 depending upon the method that it was closed
  • Editors:
  • 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
  • Layout Editor
  • 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.
  • Updates:
  • 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 initialised after all the layout blocks have been initialised.
  • 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 signalmast 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.
  • Misc:
  • New Features:
  • Add the ability for the command monitor, jython input and output windows to be displyaed on top of any other window.
  • Added the ability to clear the jython output window via a button
  • Updates:
  • 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 initialised 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.

New in JMRI 2.99.8 Dev (Jul 17, 2012)

  • If the user has clicked on an entry to edit it but made no change, the entry would get re-saved
  • If the user has a Roster Group selected and edits a roster entry, the incorrect roster entry would be updated

New in JMRI 2.99.5 (May 28, 2012)

  • 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 arn'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".
  • Fixed a problem when manually adding a car to a train when the train is a turn.
  • Fixed a problem when manually adding multiple cars to a train using the Set Cars tool
  • Fixed a problem with track reserved track lengths if you changed the length of rolling stock after a train was built.
  • Fixed track length problem if you changed loco lengths after a loco was assigned to a track.
  • Fixed a problem where routes could be deleted when the auto save feature was enabled

New in JMRI 2.99.3 (Feb 21, 2012)

  • 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
  • Operations bug fixes and enhancements:
  • Fixed an intermittent problem when departing staging in aggressive mode and generate custom car loads was enabled for that track
  • 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.
  • Kevin Dickerson made the following changes.
  • 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
  • Added a delay option into the SignalMast code to allow the simulation of manually operated signals ie Semaphore Signals
  • Fix an issue when an NullPointerException could occur when changing between signal mast driver types when the signalling system name does not match the directory that the signal mast are held in
  • Added an Experimental DCC accessory controlled SignalMast for the rr-cirkits LNCP module.
  • Updated the status bar font size in DP3 to hopefully make it clearer for some users.
  • Added the ability to save and recall the order in which column headers appear in DP3s roster 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.
  • ECOS - Improved he handling of adding locos to the roster from ecos database.
  • (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
  • Fixed an issue in the "Add/Edit Routes" window that could cause panel files to load slowly.
  • Fixed an issue with the Start-Up Wizard that could cause the system to hang when doing the final connect
  • Fix potential NPE that would stop the Sprog command station from working if a null packet was queued.
  • Fix a number of XML validation errors.
  • 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.

New in JMRI 2.99.2 (Jan 12, 2012)

  • 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.
  • Fixed a bug where the PR3 could not operate a throttle in Programming Mode
  • 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 behaviour.
  • Updated the logic behind the SignalMastLogic in determining routes on the layout editor involving a Double Crossing
  • Updated the CAN BUS code so that it can handle mutliple connections and be configured with other systems at the same time.

New in JMRI 2.99.1 (Dec 13, 2011)

  • Scroll enabled for Settings.
  • Scroll fixed for iOS4 and Android < 3.0.
  • Other bugs fixed and some enhancements.
  • Get app logos using toolkit to prevent startup crash(es) when building (if copyfile step not performed).
  • add "protect" flag to frameserver to provide read-only page that auto-refreshes.
  • "promote" Start Mini Web Server to Tools menu.
  • Fixed a problem with System Console font choice
  • Incorporated the current logging level into the debug log level report
  • Fixed a problem in the Context Report which often failed if a network cable was not plugged in
  • Changed the Audio table views to use a tabbed pane
  • Added an option to incorporate a 'Restart JMRI' button to the main JMRI window

New in JMRI 2.13.6 (Dec 4, 2011)

  • Scroll enabled for Settings.
  • Scroll fixed for iOS4 and Android < 3.0.
  • Other bugs fixed and some enhancements.

New in JMRI 2.13.4 (Oct 20, 2011)

  • You can now restrict how a train delivers cars along its route. You can now have all cars picked up along the route delivered to the last location in the route. See under Edit Train->Tools "Train Build Options"

New in JMRI 2.11.8 Dev (Jul 2, 2011)

  • Add user's name to loconet titles when user has modified default name to distinguish multiple connections
  • The initial display of the CBUS console was fixed so that the buttons show properly.
  • New operations features and bug fixes:
  • Fixed some of the operations windows so the input text fields now work correctly when using large font sizes.
  • Fixed a bug were the program didn't check to see if a train could service a track when the car had a destination assigned to it before the build.
  • Fixed web server panel click on Positionable components,
  • JMRIMobile speed improvements
  • Decoder definition for the Hornby R8245 decoder
  • Updated the SE8c signaling example.
  • Fix in roster copy for NPE that prevented the copy from working.
  • Fixed an error in the loading of Simple Signalling Logic (SSL) where an invalid entry potentially causes all of the logic not be loaded and are lost on any subsequent stores.
  • Fixed an error that potentially prevented the pop-up menu for a turnout from being displayed.
  • Fixed an error in the global sensor de-bounce load process that potentially prevented sensors from not being loaded correctly.
  • Added the CSX-1998 Signalmasts
  • Updated the AAR-1946 Signalmasts to work with the Signalling Logic.

New in JMRI 2.11.4 Dev (Apr 17, 2011)

  • The release notes are arranged by contributor now. This not only gives credit to the hard work behind each individual contribution, but also helps provide a bit more organization, as each developer tends to have a particular part of the code they focus on
  • Big news for those who find the standard JMRI font too big or too small. You can now change it via Preferences -> Display
  • Numerous improvements to Operations
  • The LocoNet monitor translates additional commands into plain English
  • Fixes glitches in the CP290 and Insteon powerline interfaces
  • Fixes a timing glitch in the RobotThrottle3 script that allowed a train to effectively trip its own signal before it actually passed. With the fix in place, Walt our intrepid moderator has run 7 simultaneous trains under RT3 control for 4 hours without interruption
  • The AutoDispatcher script now sports user defined track colors along with several new schedule commands
  • Improvements to the JMRI installer allows the Windows Task Manager to properly display the names of the various JMRI applications
  • Assorted bug fixes and improvements to the Layout, Panel and Control Panel editors
  • JMRI throttles now feature icons for the throttle and function buttons (you can turn them off if you don't like them)
  • The 1st pieces of the Aspect Signaling system are coming into place. With this release you can assign speeds in the block and turnout tables. These speeds are also available to the various automation tools such as RobotThrottle3 and AutoDispatcher
  • Cleared out a couple big bottlenecks in the Mini-Web Server. Web based throttles and panels should should now have a lot more "snap" to them
  • Various additions and corrections to the decoder files, with an especially large contribution of definitions for the newer Digitrax sound decoders

New in JMRI 2.11.3 (Apr 12, 2011)

  • Many operations improvements
  • support for the new Digitrax DCS51 Super Chief Xtra and the SPROG 3
  • Major additions to Logix and Editors
  • Improvements to throttles, including web and smartphone throttles.

New in JMRI 2.11.2 (Feb 21, 2011)

  • Paul Bender provided a new ThrottleBridge.py script. It is a proof of concept script showing how to bridge a throttle from one system to another.
  • Paul Bender fixed a bug in Lenz XPressNet throttle implementation.
  • New operations features and bug fixes:
  • Users can now modify the train timetable.
  • Change switch list valid date to 24 hour clock
  • Code now checks the train's direction when determining a track for engines and cabooses.
  • Added "Modify Location by Car Type" tool to the location window.
  • Fixed operations bug introduced in 2.11.2. When parsing a location or track name, if a name ends with "-x" the -x should be dropped if x is a number.
  • Use the route departure time if set.
  • Allow user to select default printer for switch lists.
  • Add to train tool menu print and preview build report.
  • Rolling stock move count improved.
  • Allow user to change departure comment to loads and empties.
  • Users can now control which loads a track can service.
  • New tabbed manifest and switch lists.
  • Minor enhancement to check the car's load when placing car at a location.
  • Improve how operations moves cars when a route services a location more than once.
  • Improved car routing when car has a scheduled load.
  • All car loads in a kernel are now updated by siding schedules.
  • User can now change all of the loads in a kernel when editing a car's load.
  • Add GUI for selecting tabbed manifests
  • Update "Show Car Types Serviced" Tool for train, now shows load status for train and track.
  • Fix bug when car has destination and train terminates into staging.
  • Fixed operations problem when two or more consecutive schedules were used to route cars.
  • Minor improvement to manifests when using colors.
  • Fix minor bug when restarting program: A track with a schedule would move to the next items during load when cars had that destination track.
  • Operations enhancement, in the Trains window, user can select "Show All" or "Show only build trains".
  • Operations enhancement, now the user can sort trains by status.
  • Modify all cars in kernel when creating schedule loads from staging.
  • Users can now preview or print out the car loads for the various car types. This feature can be found in the Edit Car Loads->>Tools
  • Users can now control which staging track a train will use.
  • Provided a new operations sample script to deselect the train build button when a train terminates: OperationsDeselectBuild.py
  • Users can now run scripts after operation files have been loaded. And users can run scripts when the Trains window is closed.
  • Check car and engine length field during file imports.
  • Users can now select where to place the backup operations files. See Settings / Tools / Backups.
  • Send car from staging with a custom load directly to a siding / schedule demanding that car type and load.
  • Fix trains terminate button, it should have terminated all trains that have been printed.
  • When printing car locations you can now optionally have a space or page break after each set of locations.
  • New manifest print option, you can now show destination and track when picking up a car.
  • Pete Cressman added support for invisible icons on panels. The file "Invisible.gif" in the program icon directory can be selected as a dimensionless icon. This can be used when sensors are stacked amd allows "peeking through" a state of the top sensor to view the state of the sensor underneath. For example. combining two sensors to depict a 3 state panel jewel.
  • Lionel Jeanson updated the JMRI mini web server index.html with entries to prefs/roster.xml and web/roster.html Also, added automatic creation of function buttons from the JMRI roster to the web throttles application, including lockable buttons.
  • Dan Boudreau and Ken Cameron updated the NCE support to allow more than one NCE connection.
  • Dan Boudreau fixed a bug with configuring multiple port options.
  • Paul Bender updated how the throttles handle notifications internally.
  • Ken Cameron updated the main window to show connection name for each line. Nice confirmation for multiple connections.
  • Dan Boudreau added a warning when trying to load an icon with a bad url
  • Kevin Dickerson improved the script input window.
  • Kevin Dickerson improved how Blocks are saved and loaded
  • Matt Harris fixed a problem with the System Console configuration
  • Kevin Dickerson added a "New Throttle Window" to the File menu
  • Pete Cressman added a dialog to correct or delete broken icon paths (bad url) when loading a panel.
  • Dennis Miller fixed some help page links
  • Giorgio Terdina updated AutoDispatcher2 to version 2.3.4, which copes with some changes in SignalHeadicon and is backwards compatible.
  • James LeFevre added more functions to the TMCC throttle.
  • Lionel Jeanson improved the ZeroConf handling.
  • Pete Cressman added new Logix features:
  • A dialog will display Logix errors if any occur during runtime
  • Conditionals can be set to calculate the triggering of their actions whenever one of the state variable changes state. Until now Conditionals have only calculated the triggering of their actions when the antecedent expression itself changed truth value. In both cases, actions are still triggered according to the truth value of the antecedent expression.
  • State variables to test the status of Occupancy Blocks have been added.
  • Actions for setting Occupancy Block conditions have been added.
  • Pete Cressman added new ControlPanelEditor features:
  • Clipboard Copy & Paste can be done between two control panels,
  • The Item Palette can hold multiple sets of icons for each item type.
  • The Item Palette has "Indicator Track" and "Indicator Turnouts" that change color when their block sensor shows occupacy. When used with Occupancy Blocks and Warrants, indicator icons will show allocation, path route, occupancy or error condition by color.
  • Andrew Crosland added support for SPROG 3.
  • Andrew Crosland changed the defaults for the CBUS console to decimal, show events.
  • Kevin Dickerson added an option in the Ecos preferences to select if we always force control of the loco when trying to open a throttle or not.
  • Kevin Dickerson greatly improved the internals for throttle handling
  • Paul Bender made changes to the XPressNet code toward multiple connection support
  • Ken Cameron made it possible to select a default power manager when using multiple connections.
  • Pete Cressman improved path detection and display for simultaneous manual and auto train running under warrants
  • Pete Cressman fixed an empty tooltip-text bug
  • Kevin Dickerson improved handling of errors when opening LocoNetOverTCP connections.
  • Pete Cressman added a loco icon to follow auto trains running under warrants
  • Ken Cameron improved handling of the Digitrax DCS51 Super Zephyr. Thanks go to Ed Sisk for the loan of a DCS51 to perform the development and testing.
  • Kevin Dickerson fixed NPE that can occur with some versions of unix and MAC OS X with getting the multiclick interval time that may not be supported
  • Matthew Harris added an example script to enable persistence of turnout states between sessions
  • Matthew Harris updated SerialPortRFID script - as per patch #3152534 from Nigel Cliffe and MERG member Ian King
  • Kevin Dickerson updated the user preference manager so that items and descriptions are now dynamically added via the using code. The message preferences pane is now dynamically created bases upon this information. See AbstractTableAction and LogixTableAction for examples of its use. The old items stored in the xml files is nolonger valid, but shouldn't be a major issue as all these dealt with was the surpression of message boxes.
  • Matthew Harris fixed a GUI anomaly on Tabbed Preferences window
  • Kevin Dickerson added the ability for the user to add icons to the panel editor via the mouse popup menu while in edit mode. The icon will be placed at the co-ordinates of the mouse. Also Signal Masts and sensors can be added to boundary points on the layout editor
  • Kevin Dickerson added the ability to find an east or west bound positionable point by either a signal head, signal mast or sensor. Also added tools to return either a facing or protected blocks by signal heads, masts or sensors.
  • Kevin Dickerson has done some work on storing frame positions and sizes via the user preference manager.
  • Lionel Hebbos improved the Jynstrument throttle support:
  • Added function control up to 28.
  • Removed filter on kind of acceptable devices so that any Jinput device can be used for throttle control (Keyboard, mouse...).
  • Added a sample driver for keyboards. Note: once the keyboard driver is running, all keyboard inputs will be considered even if the JMRI window is not on the front
  • A "None" device was introduced in the device list accessible on right click, avoids to have all key inputs redirected to the Throttle.
  • James LeFevre improved TMCC throttle support.
  • Matthew Harris corrected a bug where Layout Editor and Control Panel Editor Panels were not being deleted when 'Delete' was picked from the 'File' menu.
  • Matthew Harris changed the BeanTableDataModel to use internationalised strings for column names rather than hard-coded strings.
  • Paul Bender added a script showing how to add and remove a consist.
  • Fixed a problem with OpenLCB turnout and sensor device addresses in "dot" form: 12.34.56.7.8.AB.C.DE
  • Leo Bicknell improved the LocoNet monitor:
  • Adds symbolic names for the 0xD7 and 0xDF opcodes.
  • Tweaks a number of messages so they are easier to read, provide more useful information.
  • Reformats the fast clock query and response commands to make them clearer and take up less space.
  • Reworked the sensor reporting code to allow it to properly convert sensor numbers to DS-64 inputs and be much easier to understand.
  • Reworked the sensor probe decode to report which sensors are being probed, rather than the esoteric "bits a/c/b" information.
  • Added in a decode for what I call the PANEL QUERY (0xDF opcode).
  • Added in a decode for what I call the PANEL RESPONSE (0xD7 opcode). [Tested against UR-91 and UR-92, but not UR-90.]
  • I found the slot read/write stuff totally unclear, so I modified some of the terms and how it prints out and got what I think is a much clearer output.
  • Added decodes for the Duplex Group Name query and response.
  • Added decodes for the Duplex Group Channel query and response.
  • Added decodes for the Duplex Group Password query and response.
  • Added logic in the SEND IMMEDIATE decode to decode F-keys F13..F28 and print something nice.
  • Made numerous improvements in internal structure and documentation
  • Corrected the inconsistency of "." or no "." on messages to always have a ".".
  • Better report a request for Command Station OpSw values (slot=127).
  • Annotated things that were reverse engineered.
  • Removed unnecessary dest address from DISPATCH PUT display.
  • Prefixed LONG_ACK a few places it was missing.
  • Fixed sensor reporting logic to properly display SE8c information. Thanks to Bob Milhaupt.
  • Improved decode of switch status broadcast, even though I've never seen anything send one.
  • Changed OPC_PANEL_RESPONSE to indicate if it was duplex capable, if we're interpreting that bit correctly.
  • Included a long form decode of Command Station OpSw reponses.
  • Leo Bicknell fixed a presentation problem in the LocoNet ID tool

New in JMRI 2.11.1 (Oct 13, 2010)

  • Andrew Crosland improved the speed averaging for the Bachrus speedometer.
  • Kevin Dickerson updated the auto width justification of a memory label in LayoutEditor, around the x position, ie the text will centre around position X, or be right justified to the value of X. Before the justification only really showed itself with fixed width memory labels.
  • Kevin Dickerson made multiple improvements to panel editor.
  • Multiple items can be selected, by holding down the ctrl key and clicking on them.
  • Selected items now have a square box drawn around them.
  • Positioning can now be adjusted by using the arrow keys, the arrow keys on their own will move the items by 5 pixels either way, by holding shift and then the arrow key, it will move a pixel at a time.
  • Provides a basic copy & paste function within a single panel, allows for single or multiple items to be copied.
  • A revised pop-up menu is displayed when multiple items are selected, it only displays the options for Edit Alignment, Remove, Copy.
  • Should also remove the issue in ubuntu when dragging items on the panel editor, that the popupbox is displayed when it shouldn't be. Nb this needs to be check on a MAC that it doesn't cause a problem.
  • Kevin Dickerson improved the preferences: By default 4 sets of jmrixconfigpanes are created at start up. However if there are more than 4 connections, the 5th and above connections do not have a jmrixconfigpane instance created and do not automatically get listed in the preference window.
  • Kevin Dickerson fixed a problem that could cause multiple LocoNet connections to get the wrong prefix.
  • Andrew Crosland improved the Bachrus speedometer readout to work more closely with the hardware, and to reject measurements that appear to suffer from jitter.
  • Pete Cressman added a copy popup to the Control Panel Editor.
  • Paul Bender is updating the XPressNet adapter code to allow multiple connections.
  • Kevin Dickerson made it possible to dismiss a print preview dialog.
  • Kevin Dickerson updated roster printing: Puts the loco icon on the print out, formats the text around the graphic so it looks neater and doesn't run into the loco graphic. Function Labels can now be printed on individual roster items. When printing individual roster items, the user is given the option to select which tabs should be printed.
  • Kevin Dickerson updated the layout editor: Add the ability to set the background color of the panel via a menu option. Selected items now have a square box drawn around them. Multiple items can be selected, by holding down the ctrl key and clicking on them. Positioning can now be adjusted by using the arrow keys, the arrow keys on their own will move the items by 5 pixels either way, by holding shift and then the arrow key, it will move a pixel at a time.
  • Kevin Dickerson updated the Panel Editor & Control Editor: Added ability to set the background colour by bring up the popup menu on an empty part of the panel.
  • Andrew Crosland updated the SPROG support to make repeated ops mode CV writes appear consecutively rather than interleaved. Problem reported on developers list by Galen Seitz 22 July 2010
  • Andrew Crosland updated the Bachrus speedometer to add dial type speed display, in both metric and English units, and to integrate with DCC system to capture loco speed profile. You can now export a speed curve to a .csv file.
  • Kevin Dickerson made some improvements to the connection code, including catching an error, removing deprecated code and adding a "disable adapter" option.
  • Pete Cressman improved how icons are found in the computer's file system.
  • Kevin Dickerson changed the editors so you don't have to hold the control key down while moving items.
  • Kevin Dickerson updated memory labels to set the auto width justification of a memory label around the x position, ie the text will centre around position X, or be right justified to the value of X. Before the justification only really showed itself with fixed width memory labels.
  • Kevin Dickerson placed the select items to print option, prior to selecting the printer.
  • Kevin Dickerson provided a "Properties" window for text based items, which allows the user to set various text based settings in the popup menu from a single window all at once, (eg Font Size, Color, Background, style, border margins etc) and preview them prior to applying the changes. Also allows for the user to enter in font sizes that are not listed in the popup. For texted based sensors, it is possible to preview and configure the text for the four different states. Initial development of the feature, will need some further refinement, only available with the panel editor, but can be used in the other editors once any issues have been ironed out. Feature request 2958431 relates.
  • Andrew Crosland added help pages for the Bachrus speedometer.
  • Simon Ginsburg made a huge update to the JMRI translations into other languages.
  • Ken Cameron fixed a problem where a variable-intensity Light would not step all the way to the correct final intensity.
  • Simon Ginsburg added translation tool scripts.
  • Mike Mosher updated the TCS V51+ decoder definition to add LL8 & EU621 decoders
  • Andrew Crosland improved the SPROG throttle to better handle fractional speeds.
  • Pete Cressman fixed a problem selecting groups on panels
  • Dan Boudreau made many enhancements to operations.
  • The operations program now supports car routing. The program will now use up to 5 trains to move a car from one location to another. Routing through staging tracks is disabled by default.
  • A new feature, "Return When Empty" is now available. When a car's load changes to empty, the car can optionally return to a location or location/track.
  • UK support been improved.
  • Improved operations staging warning messages.
  • User can now specify a pickup or drop comment for a car based on the car's load.
  • Users can now mark a car as misplaced. When a car is marked misplaced, the program will not attempt to move the car. Also a list of misplaced cars is now appended to manifests and switch lists.
  • Schedules can now delay a car's pickup from a siding.
  • A new feature, car loads can now have a low or high priority. High priority loads are serviced before low priority loads.
  • Lionel Jeanson made multiple improvements to throttles:
  • More French translation
  • Improved edit/play mode and transparency, transparency no longer proposed as a preference, in edit mode, internal frames are opaque and are set translucent when going to play mode (click on button with pen in toolbar). Tested on OS-X/Windows/Linux with several L&F, works fine on all.
  • Improved "save throttle layout" and "save default throttle layout", now also save throttles themselves, new preference in throttle preference to configure this behavior (activated as default, to be deactivated to go to older mode that would only save the windows layout).
  • Kevin Dickerson improved the C/MRI sensor add process so that it now displays an error message when an invalid system name is entered. Sensor manager now allows for multiple sensors to be added.
  • Kevin Dickerson added a double & single slip and a three way turnout to the panel editor.
  • Matt Harris added 'Copy to clipboard' button in context window.
  • Graeme Brown provided updates for NCE decoders
  • Jim LeFevre added support for F5 through F14 on TMCC throttles.
  • Pete Ulvestaad fixed spelling errors in the QSI definitions, and provided a definition for the Bachmann Soundtraxx decoder
  • Alain Carasso contributed decoder definitions for Arnold - Rivarossi and Mistral Train GOLD decoders.
  • david zuhn added support for exporting the entire roster to one file. Menu support (but a null implementation) for importing from an exported roster file.
  • Nigel Cliffe contributed a decoder definition for the MERG ACC5 decoder and did a major update to the MERG ACC4 decoder definition.
  • Peter Mansvelder contributed a definition for the Fleischmann function decoder
  • Dale Tripp provided a decoder definition for the Kato FL12 decoder
  • Chris Bradshaw provided a decoder definition for the TCS Z2 and DP2x decoders.
  • Georg Kautzsch provided a decoder definition for the Uhlenbrock 67800 servo decoder.
  • Matt Harris added a VerticalLabelUI class so to allow JLabels to be displayed vertically.
  • Matt Harris added the new JMRI System Console which takes the place of the Windows Console. The Windows Console didn't always auto-minimize properly and would close JMRI without going through the normal shutdown procedures if someone accidentally clicked on the close button. The JMRI System Console is available from the Help menu. As with most of the menu items, you can also setup it up in Preference to autostart with JMRI. It displays the same information as the old Windows Console, is easy to resize and has a button to simplify the task of copying text to the clipboard
  • Pete Cressman added a new editor tool: Item Palette. He also updated the signal head icons to only show icons that are relevant to valid states.
  • Dick Bronson updated the RR-CirKits Tower Controller 64 decoder definition
  • David Duchamp made some improvements to running trains with the Dispatcher.
  • Mike Mosher provided a "RosterMigrate2.py" script to allow users to migrate their "Soundtraxx OEM" decoders to specific models.
  • Team Digital provided a decoder definition for their Team Digital BlocD8 board.
  • Matt Harris made several improvements to the Windows installer.
  • Team Digital updated the SIC_24AD definition to include toggle option to inputs and startup delay
  • Phil Klein provided "LocoNetSensorInit.py", a script to cause LocoNet sensors to send their state so that JMRI will update.

New in JMRI 2.9.10 (Jul 12, 2010)

  • Fixed a problem that would cause changed preferences to be saved even though the save button wasn't pressed.
  • Kevin Dickerson fixed a problem when switching between Signal Mast signal system definitions. He also changed how icons are resized, which should help with resizing problems on rotation.
  • Dan Boudreau improved error reporting in the operations feature.
  • Fixed a problem in sample scripts that access serial or parallel ports.
  • Fixed problems with signal mast icons.
  • Fixed a problem with French translation of roster.
  • Mike Mosher updated the common parts of the QSI definitions for easier translation.
  • Kevin Dickerson fixed a problem with selecting certain layout editor icons.
  • Brett Hoffman updated some of the remote throttle communications.

New in JMRI 2.9.9 (Jul 12, 2010)

  • Pete Cressman fixed a problem with rotating Signal Mast icons.
  • Paul Bender made improvements to the XPressNet communications internals.
  • Paul Bender improved how the Throttle handles functions when opening a throttle to a locomotive that's already in use.
  • Lionel Jeanson added support for lockable/non lockable functions from roster entry into USB Throttle Jynstrument.
  • Kevin Dickerson updated the editors to handle the setting of borders and margins better, by using a compounded border, the inner covering the margin, the outer covering the outline border. Fixes an issue seen by a user on the yahoo group
  • Steve Todd updated the Android Engine Driver throttle program to have dual throttles.
  • Dan Boudreau made a minor GUI improvement in the edit track: Adjust frame so car type scroll bars don't always show up.
  • Dan Boudreau added a new operations feature: Users can now control which car loads a train will service.
  • Lionel Jeanson added a new throttle icon.
  • Kevin Dickerson updated the editor icons so that they always save the justification position. He removed some inconsistencies from the hidden option. He also removed the "clear" colour from borders, as that didn't do anything.
  • Lionel Jeanson updated the internal edit/play code for throttles to better handle backgrounds.
  • Lionel Jeanson provided a new "RosterImage" Jynstrument displaying the defined roster locomotive image in a throttle frame.
  • Paul Bender updated internals of the throttle support in general and for XPressNet.
  • Pete Cressman improved the Signal Mast icon for the editors.
  • Paul Bender improved the handling of unexpected XPressNet messages.
  • Brett Hoffman improved the WiThrottle communications.
  • Kevin Dickerson fixed a bug that was causing preference settings to be saved even if the Save button hasn't been pressed.
  • Pete Cressman made a change to how backgrounds are handled in the editor.
  • Michael Mosher provided a new definition for Soundtraxx Bowser locomotive decoders
  • Pete Cressman removed the "special mouse click" support from the control panel editor.
  • Dan Boudreau added two new devices to NCE show cabs: Cab06 and Mini-Panel.
  • Kevin Dickerson fixed an occasional bug while adding sensors.
  • Dan Boudreau updated the operations feature to allow users to use the format month-year for a car's built date.
  • Nigel Cliffe provided a new definition for the TT300 accessory decoder, a UK product by Traintronics.
  • Nigel Cliffe made minor changes to CT decoder, primarily extending the volume control from four-steps to sixty-four steps (yet more undocumented changes by CT(!), found when experimenting with new decoder)
  • Steve Todd updated the Engine Driver throttle for Andriod to version 0.6
  • Dan Boudreau improved the names of operations menu items
  • Dan Boudreau added an operations feature for locations: A button has been added to automatically adjust the car types that a location services. Only car types that are serviced by the location's tracks will be selected.
  • Brett Hoffman fixed a timing issue with WiThrottle and consists.
  • Dan Boudreau added a new operations car edit attribute tool feature: The "Delete Unused Attributes" will prompt the user to delete an attribute that hasn't been assigned to a car.
  • Matt Harris fixed the "config-portable" tool for standalone running.
  • Matt Harris changes the Windows installer build
  • Dan Boudreau added some operations tool tips
  • Dan Boudreau fixed an error when configuring the RPS system
  • Pete Cressman prevented false clicks on signal mast icons.

New in JMRI 2.9.8 (Jun 14, 2010)

  • Panel files written with JMRI 2.9.6 or later that contain Lights will not be readable by earlier versions of JMRI.
  • JMRI system names start with two capital letters, e.g. LT10 or NS23 or PLA5. Past versions have tried to cope when people enter lower cases letters, e.g. lt10 or Ns23 or pLA5, with various degrees of success. Unfortunately, this code isn't compatible with some new systems that are being working on, and we have to remove it. Starting with this version, JMRI requires that you enter consistent system names, including using the right case. If you use system names, and haven't been using consistent names, you'll probably have to practice a little to get in the habit. If you have any problems reading old files, etc, please post a note on the jmriusers list and somebody will help you.
  • The LocoTools application is no longer supported, and is being removed. Some parts of it are still present, but you should use e.g. PanelPro or DecoderPro instead. They can do everything that LocoTools can.
  • The preferences have been significantly reworked. In some cases, preferences to add a button or do an action at startup may have to be deleted and re-entered before they will work.
  • The communications libraries for Mac OS X have been updated. We've tested these extensively, but there may be combinations of hardware and software versions that still aren't right. If the program can't see your layout connection, please post to the jmriusers list with what type of Mac you're using (PowerBook, PowerMac, MacBook, etc), processor type (PPC G3, G4, G5 or Intel) and Mac OS X version (10.4, 10.5, etc; names like Leopard are OK) too. We've got several library versions and most likely have one that will work, we just have to figure out which.
  • If you're using a Lenz XPressNet connection, please uncheck the "Check Buffer Status" box in the preference pane where you selected the Lenz protocol.
  • This version of JMRI uses the new communications libraries introduced in JMRI 2.9.3. On Windows, the installer should take care of all installation and deinstallation required. On Linux, you may have to install and/or uninstall various communications library parts, see the JMRI Linux pages for more info. On Mac, depending on which version you were previously using you may have to remove a communications library, see the JMRI Mac OS X page.
  • You may get some messages like:
  • WARNING: RXTX Version mismatch, Jar version = RXTX-2.2pre1 native lib Version = RXTX-2.2pre2
  • For now, this should be considered normal. We'll try to get it removed before the next production release.
  • The JInput USB library was updated in JMRI 2.9.1, and again in JMRI 2.9.5, which (should) have fixed problems on Windows Vista, Intel Macs and some Linux machines. We don't have a way to check this with all possible input devices, so please check to make sure that your USB-attached devices still work.
  • When loading an older panel file containing signal head icons, you may get WARN messages about "did not locate lunar icon file" and "did not locate flashlunar icon file". To make these stop, just store the file again so that it's rewritten in the most recent format.

New in JMRI 2.9.7 Beta (May 31, 2010)

  • The function mapping pane for Digitrax DH163 decoders was missing two rows (functions F7 and F8). This has been fixed.
  • Lionel Jeanson made improvements to the jyninstrument throttle support for images, added a driver for "USB Game Pad 2"-type devices, and added support for a video input view in a frame inside a Throttle Window.
  • Dan Boudreau updated the operations print feature so you can now control which car attributes are printed.
  • Pete Cressman added an option to use local or global flag for positioning & control of items in the panel editor(s).
  • Dan Boudreau added a "reset operations databases to default" feature to the operations support.
  • The LocoNet ID tool now displays multiple received IDs, so you can tell if all your UR90/UR91 receivers are set properly.
  • Lionel Jeanson added a work-around so that jynstrument customizations would work even if the file was dropped instead of properly dropping the folder, and fixed a bug in finding the proper folders.
  • Kevin Dickerson fixed a problem with SPROG throttles.
  • Brett Hoffman added consist selection to the WiThrottle support.
  • When using multiple LocoNet connections, there's now a preference that lets you pick which one will be used for CV programming.
  • Lionel Jeanson added a table in the DecoderPro "Roster Media" pane for updating roster attributes.
  • Pete Cressman improved the Warrant Table and OBlock Table

New in JMRI 2.9.6 Beta (May 11, 2010)

  • Improvements in several automating-running tools:
  • Dispatcher
  • Warrants
  • AutoDispatcher script
  • Improvements to how pulse-output (solenoid coil) turnouts are handled through Lenz systems.
  • Major update to Light support
  • Multiple small improvements to Operations support
  • More improvements and fixes to the new preferences dialog and flexible system for multiple connections

New in JMRI 2.9.5 Beta (Apr 12, 2010)

  • Many improvements and fixes to throttles
  • You can have more than one LocoNet connection, for example one for signals and another for throttle connections
  • A new preferences dialog that's simpler to use
  • AutoDispatcher script now included
  • Easier dialogs for adding sensors and turnouts

New in JMRI 2.9.4 Beta (Feb 22, 2010)

  • Kevin Dickerson fixed a problem editing signal logic that had been introduced in JMRI 2.9.1.
  • Dick Bronson updated the SP 1960 signal definitions.
  • Kevin Dickerson added a new feature added to a turnout on the layout panel, that prevents the turnout from being changed on the panel if the blocks on the connecting path through the turnout are occupied, thus helping to prevent accidental changing of turnouts when they are occupied. Feature is disabled by default.
  • Fixed a problem that prevented clicking on panels in the mini web server.
  • Dick Bronson improved the SP signal definitions
  • Kevin Dickerson added a "signal group" feature, still in development.
  • Many decoder files got small fixes so that they were entirely in the proper format.
  • Lionel Jeanson updated the USBThrottle so it now supports browsing through rosters and selecting one.
  • Lionel Jeanson provided a bug fix in wiimote throttle.
  • Many decoder definitions where changed over to use "XML Schema" instead of "DTDs" for their syntax checking. This is a technical, internal change that will allow some other updates later.
  • Paul Bender add support for the Power manager to the Lenz XPressNet simulator.
  • Kevin Dickerson updated the preferences manager to show icons in warning/info dialogs, and to give more options to suppressing messages permanently or just this session.
  • The Mini Web Server can now display more types of information, including directory listings, and better show the contents of JMRI XML files.
  • Dan Boudreau fixed a problem in the "Apps" infrastructure that caused it to initialize twice.
  • Update of the SRCP server.
  • Andrew Berridge improves the XBox remote throttle.
  • Dan Boudreau changed the check of operations train names to be case-independent, because Windows file names are case-indepedent: "First" and "first" conflict.
  • By suggestion of Jim Betz, the roster now includes the date and time that the entry was last saved, as reported by the computer on which it was saved. No checking of this value is done.
  • Kevin Dickerson made a number of changes to the way that JMRI works with the eCos, mainly in the handling of roster entries and the ecos database.
  • The panel editor and layout editor code has been extensively reworked. It's not intended that this cause any changes in how it appears to look to the user, but please let us know if you see any.
  • Bob Coleman updated the powerline insteon 2412s support to catch reply message 50 (echo from a repeater) and clean up console output a bit. Via an insteon 2412s an X10 device or a registered insteon device should turn on or off, but dim and sensors are not yet available. Sometimes first commands to an insteon device fail -- once they have been retried they work. Note that Insteon devices must be registered with the adapter to work.
  • A small correction was made to the BLI Blueline decoder definition.
  • A problem that would occasionally cause a LocoNet-connected Double Output or Triple Output signal head to not show the most recent appearance has been fixed. The fix doesn't effect SE8c or non-LocoNet signal heads, so any problems with those should still be reported.
  • david zuhn updated the Linux start-up scripts.
  • Fixed a bug in the way the roster populates the various selected combo boxes.
  • Kevin Dickerson added "invert" to SPROG-driven turnouts.
  • Matt Harris updated the Windows launch script to properly handle mixed systems with 32-bit Java on 64-bit Windows.
  • Many improvements to the built-in mini web server, including improvements to iPhone support and allowing more browser types to display JMRI panel files.
  • The communications library issues that prevented JMRI 2.9.3 from being used on Mac OS X 10.4 has been fixed.
  • The help system can now directly print help pages. See the new icons at the top of any help screen. Also, you can know mark a page as a "favorite" and easily come back to it later.
  • Jason M'Sadoques improved the WiThrottle support to pick the best IP address for display when several are present, and to not display internal-only addresses that won't work for external access.
  • David Duchamp updated the instructions for building with XCode.
  • The built-in JMRI web server is now multithreaded to improve performance.
  • Dan Boudreau improved the operations train icon: Popup menu now always displays the "Throttle" option. "Throttle" is disabled if roster entry doesn't exist for the loco.
  • Improved how Conditionals convert Memory contents so they can be compared, etc.
  • Added default exception handlers so that uncaught exceptions will now put information into the log file.
  • Andrew Berridge added an "estop" to the XBox throttle on the left stick button.
  • Kevin Dickerson improved how you set the protocol in the preferences. Now, you first pick a system manufacturer from a list, and then pick which connection type to use from another list. This makes it easier to find the right one. For example, if you pick "NCE" as the manufacturer, you can then pick from "Serial Interface", "Network Interface" and "NCE USB".
  • The XML IO package has been updated. To see a demonstration, start the JMRI mini web server, and try these two URLs: http://localhost:12080/web/request.html and http://localhost:12080/web/monitor.html.
  • Kevin Dickerson improved the synchronization of turnouts between JMRI and an eCos command station.
  • A new "virtual" connection has been added, so you can try the programs without selecting any particular type of layout hardware.
  • Printing of tables has been reworked. This fixes the ordering problems, etc, but also changes the appearance of the printout. That will probably require some additional tweaking.
  • The buttons inside tables have been made smaller so that tables will fit better on smaller screens.
  • Fixed bug introduced in JMRI 2.9.1 that prevented clicking on panels when using the Mini Web Server.
  • Dan Boudreau added a simulated connection to the NCE protocols, so you can work on an NCE-based panel without the actual layout connected.
  • Andrew Crosland added support for the Bachrus electronic speedometer.
  • Dan Boudreau added a new feature to operations: When setting a car's location or destination, the "auto" checkbox will only show valid tracks for that car.
  • A new preferences dialog is available for testing. If people think it better, perhaps after some changes, we'll replace the current one with it. To use it, select "New Tabbed Prefs" under the "Edit" menu. Please give feedback on the jmriusers list if you try it! Note: you should only attempt to use one preference panel or the other during a single run of the program, don't switch back and forth.
  • Dan Boudreau improved the appearance of the Turnout Control.
  • Fixed a bug preventing playing sounds in Logix Conditional Actions.
  • Andrew Berridge and Peter Ulvestad updated the Hornby 8249 definition.
  • Harald Barth improved the CV programming in the SRCP support.
  • William C Gage provided a decoder definition for the MRC Sound Brilliance 1808.
  • Marc Fournier provided a decoder definition for the Trix 66838 decoder.
  • The way the program version number is stored in the program and output files has been made easier to parse.
  • Jack Shall updated the Tsunami Diesel definition.
  • Andrew Berridge added an optional "speed limit", which can be set by locomotive in the roster, when using JMRI throttles. Great for running with grand kids!

New in JMRI 2.9.3 Beta (Jan 27, 2010)

  • Dan Boudreau made some improvements to programmer error messages, and to operations build messages.
  • Alfredo Sola updated the Spanish translation.
  • Removed the warning message when the program starts up if no roster entries have been stored yet.
  • Fixed a problem with lunar lamps in aspect signaling.
  • You can now add Signal Mast icons in the panel editor. The images used are taken from the definition of the signal system in use.
  • A history of the panel files loaded and stored by JMRI is now kept. You can look at the current history from the Panel menu. The display is still in a very preliminary stage, we'll improve that later, but we put the feature in now to start accumulating the history in the file.
  • Dan Boudreau added two new build options for trains: by owner, and by built date.
  • Joan Carrancà added a set of signal definitions for the DB 1969 system .
  • Dan Boudreau added two new build options for trains: by owner, and by built date.
  • The DecoderPro manual in the help pages has been extensively updated.
  • Paul Bender added a set of signal definitions for the SLSF (Frisco) system .
  • David Duchamp fixed two bugs in the Maple interface
  • Kevin Dickerson added a page title to the roster print out that will either be "DecoderPro Roster All Entries" or "DecoderPro Roster Group 'GroupName' Entries", so you can see if you're printing the entire roster or just one of the roster groups.
  • Kevin Dickerson fixes the order in which the MERG SD2 signal head sequences.
  • Matt Harris added protection against trying to use a Digitrax MS100 on Windows Vista and Windows 7.
  • Kevin Dickerson added a new "single output" signal type. This allows you to have a signal that only has two states controlled by one turnout, e.g. one that only shows a single color and dark, or two specific colors.
  • Andrew Berridge improved the SPROG serial communications
  • Dan Boudreau made a minor operations improvement with regards to engine roads: The user can exclude a road for cars, but still allow an engine to be assigned to the train with the excluded car road.
  • Dan Boudreau added a new operations feature: Allow users to move or terminate a train from the Trains window.
  • Kevin Dickerson added check-boxes for disabling various reminder prompts, along with a way to remember those during the next time the program runs, and a tool for resetting them if you change your mind.
  • Matt Harris fixed a spurious warning about "Insets" when running under Gnome-based Linux.
  • Kevin Dickerson added a set of British Rail signal definitions and associated images.
  • Jason M'Sadoques provided an update to use an Android phone as a throttle.
  • Dan Boudreau added a new build option for operations: aggressive. Setting aggressive true will cause the build process to immediately make available tracks that are vacated by cars being picked up. He also added a new feature, under tools in the train edit window, so users can print the train's manifest, even after terminating the train.
  • Several updates to the Lionel TMCC support to fix multiple bugs. The TMCC support was badly broken in JMRI 2.4, and only with this version should be considered working.
  • Marc Fournier updated the version numbers in the MRC Athearn MP15 decoder definition.
  • Michael Mosher provided a decoder definition for the QSI Stock Car.
  • Michael Povel provided definitions for the TAMS LD-G-21 and LD-G-32 decoders.
  • David Duchamp updated Simple Signal Logic to use up to five sensors, which allows more complicated trackwork to be handled by Layout Editor.
  • Jack Shall updated the Tsunami Diesel definition to include the Kato KT100 models.
  • David Duchamp made Dispatcher enhancements for both manual running and future automatic running of trains.
  • Kevin Dickerson fixed how Signal Mast icons rotate in the Panel and Layout Editors.
  • Kevin Dickerson added a custom power on/off control to the SPROG menu.
  • Fixed a problem with the DecoderPro function map when using more than 12 function definitions.
  • Andrew Crosland updated the configuration files for building and running JMRI under NetBeans.
  • Harald Barth improved the SRCP implementation.
  • Andrew Crosland improved how the speed-step setting is saved with a Throttle
  • Dick Bronson provided a set of SP 1960 signal definitions
  • Andrew Berridge provided a first version of an XBox throttle
  • Dan Boudreau added a "Copy Route" to operations

New in JMRI 2.8 (Dec 19, 2009)

  • Greatly improved throttle support, with more flexibility for customization, locomotive images, and ability to use iPhones, iPods and Wii remotes as throttles
  • Greatly improved Logix, signaling, operations, editors, and other tools
  • Many new decoder definitions, several new hardware connections, and a number of new system customization tools.

New in JMRI 2.7.10 Beta (Dec 13, 2009)

  • Ken Cameron updated the RobotThrottle2 sample script.
  • Andrew Crosland changed the standard/extended address boundary in the SPROG throttle software to match the SPROG hardware.
  • Kevin Dickerson improved the code for saving panel files.
  • Brett Hoffman updated the WiFi communications code.
  • Lionel Jeanson improved the throttle help pages to include much more information about advanced features.
  • Dan Boudreau made several improvements to the operations code. You can now print your manifests using colors for the car drops and pickups. You can now reset a train if you've modified the train's route after you've built the train. And the car database is automatically saved when you change the Car Types (Descriptive or AAR codes) in setup.
  • Peter Ulvestad improved the decoder definition for the MRC 1663 Atlas S2/S4 decoder.

New in JMRI 2.7.9 Beta (Dec 2, 2009)

  • Giorgio Terdina provided screen icons for German signals.
  • Tjeerd Verhage provided an icon for our SourceForge.net page
  • Dan Boudreau added three additional sort options for trains in the operations code: by route, departure, and destination.
  • Matt Harris updated the Audio package.
  • Dan Boudreau fixed a marker bug: Opening and closing marker frames caused the number of markers created to increase by one each time the marker frame was reopened.
  • Dan Boudreau made an Operations enhancement. When replacing an existing engine model with a new model, the new model will now take the old model's attributes of length, type, and horsepower. He also improved some of the build messages with regards to cabooses and cars with FRED, and made a minor improvement in build messages for engines. Note that if the train requires 2 or more engines that they be in a consist.
  • Lionel Jeanson added a first Jynstrument for throttle tool bar, allows for USB devices throttle frame browsing and throttle pilot.
  • Kevin Dickerson fixed a bug in sensor icons. When the icon was using different size images for the four states, these used to be centered. Starting in JMRI 2.7.4, this was inadvertantly changed so that they were aligned in the upper left corner. This bug is now fixed, and the images have been moved back. This won't effect you if you're using the (recommended) same-size icons, but if you're using different size icons and have created a panel since JMRI 2.7.4, you may have to revisit it.
  • Andrew Crosland changed the default power manager state for CBUS to agree with the hardware.
  • Kevin Dickerson updated the eCos support to now include S88 sensors.
  • SE8c Signal Heads can now work with non-Digitrax layout connections. There have been a number of changes to make this possible. In particular, the convention for system names for SE8c signal heads has changed. Existing ones (from saved layout files) will stay the same, but newly-added signal heads will have the new names.
  • Added a sample script to run the Heljan container crane from the screen.
  • Brett Hoffman added support for mobile devices to control throttles through a wi-fi connection. The first use of this is the WiThrottle for iPhone and iPod Touch.
  • For better Snow Leopard compatibility, on Mac OS X the JMRI applications now pass the "-d32" option to the Java startup. This will (usually) force Java into 32-bit mode.
  • Peter Ulvestad provided a decoder definition for the MRC Rapido Turbotrain.

New in JMRI 2.7.8 Beta (Nov 16, 2009)

  • Many improvements to JMRI throttles.
  • New Warrant feature for scripted running of trains.
  • Support for lunar (4th aspect) signals.
  • New "Jynstruments" capability for extending JMRI tools.

New in JMRI 2.7.6 (Oct 17, 2009)

  • Matt Harris improved how the new audio support handles some errors.
  • Dan Boudreau made some improvements to the operations tools: Added some tool tips, improved performance with large rolling stock collections, fixed an occasional timing problem, created a more random set of cars and engines for building trains, limit the number of cars printed in the build report to 500 cars to avoid out-of-memory conditions when previewing a printout.
  • Pete Cressman fixed a problem with italic text in the panel editor.
  • Kevin Dickerson fixed a problem controlling Turnouts and Signals through an SPROG, and greatly improved the internal structure of that code.
  • Kevin Dickerson added support for the MERG Signal Driver 2 board.
  • Pete Cressman fixed a bug in Logix support for Memories
  • Dan Boudreau fixed the panel editor to allow the user to use the + and - functions to nudge labels.
  • Kevin Dickerson reduced to one the number of times a function is sent to a decoder by an SPROG system, thus for sound functions it prevents the sound being repeated three times or a turnout being set three times.
  • Dan Boudreau improved the operations "engine import" feature to check if the model exists.
  • Kevin Dickerson added support for groups in the DecoderPro roster.
  • Ken Cameron updated the RobotThrottle2 script to solve the 'waiting for throttle' problem, and to provide smoother stops.
  • Matt Harris updated the audio GUI to be compatible with smaller screens.
  • Kevin Dickerson added formatting features into the Text and Memory Label on the Layout Editor:
  • •Set Fixed Size,
  • •Set Margin Size (Not available if the size is fixed)
  • •Text Label Background Colour
  • •Border Size & Border Colour For the Memory Label he also added:
  • •Justification - If the Size is fixed, it deals with the justification within the box, if the size is dynamic, then it is the justification around the x axis.
  • •Double Click to present an Edit Memory value.
  • Dan Boudreau added options to allow operations users to control the display of error messages.
  • Matt Harris updated the build.xml file so that JMRI can be built with Java 1.7 (1.5 is still the default)
  • Ken Cameron added Jython command support to Logix.
  • Kevin Dickerson updated the layout sensor, so that it can be converted and displayed as a text label instead of an icon. Formatting options are similar to that added with the positional label, default text will either be from the sensor username or that it blank then it will use active, inactive.
  • There is now a IMCURRENTTIME memory variable that contains the current fast time.
  • Matt Harris provided a new "SoundPro" application.
  • Lionel Jeanson added support for icons to the roster, so you can associate images with your locomotives. He also updated the Throttle to display them, and provided a throttle preferences panel for controlling that.
  • Peter Ulvestad updated the Comprehensive programmer format to display built-in speed table information better.
  • Peter Ulvestad updated the MRC Sound Brilliance 1820 definition to better display CV 6. He also provided new MRC 1637 and 1665 definitions, and updated the MRC Diesel 1829.
  • Paul Fraker updated the MRC Athearn Genesis SD45-2 definition and updated the MRC Diesel 1829 definition.
  • Elmer McKay provided a nice help file describing how to start putting signals on your layout.
  • Dan Boudreau add two new operations tools for trains and locations. The "Modify Trains" and "Modify Locations" tools allows the user to quickly edit which car types a train or location will service.
  • Kevin Dickerson added a function to allow the system throttle manager to notify software throttles that they have lost control over the selected loco.
  • Jack Shall updated the SoundTraxx Diesel Tsunami definition to include the new ALCO 539 models.
  • Micheal Dunn and Peter Ulvestad provided a new definition for the MRC 1658 Sound Brilliance decoder.

New in JMRI 2.7.5 (Sep 12, 2009)

  • Pete Cressman fixed a problem storing and loading the new Memory Spinner Icon, improved some labeling in the icon selector, and added more controls to the memory icon popup menu.
  • When storing references to files, e.g. custom icons in panel files if the file is stored in your home directory, JMRI will store a relative "home:" reference, in addition to the already-present detection for files in the JMRI program and preferences directory. This makes it easier to move panel files from computer to computer; just make sure you have the icons, etc, in the same relative place on the two machines.
  • Ken Cameron added sensor support for X10 Powerline devices. Once you have manually created a sensor using the Sensor Table, changed heard on the powerline will adjust the corresponding sensor's state.
  • Pete Cressman made some improvement to Panel Editor icon handling.
  • Pete Cressman added group icon capture and move in the Panel Editor. When a panel in put in "repositioned" mode, a click and drag that begins in an open area will draw a red rectangle. All the non-fixed icons captured within this "fence" can be moved as a group by dragging any one of the captured icons. "Non-fixed" means the icons that do not have their "fixed" or "locked" items checked in their popup menus. A group of icons captured by the "red fence" can be aligned by their upper left corners horizontally or vertically by selecting the "Align Vertically", or "Align Horizontally" items in one of the captured icon's popup menu. These items appear only when the icon is captured. This alignment will only occur to the unfixed and unlocked icons.
  • Paul Bender fixed a problem with XPressNet throttle setup that was particularly problematic for Hornby users.
  • Ken Cameron improved his RobotThrottle script.
  • Dan Boureau added status information to the operations route table.
  • Kevin Dickerson improved the way we check for duplicate roster IDs to catch some additional cases.
  • Paul Bender corrected a bug in XPressNet LI100 programmer which made it difficult to read multiple values from a decoder (single reads were ok).
  • Kevin Dickerson added a capability to connect locomotive information in the ECoS command station to JMRI.
  • Ken Cameron added a horn button to the RobotThrottle.
  • Paul Bender added some additional error messages to the DCC programmer.
  • Sakae Akanuma added a Japanese translation.
  • Dan Boudreau improved the NCE Show Cab feature.
  • Pete Cressman fixed a bug in the memory compare in Logix
  • Dan Boudreau fixed a bug with rotating square icons.
  • Ken Cameron updated his RobotThrottle2 and DebounceSensor scripts.
  • Pete Cressman improved rotations of icons to the panel editor, and added scaling and repositioning. A new "Rotate (degrees)" item was added to the popup menu. The former "Rotation" item is now labeled "Rotate (Orthogonal)". "Rotate (degrees)" will rotate an icon an arbitrary number of degrees. Each "Rotation" item resets the other. The "Scale (percentage)" popup item enlarges or shrinks the icon by the percentage input. To scale and rotate, use "Rotate (degrees)". A "Shift-Drag" feature allows repositioning of the icons in a layer beneath an icon, while holding the top icon in place.
  • Ken Cameron fixed the problem that would cause startup errors if you configure a clock (analog, digital or Nixie) to open at startup.
  • Matt Harris fixed the way the preferences store the GUI selection to avoid occasional problems.
  • Matt Harris added great new Audio support, including a demo script that shows off many of the features.
  • Peter Ulvestad added a definition for the DN163K1D decoder and updated 'maxMotorCurrents' on the DN163K1A,B,C.
  • Jack Shall reworked the Soundtraxx Bachmann OEM decoder definition.
  • Mike Mosher updated the ESU XL V3.5 decoder definition to fix acc/dec on motor tab and incorporate latest changes from LS V3.5 file.
  • Mike Mosher updated the QSI Gas Turbine decoder definition to add "Code Horn for Gas Turbine Startup".
  • Jack Shall and Mike Mosher updated the SoundTraxx Tsunami Diesel definition to add CVs, correct a couple bugs, and add tooltips.
  • Peter Ulvestad updated the Bachmann EZDCC 4fn definition to add a max value for CV2, changed the Lenz tab name to Bachmann, updated dimensions and default values as per decoder manual and added factory reset menu items.
  • Dan Boudreau fixed a minor bug when building trains from staging tracks without engines. Builds would sometimes fail if the staging tracks didn't have engines. Fix now allows trains to be build from staging without requiring engines.
  • Kevin Dickerson added a new "failedThrottleRequest" function to the core Throttle support, so that if System-specific throttles are unable to create a throttle, then the address is removed from the throttleListeners Hashmap, and hence prevents the DCC address being locked out.
  • Andrew Crosland added support for CBUS CV programmers.
  • Dan Boudreau fixed a minor operations bug to allow terminating a train into staging without an engine.
  • Paul Bender fixed an error when parsing an "unsupported command" XPressNet response message.
  • Paul Bender changed the XPressNet code: instead of sending emergency stop to a MultiMaus (which doesn't support the emergency stop command?) send speed 0.
  • Peter Ulvestad updated the Bachmann EZ DCC, and EZ DCC 1 function decoder definitions to change the model name, added decoder dimensions, update defaults and cleaned up the formatting.
  • Peter Ulvestad updated the ESU Bachmann 3 function to add CV17 - Extended address, corrected CV4 max value and CV5 default value.
  • Paul Fraker contributed a decoder definition for the MRC diesel 1829 decoder.
  • Jack Shall updated and combined the SoundTraxx Tsunami Steam decoder definitions.
  • Paul Fraker contributed a decoder definition for the MRC Athearn Genesis SD45-2.
  • Peter Ulvestad created a definition for the MRC 1820 Athearn RS3 Dropin Decoder.
  • Peter Ulvestad updated the definition for the MRC 1806 decoder to correct CV67-94 (speed table), moved consist info to consist tab
  • Michael Mosher updated the QSI Version 7 decoder definitions to add new models and CV 55.21.0,CV53.15.0 thru CV53.30.0, CV55.154.SI CV56.9 CV55.3.5 CV55.84.SI CV55.70.12 CV55.76.6,11,12,13 CV51.2
  • Nigel Cliffe provided a new decoder definition for the ZTC 471 sound decoder.
  • Nigel Cliffe provided a new decoder definition for the CT ElektroniK SL series (post v40) sound decoders. He also improved the CT Elektronik DCX decoder definitions.
  • Ilidio Serra provided a decoder definition for the Rapido TurboTrain.

New in JMRI 2.7.3 (Jul 20, 2009)

  • Paul Bender added initial support for connecting to a Lenz LI-USB via the Lenz server.
  • Nigel Cliffe added a SerialPortRFID.py script to allow MERG RFID equipment to be read into JMRI.
  • Pete Cressman made several improvements to the Panel Editor:
  • The icon editor's window title now shows which panel it's associated with.
  • The Icon editors now reset to their default settings whenever opened.
  • The "Add to Table" function of the Icon editors now has a button to enter the element. The new entry is highlighted in the table before adding it to the panel.
  • Sensor icons now have a text attribute to make them easier to use as buttons.
  • Moving all the panel text to a properties file so it can now be translated.
  • Having the image index only store user modified default icon settings.
  • Pete Cressman improved Logix Conditionals by:
  • Adding a state variable memory-to-memory compare operation. Two memory values may be tested for: less than, less than or equal, equals, greater than or equal, greater than. When one or both values is numeric, the test is numeric. Otherwise the compare is lexicographic.
  • The previous state variable "memory equals" comparing a memory value to a value, has been extended to test for: .
  • Dan Boudreau made some minor bug fixes in the operations feature: locations window didn't always show the correct number of car and engine pickups for each location. Small change in functionality, train reset no longer swaps car loads.
  • Internal Lights (IL1, etc) now support variable intensity.
  • The bug causing the program to hang when editing a Logix, Route or Light has been fixed. (This fix was in JMRI 2.6.1, but not in JMRI 2.7.1)
  • Dan Boudreau added a new save panel feature. When saving a panel that already exists, the program now saves a backup copy of the panel in a directory called "backupPanels". The backup panel's file name is modified with the current date and time.
  • Added a new Panel Editor icon for Memory objects that lets you set and modify numeric values. This is a simple initial implementation for values that range from 0 to 100, with more customization, etc, to follow if people are interested in this.
  • Fix the script input window so that large scripts can be entered. Once the initial text window is full, scroll-bars will appear. Also, fixed a bug that could cause the "Execute" button to disappear.
  • Dan Boudreau added initial support for RFID tags to the operations database.

New in JMRI 2.6.1 (Jul 13, 2009)

  • Routes and Logix are both more powerful and simpler to configure.
  • Many improvements to the operations support.
  • The hardware support for Digitrax, NCE, Lenz, CTU Acela, C/MRI, and CBUS systems were all improved.
  • Greatly improved icon handling in the Panel Editor, making it much easier to use the specific images you want.
  • Many improvements to the help screens.
  • Many decoder definition updates.
  • Greatly improved Windows installer.
  • More options in the Dispatcher support.

New in JMRI 2.5.7 (Jun 29, 2009)

  • Panel Editor users may now change the default icons to be icons of their own choosing.
  • Fix to a problem saving custom icons in the Panel Editor that was introduced in 2.5.6.
  • Fix to a problem editing Signal Head definitions from their table.

New in JMRI 2.5.6 (Jun 25, 2009)

  • There's now a new and improved Panel Editor, along with the ability to define and save your own sets of icons.
  • Another round of improvements to the operations feature
  • Improved handling of errors when loading a panel, which should make it much less likely that people will overwrite their panel files with ones that are missing data.
  • A picklist table is displayed for the JMRI entities that have creation tools. Selecting a row from the table activates an 'Add' button that adds icons for the seletion to the Panel.
  • There is a similar panel containing trees for changing icons. The new version displays all the icons contained in a node of the tree and icons are changed by dragging the image from the preview panel to the entity's icons and dropping it there.
  • There are menu items for help and file system searches
  • Any directory accessible from the computer can be searched for images and then added to the trees that provide icons for importing to the Panel
  • An Image Index can be created and a permanet copy saved to organize the icons for import to the Panel. This index is usable globally (i.e. not confined to the Panel under construction).

New in JMRI 2.5.5 (Jun 10, 2009)

  • Ken Cameron fixed an error in the RobotThrottle demo script that happened when items didn't have user names.
  • Dan Boudreau improved printing in operations: When printing locations, tracks now only show which rolling stock types are accepted; provide users the option to only print cars that have a valid location.
  • Paul Bender fixed a problem when XPressNet simulator is starting up.
  • Dan Boudreau updated some internal deprecated references.
  • Fixed a problem preventing the "exclude" option in decoder definitions from working when "include" was also in use.
  • Simon White added support for FindBugs to our software build process.
  • Dan Boudreau updated the code to remove some Java 1.5 generics warnings.
  • Paul Bender improved the consisting performance and added code to handle certain kinds of I/O errors.
  • Jack Shall has updated the SoundTraxx Tsunami diesel definitions so that they now live in a single file, and share definitions of most CVs.
  • Matt Harris fixed a bug in the startup code that could prevent JMRI applications from starting up on Windows.
  • Paul Bender improved how the connection configuration dialog works.
  • Peter Cressman fixed a problem with Conditional names.
  • In the JMRI 2.5 series, the values of Memory objects are stored in panel files and restored when the file is reloaded. This version fixes a problem with replacing "empty" (null) values with a space character; in JMRI 2.5.5, empty values are restored as empty, not as a space character.
  • You can now use "Internal" lights with more setups.
  • Dick Bronson updated the signal icons for USS CTC machine schematic panels.
  • Ken Cameron added a new "FileLogging.py" script, which logs sensor changes to a comma-separated-variable (CSV) for later examination.

New in JMRI 2.5.4 (May 27, 2009)

  • Sorted out a problem with the GridConnect connections to CAN and CBUS. This fixes a problem sending frames that was present in JMRI 2.5.1 and 2.5.2. Note that if you're using a MERG CAN-RS or CAN-USB unit, you should check that your preferences are set properly.
  • Made some operations updates. The "show route" location box as grayed out if train can't service that location. The location print/preview now includes which car types and roads are serviced by each location and track.
  • Improved reporting and printing in the operations tools. You can now see and print what type of cars and engines can be serviced by a location. You can also request that all of the info provided by the edit location be printed.
  • Added support for F13-F28 on Lenz systems upgraded to XPressNet version 3.6.
  • Paul Bender updated the XPressNet support for the Hornby Elite: Do not send the "OFF" XPressNet message (The Elite appears to react in the same manner to both the "ON" messages and the "OFF" messages).
  • Improved the USS CTC panel background images in icons/USS/background to remove the appearance of repetitive blotches in the track background area. He also added some new 850 pixel high background slices sized to fit the new 1440 x 900 pixel wide screen monitors.
  • A number of JMRI implementation classes have been moved to clean up the code organization. This only effects you if you've written somehat low-level Java or Python code to e.g. implement a new system. If you've done that, and you encouter compilation problems, look in the jmri.managers and jmri.implementation packages.
  • Updated the Massoth LBG, eMotion motor and sound decoders, and LGB 55027 decoder definition.
  • Fixed a bug found earlier CT DCX decoder definition (actually a bug in the decoders). CVs 152/153 take different values if the decoder is v27-59 or v66. Splitting the decoder file on the version number of the decoder seems easiest, so there are now two definitions.
  • Added initial support for an "XPressNet Simulator" connection type. It currently handles only certain basic message types.
  • Added an operations control for whether car lengths and car colors are printed on manifests and switch lists.
  • Updated the Comprehensive programmer format to look better with complex sound decoders.
  • Updated the dispatcher support to fix some bugs, and to add tools to Section Table to automatically add direction sensors to signal logic for simple APB signaling.
  • Changed the Panel Editor info message when closing a panel. You can now decide to hide or delete the panel when closing.
  • Fixed an error in the RobotThrottle demo script that happened when items didn't have user names.

New in JMRI 2.5.2 (Mar 28, 2009)

  • Matt Harris improved the Windows startup scripts to put the messages.log log file and the Jython cache files in the JMRI preferences directory. This lets JMRI run cleanly on Windows 7.
  • Nigel Cliffe and Mark Waters provided new definitions for the Zimo MX620 decoder.
  • Dan Boudreau made several enhancements to the operations program. You can now specify car loads, and define the name of the load received or shipped for a siding by using the schedule feature. Schedules can now be accessed from the Locations menu under Tools. You can now also modify the default load names for empty and loaded. Edit frames now appear on top when launched from tables. He also fixed a print problem when a car with a FRED was printed in a switch list or manifest. Trains, Train, and Route windows now have print and preview tools. Also fixed a problem where some buttons were not visible on some operations windows.
  • Matt Harris fixed a problem launching JMRI on a Windows 64-bit machine with more than 2GB of memory installed.
  • Ken Cameron fixed a problem saving the powerline CP290 configuration.
  • The Linux startup scripts should now have executable permission set automatically.
  • Bob Coleman added Acela Signalhead support. Double and Triple will now work, but they send individual on and off commands rather than more optimal Acela signal commands down to the hardware. So, added an Acela Aspect option that will do things efficiently for Acela and also correctly supports BiPolar and Wigwags.
  • Matt Harris made the startup scripts more reliable on Windows 98.
  • John Plocher updated the instructions for using Eclipse to build JMRI.
  • Andrew Crosland improved the CBUS and CAN utility tools.
  • David Duchamp added automatic setting of turnouts to Dispatcher
  • Bob Coleman did a lot of important work on improving the JUnit build tests for the operations feature.
  • Walter Thompson did a lot of work to improve sample scripts.
  • Jack Shall updated the "Lenz 54" decoder definition.
  • Tom Starbuck updated and organized the model numbers in the TCS BEMF decoder definitions.
  • A bunch more baud rates were added for CAN connections.
  • Paul Bender updated the XPressNet support to properly handle non-standard operations by the Hornby Elite. He also added a configuriation tool for the Lenz LI-USB.
  • Andrew Crosland improved the CBUS support and added a new "Event Table" tool.
  • Marc Fournier improved the TCS BEMF decoder definition.
  • Peter Ulvestad improved the LnSendTool.py sample script.
  • Walt Thompson improved some web pages.
  • Mark Waters provided a new Zimo MX640 definition for version 1, 2, 3 and 4 decoders.
  • Jack Shall updated the Comprehensive programmer to add some lighting options.
  • Dan Boudreau and Mark Schutzer improved the reliability of ops-mode (on the main) programming when using an NCE system and certain non-NCE decoders
  • Ken Cameron updated the Team Digital Sic24 decoder, plus added the Sic24AD version.
  • Matt Harris added a decoder definition for versions 41 to 43 of the Lenz LE103XF.
  • Matt Harris updated the definition for the Digitrax TF4 and TF2 with information from Bob Grosh.
  • Jeff Schmaltz updated the Massoth decoder definitions.
  • Jeff Schmaltz added additional detail to the Zimo MX69 and MX690 definitions.
  • Jeff Schmaltz updated the version numbers for several ESU decoders.
  • Mark Waters fixed CV38 in the Zimo MX620 series of decoder definitions, updated the more recent versions to include additional CVs, and created a new definition for the MX620 decoder version 9.12.
  • David Duchamp updated Blocks to contain length and curvature information, and improved the associated help files.
  • David Duchamp added saving and restoring train setup information and the ability to select layout scale to Dispatcher.
  • Dan Boudreau added a tool to the NCE menu that provides a table of active NCE cabs addresses, loco speed, and function keys.
  • Matt Harris has created a new, much more professional Windows installer.
  • Bob Jacobsen updated the RPS support to handle large number of points better.
  • David Duchamp added a continuous running option to Dispatcher.
  • Fixed a problem with the function mapping in DecoderPro when a decoder has a large number of functions and outputs, which was causing trouble for the MRC Sound Brilliance 1644 decoder.
  • Pete Cressman and David Parks fixed a problem with a tiny active area for MultiSensors when the default inactive, etc, icons are still used.
  • Ken Cameron added methods so you can enable and disable polling of C/MRI, etc, nodes via scripts.
  • Peter Cressman provided a large update to Logix. In particular, the Conditionals in the Logix can now compute more complicated logical expressions; more than two actions can be attached to a conditional; the user interface is more flexible; and certain internal race conditions that resulted in inconsistent results have been fixed.
  • Richard Sauerbrun provided info for the TCS 1278 decoder model.
  • David Duchamp added a 3-way turnout tool and other additions to Layout Editor tools
  • Simon Ginsburg updated the German, Czech and Spanish translations.
  • Ken Cameron provided an example script for turning CMRI node polling on and off.
  • Fixed a bug in C/MRI error handling that would cause the wrong node to be reset if several polls were missed. (This only effected C/MRI, not other hardware types)
  • Matt Harris added scrolling options to the panel editor and layout editor windows.
  • Dan Boudreau fixed a problem a with the EPROM revision error message when using NCE and a TCP/IP connection.
  • Mark Waters updated the decoder definitions for the various versions of the Zimo MX640.
  • Mike Mosher updated the QSI Version 7 decoder definitions.
  • Nigel Cliffe updated the CT Elektronik DCX decoder definition.
  • Peter Cesaro updated the MRC Sound Brilliance 1663 and 1656 definitions.
  • Jim Thompson provided a new "PM42forCTC.py" sample script, and greatly improved the previous PM4Announce.py script.
  • Lou DeHayes provided a definition for the MRC Sound Brilliance 1806 decoder.
  • Pete Cressman improved the user interface for defining Sensor Groups. Also, Sensor Groups can now be migrated to become a logix conditional by viewing the group and then pressing the 'make group' button. (This deletes the group as a series of routes and implements it as a Logix Conditional. This is a special type of Conditional for radio button type action and cannot be edited as a Conditional.) A Panel for the names of existing groups is added to the Sensor Group window. Editing of Sensor Groups is done from Sensor Group window - view the group, make changes, press make group.
  • Pete Cressman removed the limitation on the number of turnouts or sensors that can be set in a route.
  • Pete Cressman made it possible to export Routes to logix conditionals - there, additional attributes can be added to the triggering controls or outputs by ordinary conditional editing. Pressing 'Add Route' still creates a traditional route in the Route Table. Existing Routes can be migrated to their equivalent implementation as Logix Conditionals by pressing the 'Export to Logix' button on the Route Editing window.
  • Marc Fornier added the K1D4 decoder to the TCS definitions.
  • Jim Betz added the Z2 TCS decoder
  • Ken Cameron added CmriNodeTool.py, a sample script that acts as an interactive tool to enable/disable polling of CMRI nodes.

New in JMRI 2.5.1 (Jan 14, 2009)

  • New DecoderPro speed table controls that allow you to quickly setup your loco.
  • Updates to the CTI Acela connection.
  • This release has many improvements to the operations program. There's now a demo program to introduce you to some of the capabilities of the operations program. You can now quickly make a copy of a route. New controls allow you to decide whether cars are picked up and/or dropped off at the various locations in a route. A new feature allows you to schedule the delivery order of cars to a siding. And you can now optionally add the operations menu to the main menu bar.