Files
JIMRI/help/en/html/doc/Technical/TechRoadMap.shtml
T
2026-06-17 14:00:51 +02:00

236 lines
9.4 KiB
Plaintext

<!DOCTYPE html>
<html lang="en">
<head>
<meta name="generator" content="HTML Tidy for HTML5 for Apple macOS version 5.8.0">
<title>JMRI: Technology Road Map</title>
<meta name="author" content="Bob Jacobsen">
<meta name="keywords" content="JMRI technical code road map">
<!--#include virtual="/help/en/parts/Style.shtml" -->
</head>
<body>
<!--#include virtual="/help/en/parts/Header.shtml" -->
<div id="mBody">
<!--#include virtual="Sidebar.shtml" -->
<div id="mainContent">
<h1>JMRI: Technology Road Map</h1>
This page is the road map for JMRI's future development, including changes to our use of Java
technologies. It is maintained and updated through continuing discussion on the <a href=
"https://jmri-developers.groups.io/g/jmri/topics">jmri-developers mailing list</a>.
<p>There's also a <a href="TechRoadMapOlder.shtml">page containing the history</a>,
particularly the saga of how we moved forward to Java 1.6 and Java 8 across a series of
platform-related changes.</p>
<h2>JMRI Releases</h2>
<p>This section describes the history and (notional) plans for JMRI releases in the future.</p>
<table border="1">
<tr>
<th style="text-align:center">Release</th>
<th style="text-align:left">Description</th>
<th style="text-align:center">Date</th>
<td style="text-align:center">JRE</td>
<td style="text-align:center">JDK</td>
</tr>
<tr>
<td style="text-align:center">3.11.*</td>
<td>Development series</td>
<td>
</td>
<td style="text-align:center">1.6</td>
<td style="text-align:center">8</td>
</tr>
<tr>
<td style="text-align:center">4.0</td>
<td>Production version, culmination of 3.11.* series</td>
<td style="text-align:center">July 2015</td>
<td style="text-align:center">8</td>
<td style="text-align:center">8</td>
</tr>
<tr>
<td style="text-align:center">4.2</td>
<td>Production version, culmination of 4.1.* series</td>
<td style="text-align:center">December 2015</td>
<td style="text-align:center">8</td>
<td style="text-align:center">8</td>
</tr>
<tr>
<td style="text-align:center">...</td>
<td>...</td>
<td style="text-align:center">...</td>
<td style="text-align:center">8</td>
<td style="text-align:center">8</td>
</tr>
<tr>
<td style="text-align:center">4.22</td>
<td>Production version, culmination of Fall 2020 series</td>
<td style="text-align:center">February 2021</td>
<td style="text-align:center">8</td>
<td style="text-align:center">8</td>
</tr>
<tr>
<td style="text-align:center">4.24</td>
<td>Production version, culmination of Spring 2021 series</td>
<td style="text-align:center">July 2021</td>
<td style="text-align:center">8</td>
<td style="text-align:center">8</td>
</tr>
<tr>
<td style="text-align:center">4.26</td>
<td>Production version, culmination of Fall 2021 series</td>
<td style="text-align:center">January 2022</td>
<td style="text-align:center">8</td>
<td style="text-align:center">8</td>
</tr>
<tr>
<td style="text-align:center">5.0</td>
<td>Production version, culmination of Spring 2022 series</td>
<td style="text-align:center">June 2022</td>
<td style="text-align:center"><b>11</b></td>
<td style="text-align:center"><b>11</b></td>
</tr>
<tr>
<td style="text-align:center">5.2</td>
<td>Production version, culmination of Fall 2022 series</td>
<td style="text-align:center">Jan 2023</td>
<td style="text-align:center"><b>11</b></td>
<td style="text-align:center"><b>11</b></td>
</tr>
<tr>
<td style="text-align:center">5.4</td>
<td>Production version, culmination of Spring 2023 series</td>
<td style="text-align:center">June 2023</td>
<td style="text-align:center"><b>11</b></td>
<td style="text-align:center"><b>11</b></td>
</tr>
<tr>
<td style="text-align:center">5.6</td>
<td>Production version, culmination of Fall 2023 series</td>
<td style="text-align:center">Jan 2024</td>
<td style="text-align:center"><b>11</b></td>
<td style="text-align:center"><b>11</b></td>
</tr>
<tr>
<td style="text-align:center">5.8</td>
<td>Production version, culmination of Spring 2024 series</td>
<td style="text-align:center">June 2024</td>
<td style="text-align:center"><b>11</b></td>
<td style="text-align:center"><b>11</b></td>
</tr>
<tr>
<td style="text-align:center">5.10</td>
<td>Production version, culmination of Fall 2024 series</td>
<td style="text-align:center">Jan 2025</td>
<td style="text-align:center"><b>11 required<br/>17 recommended</b></td>
<td style="text-align:center"><b>11 or later</b></td>
</tr>
<tr>
<td style="text-align:center">5.12</td>
<td>Production version, culmination of Spring 2025 series</td>
<td style="text-align:center">June 2025</td>
<td style="text-align:center"><b>11 required<br/>17 recommended</b></td>
<td style="text-align:center"><b>11 or later</b></td>
</tr>
<tr>
<td style="text-align:center">(Intended) 5.14</td>
<td>Production version, culmination of Fall 2025 series</td>
<td style="text-align:center">December 2025</td>
<td style="text-align:center"><b>11 required<br/>17 recommended</b></td>
<td style="text-align:center"><b>11 or later</b></td>
</tr>
<tr>
<td style="text-align:center">(Intended) 5.16</td>
<td>Production version, culmination of Spring 2026 series</td>
<td style="text-align:center">June 2026</td>
<td style="text-align:center"><b>11 required<br/>21 recommended</b></td>
<td style="text-align:center"><b>11 or later</b></td>
</tr>
<tr>
<td style="text-align:center">(Intended) 5.18</td>
<td>Production version, culmination of Fall 2026 series</td>
<td style="text-align:center">December 2026</td>
<td style="text-align:center"><b>11 required<br/>21 recommended</b></td>
<td style="text-align:center"><b>11 or later</b></td>
</tr>
</table>
<h3>Java and JMRI</h3>
<p>The 4.1.* series of test releases in Fall 2015 started the requirement for Java 8. This
continued through the following release series. Java 8 continued to be the requirement
through the Fall of 2021.
<p>The next long-term-support (LTS) Java release after Java 8 is Java 11 from Fall of 2018.
Oracle has
<a href=
"https://blogs.oracle.com/java-platform-group/a-quick-summary-on-the-new-java-se-subscription">
aligned their Java and the OpenJDK from that point</a>
<p>In Spring 2022 the Java version required by JMRI moved forward, making
<a href="https://www.jmri.org/releasenotes/jmri4.27.1.shtml">JMRI 4.27.1</a> the last JMRI version
running on Java 8.<br>
Newer development releases 4.99.x culminated in the June 2022 production releases
requiring Java 11 and therefore being called JMRI 5.0.</p>
<p>Java 11's free support by Oracle ended in
<a bref="https://www.oracle.com/java/technologies/java-se-support-roadmap.html">September 2023</a>.
<p>Java 17 in 2021 was the LTS release after Java 11.
Java 17's free support from Oracle runs through September 2026; after that,
there won't be security updates and bug fixes to Java 17.
<p>Starting with the JMRI 5.9.* development series,
Java 11 is still supported by JMRI but Java 17 is recommended.
We recommend Java 17 to move the user installations forward for eventual future
migration, because Java 17 is still getting security updates,
and because it's easier to install Java 17 on some OSs.</p>
<p>Java 21 in 2023 was the LTS release after Java 17.
<p>After validation testing, we started recommending
Java 21 for use with JMRI 5.15.1 in December 2025. That JMRI release
will continue to be compatible with Java 11.
<p>Following Java 21, the next Java LTS release was
Java 25 in September 2025. Work on validating that for use
with JMRI is proceeding.
<p>For more information on compatibility, see the
<a href="JVMCapabilities.shtml#compatibilty">compatibility discussion</a>.
<h4>Java Release and Operating System Support</h4>
<p>More information on Java releases and the operating systems that support them can be found
<a href="JVMCapabilities.shtml">here</a>.</p>
<p>Java installers are now available from multiple sources. Our
<a href="/java/index.shtml">Java installer page</a> lists a number of them.</p>
<!--#include virtual="/help/en/parts/Footer.shtml" -->
</div>
<!-- closes #mainContent-->
</div>
<!-- closes #mBody-->
<script src="/js/help.js"></script>
</body>
</html>