Oracle JDK 21 Free Updates End in October 2026: Which JDK Should You Run?
Oracle plans to move Oracle JDK 21 updates from the No-Fee license to the OTN license starting with the 20 October 2026 patch update. What that does and does not mean, how to check which JDK you actually run, the support dates of the main OpenJDK builds of 21 and 25, and a migration checklist.
If your servers run Oracle JDK 21, one date matters: 20 October 2026, the next Oracle Critical Patch Update. Oracle’s roadmap says Oracle JDK 21 updates released beginning with the October 2026 CPU are planned to move from the No-Fee Terms and Conditions license (NFTC) to the Java SE OTN license. This post explains what that means, how to find out which JDK you really run, and your options. It contains no benchmark code; the one command output below is a real run.
What I checked and when. I read Oracle’s Java SE Support Roadmap and Java SE licensing FAQ, Oracle’s security alerts page, and the support pages of Eclipse Adoptium, Amazon Corretto, Microsoft and Red Hat on 12 October 2026. Dates can change, so confirm against the linked pages before you decide. This is not legal advice; for licensing questions, ask Oracle or your own counsel.
What exactly changes on 20 October
Oracle JDK 21 has been free for all users under the NFTC since its release. Oracle’s roadmap page describes JDK 21 as “approaching the end of permissive licensing” and says the one-year overlap that began when JDK 25 shipped in September 2025 is ending. Two statements, both from Oracle:
Roadmap: update releases of Oracle JDK 21 “beginning with the October 2026 Critical Patch Update” are planned to be offered under the Java SE OTN license.
Oracle’s security alerts page lists 20 October 2026 as the next (and last 2026) CPU, with the pre-release announcement on 15 October.
The licensing FAQ words the end of the NFTC period as “until September of 2026”, so Oracle’s two pages are not phrased identically. I followed the roadmap, which names the CPU. One third-party article I read gives 16 September 2026; I did not use it because Oracle’s own pages do not say that.
What the OTN license allows without cost, per Oracle’s FAQ: personal use on a desktop or laptop; development, testing, prototyping and demonstrating applications; use with some approved Oracle products; and use with identified Oracle Cloud Infrastructure products. Running a production service for a business is not on that list. Oracle’s alternative is a Java SE Universal Subscription, which the FAQ says includes a commercial use license and support. Note the word “planned” everywhere: this is Oracle’s stated intention, not something that has happened yet.
What does not change. The JDK 21 you already installed keeps running. Nothing in Oracle’s text says old builds stop working. The change is about the license on future updates, and therefore about whether you can keep applying security patches without paying. Oracle says Oracle JDK 21 premier support runs to September 2028 and extended support to September 2031, for customers with a subscription.
Step one: find out which JDK you actually run
Many teams say “we use Java 21” without knowing the vendor. Ask the JVM itself. This is a real run against the two JDKs on my test machine (both Eclipse Temurin builds):
On an Oracle JDK, java.vendor would read Oracle Corporation; I did not have an Oracle JDK in my sandbox, so I am telling you what to look for, not showing it. Run the same command inside every container image and on every host, and also check base images: FROM openjdk, FROM eclipse-temurin, FROM amazoncorretto and FROM container-registry.oracle.com/java each pull a different vendor.
Your options
Option
What it means
Best when
Move to Oracle JDK 25
Oracle says JDK 25 is available under the NFTC; its updates are planned to move to OTN after September 2028
You want to stay on Oracle’s build with no cost for now
Switch to an OpenJDK 21 build
Same Java 21, different vendor, free updates for years (dates below)
You cannot change the Java version yet
Move to a 25 build
The current LTS, longest runway
You can test an upgrade this quarter
Buy an Oracle subscription
Stay on Oracle JDK 21 with updates and support
You need Oracle support or have a contract already
How long each free build supports Java 21 and 25
Dates are what each vendor’s own page says, as I read it on 12 October 2026. Several are minimums that the vendor may extend.
Build
Java 21 until
Java 25 until
Eclipse Temurin
at least Dec 2029
at least Sep 2031
Amazon Corretto
Oct 2030
Oct 2032
Microsoft Build of OpenJDK
Sep 2028 (may extend)
Sep 2030 (may extend)
Red Hat build (full support / ELS-1)
31 Dec 2029 / 30 Sep 2031
31 Dec 2030 / 30 Sep 2033
Oracle JDK (Premier / Extended, paid)
Sep 2028 / Sep 2031
Sep 2030 / Sep 2033
I did not retrieve Azul’s dates (the page failed to load), so Zulu is not in the table.
Which JDK to run in 2026
For most services the answer is an LTS release, and in 2026 that means 25. Oracle’s roadmap names Java 29 as the next LTS, planned for September 2027. JDK 27 (September 2026) is a non-LTS release with premier support ending March 2027 per Oracle, so it suits teams that upgrade every six months, not long-lived services. If you must stay on 21 for now, use a vendor with a clear date from the table above.
If you are weighing 25 against 27, my other measurements apply: what actually got faster in JDK 27 (a memory saving yes, a throughput change no) and post-quantum TLS in JDK 27, which JDK 25 does not have by default.
Migration checklist: 21 to 25 in a Spring Boot service
Inventory vendors with the command above in every image and host.
Pick the target vendor and pin it in your Dockerfile base image by full version, not latest.
Run your test suite on 25 in CI before changing anything in production.
No Comments yet!