Download and install JMRI®
JMRI Setup and Installation
JMRI environments...
Release Notes
Supported Hardware
Devices, command stations, networks, and protocols:
Source Code
Issues

JMRI Help:

Contents Index
Glossary FAQ

Donate to JMRI Donate to JMRI.org

Release Notes for JMRI 4.99.10 release

Date: June 12, 2022

From: Bob Jacobsen

Subject: Test Release 4.99.10 of JMRI/DecoderPro is available for download.

Notes:

This is a test release. Please post a note if you encounter any new or old bugs! Feedback is especially important for this test release, as we expect it to lead directly to the JMRI 5.0 production release.

This is the hopefully the last in a series of 4.99.* test releases to migrate JMRI to Java 11. It requires Java 11 to work. (See our page on downloading Java 11) We expect this series to end in the next JMRI 5.0 production release at the end of Spring 2022. (See the tentative release schedule)

  • Please back up your JMRI files before installing this, in case you want to go back to an earlier version.

    JMRI is now only available under the GNU General Public License. For more information, please see our copyright and licensing page.

    Update From Older JMRI Versions

    If you are currently using a version older than JMRI 4.24, please follow these instructions carefully:
    1. Is your current version older than JMRI 4.12? If so, then update to JMRI 4.12 first, and ensure everything works correctly: check start-up, check things you need to be working, and check the JMRI log as well) before doing anything else. Store your configuration and panel files under a new name and use those from now on. Then continue with step 2.

      If you are currently using JMRI 4.7.3 or earlier on Linux or macOS (Windows doesn't need this), then it's very important that you update to JMRI 4.12 and carrying out the migration process described in the JMRI 4.12 release note before updating to any later release.

    2. Is your current version older than JMRI 4.20? Then update to JMRI 4.20 first, and ensure that works correctly (check start-up, check things you need to be working, and check the JMRI log as well) before doing anything else Save your preferences again. Store your configuration and panel files under a new name, use those from now on, and go on to step 3.
    3. Is your current version older than JMRI 4.24? Then update to JMRI 4.24 first, and ensure that works correctly (check start-up, check things you need to be working, and check the JMRI log as well) before doing anything else Save your preferences again. Store your configuration and panel files under a new name and use those from now on.
    4. You can then install this release.
    Following this multi-step order of updating via stable major releases safeguards you against possible migration issues that can arise from skipping these versions.

    New problems with this release

    • None yet

    New warnings for this release:

    • None

    Older warnings

    See the JMRI 4.26 release note for more warnings predating the 4.99 development series, including pointers to various migration issues. These may be relevant to you if you're updating from an earlier version; we strongly recommend you update to JMRI 4.20 before installing this test release.
    • Since JMRI 4.99.2 Example scripts related to MQTT moved from jython directory to jython\MQTT directory. This will require an update to any start-up actions that reference their location.
    • Since JMRI 4.99.1 This test release, and all subsequent ones, require the use of Java 11 or later. Java 8 is explicitly not supported. There's more information on this migration on the JMRI Tech Road Map and JVM Capabilities pages.
    • Since JMRI 4.99.1 A number of classes and methods that have been deprecated for a long time are removed in this release. These include:
      • apps.JmriPlugin
      • apps/startup/StartupActionFactory
      • Routes/Turnouts/Sensors: One form of getNextAddress
      • Handling of preferences from before JMRI 4.0; upgrade through JMRI 4.20 instead
      • ShutDownTask, AbstractShutDownTask - use call & run methods now
      • Removed JythonAutomaton, JythonAutomatonAction, JythonSiglet, JythonSigletAction unused classes. These have been made obsolete by JMRI's native scripting, and haven't been used since JMRI 1.2
      • SSL (BlockBossLogic) - change to start/stop calls
      • Various TrafficManagers.instance methods - use InstanceManager
      • Throttle.getListeners() - use getPropertyChangeListeners
      • Removed obsolete RosterRecorder class; function now available via scripting
      • Removed deprecated methods from Throttle panels
      • Manager.getSystemNameList - rework with getNamedBeanSet
      • Manager.getNamedBeanList - rework with getNamedBeanSet
      • Manager.setPropertyChangesMuted - use setPropertyChangesSilenced
      • Manager.getBeanBySystemName - use getBySystemName
      • Manager.getBeanByUserName - use getByUserName
      • FileChooserUtil
      • get/setFontFamily in SystemConsolePreferencesManager
      • throttle.FunctionPanel#changeState(..) has been replaced by #setSelected(..)
    • Since JMRI 4.99.1 The PowerManager now only fires events with the id "power". Before this release, it also fired events with the id "Power". Check that your scripting code is looking for the right form.
    • Since JMRI 4.99.1 This version no longer reads ZeroConf IPv4 and IPv6 preferences written with JMRI 4.16 and before. Please make sure to upgrade to JMRI 4.20 (or later) and save your preferences before updating to this version if you have configured the WiThrottle preference pane.

    Download links:

    Changes since Test Release 4.99.9:

    The list of included changes is available from our GitHub code repository.

    New / Updated decoder definitions

    Massoth

    • New decoder definition for "Pulsed Smoker for round boilers" (product nr 8415001

    Turnouts, Lights, Sensors and other elements

    • Fixed a spurious error message when creating some internal items.