<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: endoflife-ai</title>
    <description>The latest articles on DEV Community by endoflife-ai (@endoflifeai).</description>
    <link>https://dev.to/endoflifeai</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3921242%2Fb89c05cb-aee1-49c6-b4b9-11d2c94028a8.png</url>
      <title>DEV Community: endoflife-ai</title>
      <link>https://dev.to/endoflifeai</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/endoflifeai"/>
    <language>en</language>
    <item>
      <title>MySQL 8.0 is now end-of-life — here's the version map you actually need</title>
      <dc:creator>endoflife-ai</dc:creator>
      <pubDate>Thu, 18 Jun 2026 19:30:52 +0000</pubDate>
      <link>https://dev.to/endoflifeai/mysql-80-is-now-end-of-life-heres-the-version-map-you-actually-need-43p8</link>
      <guid>https://dev.to/endoflifeai/mysql-80-is-now-end-of-life-heres-the-version-map-you-actually-need-43p8</guid>
      <description>&lt;p&gt;&lt;strong&gt;MySQL 8.0 reached end of life on April 30, 2026.&lt;/strong&gt; That's the one that matters: 8.0 has been the default MySQL since 2018, so a huge share of production databases just stopped getting security patches from Oracle. If &lt;code&gt;mysql:8.0&lt;/code&gt; is anywhere in your stack, you're now running unsupported software.&lt;/p&gt;

&lt;p&gt;Here's the version map, with EOL Risk Scores (0–100) from &lt;a href="https://endoflife.ai/mysql" rel="noopener noreferrer"&gt;endoflife.ai&lt;/a&gt;:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Version&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;EOL&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;th&gt;Risk&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;MySQL 5.5&lt;/td&gt;
&lt;td&gt;Legacy&lt;/td&gt;
&lt;td&gt;Dec 31, 2018&lt;/td&gt;
&lt;td&gt;EOL&lt;/td&gt;
&lt;td&gt;90&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MySQL 5.6&lt;/td&gt;
&lt;td&gt;Legacy&lt;/td&gt;
&lt;td&gt;Feb 28, 2021&lt;/td&gt;
&lt;td&gt;EOL&lt;/td&gt;
&lt;td&gt;90&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MySQL 5.7&lt;/td&gt;
&lt;td&gt;Legacy&lt;/td&gt;
&lt;td&gt;Oct 31, 2023&lt;/td&gt;
&lt;td&gt;EOL&lt;/td&gt;
&lt;td&gt;90&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;MySQL 8.0&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Series&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Apr 30, 2026&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;EOL&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;75&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MySQL 8.4&lt;/td&gt;
&lt;td&gt;LTS&lt;/td&gt;
&lt;td&gt;Apr 30, 2032&lt;/td&gt;
&lt;td&gt;Current LTS&lt;/td&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  The Innovation-vs-LTS trap
&lt;/h2&gt;

&lt;p&gt;This is the part that catches people. In 2023 Oracle split MySQL into two release tracks, and &lt;strong&gt;the version number no longer tells you how long a release is supported.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;LTS releases&lt;/strong&gt; (currently &lt;strong&gt;8.4&lt;/strong&gt;) get ~8 years of support. This is what you run in production.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Innovation releases&lt;/strong&gt; (8.1, 8.2, 8.3, and the entire &lt;strong&gt;9.x&lt;/strong&gt; series) ship quarterly and are supported &lt;strong&gt;only until the next release lands&lt;/strong&gt; — roughly three months each.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So MySQL 9.2 &lt;em&gt;looks&lt;/em&gt; newer than 8.4, but 8.4 is supported into 2032 while 9.2 went EOL within months. MySQL 9.0 reached EOL back in October 2024. If you adopted a 9.x release and aren't upgrading every single quarter, you're already on an EOL build with a Critical-tier risk profile.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rule of thumb:&lt;/strong&gt; unless quarterly upgrades are genuinely part of your ops model, stay on the LTS (8.4) and let the new features arrive in the next LTS.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to do
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;On 8.0?&lt;/strong&gt; Upgrade to &lt;strong&gt;8.4 LTS&lt;/strong&gt; — it's the supported, in-place path Oracle designed for exactly this transition.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;On 5.7?&lt;/strong&gt; Bigger jump. Plan straight to 8.4, using 8.0 as a compatibility checkpoint, not a destination. Watch the &lt;code&gt;caching_sha2_password&lt;/code&gt; default, SQL mode changes, and the data dictionary migration.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Run the check first:&lt;/strong&gt; &lt;code&gt;mysqlsh&lt;/code&gt; → &lt;code&gt;util.checkForServerUpgrade()&lt;/code&gt; against a staging copy surfaces deprecated syntax, removed features, and collation changes before you commit.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Managed MySQL&lt;/strong&gt; (RDS, Aurora, Azure, Cloud SQL) tracks these dates differently — some extend past Oracle's community EOL, some don't. Confirm your provider's specific dates.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Check your whole stack, not just MySQL
&lt;/h2&gt;

&lt;p&gt;MySQL is one clock. Your OS, runtime, and other dependencies each have their own. You can score your full dependency file at once with the free &lt;a href="https://endoflife.ai/scanner" rel="noopener noreferrer"&gt;Stack Scanner&lt;/a&gt; (no signup), or read the complete version-by-version breakdown here:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Full guide:&lt;/strong&gt; &lt;a href="https://endoflife.ai/article-mysql-eol" rel="noopener noreferrer"&gt;MySQL End-of-Life Dates — every version&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Dates and risk scores sourced from the open &lt;a href="https://endoflife.date" rel="noopener noreferrer"&gt;endoflife.date&lt;/a&gt; dataset; risk scoring and CISA KEV cross-reference by endoflife.ai.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>mysql</category>
      <category>database</category>
      <category>devops</category>
      <category>security</category>
    </item>
    <item>
      <title>Every Software EOL Date That Matters in 2026 — One Reference</title>
      <dc:creator>endoflife-ai</dc:creator>
      <pubDate>Mon, 15 Jun 2026 09:22:55 +0000</pubDate>
      <link>https://dev.to/endoflifeai/every-software-eol-date-that-matters-in-2026-one-reference-n8d</link>
      <guid>https://dev.to/endoflifeai/every-software-eol-date-that-matters-in-2026-one-reference-n8d</guid>
      <description>&lt;p&gt;We maintain a &lt;a href="https://endoflife.ai/article-eol-dates-2026" rel="noopener noreferrer"&gt;full reference of 124 versions across 44 products&lt;/a&gt; — here are the dates that actually deserve a calendar reminder in 2026.&lt;/p&gt;

&lt;h2&gt;
  
  
  Just happened
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Debian 12 "Bookworm" reached end of life on June 10, 2026.&lt;/strong&gt; Regular security support has ended; the volunteer LTS team now covers only ~230 packages. If &lt;code&gt;debian:12&lt;/code&gt; is in your Dockerfiles, every image you build from here on has an EOL base layer. &lt;a href="https://endoflife.ai/article-debian-12-eol-june-2026" rel="noopener noreferrer"&gt;Action guide here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The big dates still ahead in 2026
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Date&lt;/th&gt;
&lt;th&gt;What dies&lt;/th&gt;
&lt;th&gt;Why it hurts&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Sep 18, 2026&lt;/td&gt;
&lt;td&gt;Oracle JDK 26&lt;/td&gt;
&lt;td&gt;Short-lived non-LTS — teams that jumped early get caught&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sep 30, 2026&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Java 17 LTS&lt;/strong&gt; (Premier)&lt;/td&gt;
&lt;td&gt;Still one of the most-deployed JDKs in production&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Oct 31, 2026&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Python 3.10&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;One of the most-used Python versions; 3.11 follows Oct 2027&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Nov 9, 2026&lt;/td&gt;
&lt;td&gt;Windows 11 23H2 (Enterprise)&lt;/td&gt;
&lt;td&gt;The next Windows migration wave after the Win10 cliff&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Dec 31, 2026&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;PHP 8.2&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;With 8.1 already EOL, only 8.3+ survives into 2027&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Already EOL — and still everywhere
&lt;/h2&gt;

&lt;p&gt;These are past their dates and still show up constantly in production scans:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Node.js 18 and 20&lt;/strong&gt; — both EOL (Apr 2025 / Apr 2026). Node 22 LTS is the floor now.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spring Boot 2.7&lt;/strong&gt; — EOL since 2023, still the most common Spring version in legacy estates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PHP 8.1&lt;/strong&gt; — EOL Dec 2025.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Veeam 11 &amp;amp; 12.0&lt;/strong&gt; — backup infrastructure running unpatched is its own special category of bad.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CentOS 7/8&lt;/strong&gt; — fully discontinued; no vendor to buy support from (third-party extended support is the only patch path).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ubuntu 20.04&lt;/strong&gt; — out of standard support; Ubuntu Pro or migration.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The pattern worth internalizing
&lt;/h2&gt;

&lt;p&gt;EOL events cluster. June 2026 alone had Debian 12, Debian 11 LTS (June 30), and Kubernetes versions aging out in the same window. If your stack touches five ecosystems, you have five independent clocks — and none of them email you.&lt;/p&gt;

&lt;p&gt;The full sortable reference (124 versions, updated at every deploy, with risk scores and add-to-calendar reminders per product): &lt;strong&gt;&lt;a href="https://endoflife.ai/article-eol-dates-2026" rel="noopener noreferrer"&gt;endoflife.ai/article-eol-dates-2026&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Or check your whole dependency file at once with the &lt;a href="https://endoflife.ai/scanner" rel="noopener noreferrer"&gt;Stack Scanner&lt;/a&gt; — free, no signup.&lt;/p&gt;

</description>
      <category>security</category>
      <category>devops</category>
      <category>linux</category>
      <category>programming</category>
    </item>
    <item>
      <title>EOL, EOS, LTS, CVE — Every Software Lifecycle Term, Explained Like You're New Here</title>
      <dc:creator>endoflife-ai</dc:creator>
      <pubDate>Thu, 11 Jun 2026 22:02:14 +0000</pubDate>
      <link>https://dev.to/endoflifeai/eol-eos-lts-cve-every-software-lifecycle-term-explained-like-youre-new-here-29fo</link>
      <guid>https://dev.to/endoflifeai/eol-eos-lts-cve-every-software-lifecycle-term-explained-like-youre-new-here-29fo</guid>
      <description>&lt;p&gt;&lt;strong&gt;The short version:&lt;/strong&gt; every piece of software has a date after which its maker stops fixing it — including security holes. That date is its &lt;strong&gt;end of life (EOL)&lt;/strong&gt;. The software keeps running after EOL; it just stops being defended. Any flaw found after that date stays open forever, on every system still running it.&lt;/p&gt;

&lt;p&gt;This guide assumes zero prior knowledge. By the end you'll be able to read any vendor lifecycle page without a translator.&lt;/p&gt;

&lt;h2&gt;
  
  
  The life of a piece of software
&lt;/h2&gt;

&lt;p&gt;Every version moves through the same phases, whatever the vendor calls them:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Phase&lt;/th&gt;
&lt;th&gt;What it means&lt;/th&gt;
&lt;th&gt;What you get&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Release (GA)&lt;/td&gt;
&lt;td&gt;Declared production-ready&lt;/td&gt;
&lt;td&gt;Features, bug fixes, security patches&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Active support&lt;/td&gt;
&lt;td&gt;The healthy middle of life&lt;/td&gt;
&lt;td&gt;Fixes and patches&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Maintenance / security-only&lt;/td&gt;
&lt;td&gt;The wind-down&lt;/td&gt;
&lt;td&gt;Security patches only&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;End of life (EOL)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;The maker walks away&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Nothing, ever again&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Extended support&lt;/td&gt;
&lt;td&gt;Paid overtime&lt;/td&gt;
&lt;td&gt;Security patches past EOL, for a price&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The crucial point: &lt;strong&gt;software doesn't stop working at EOL.&lt;/strong&gt; Nothing visibly breaks, so nothing prompts action — while security holes quietly accumulate. That's exactly what makes it dangerous.&lt;/p&gt;

&lt;h2&gt;
  
  
  The acronym decoder
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;EOL&lt;/strong&gt; (End of Life) — the maker stops all fixes. The big one.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;EOS&lt;/strong&gt; — usually a synonym for EOL; occasionally "end of &lt;em&gt;sale&lt;/em&gt;." Check which a vendor means.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;EOSL&lt;/strong&gt; (End of Service Life) — the hardware version: switches, servers, storage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GA&lt;/strong&gt; (General Availability) — the official release date. The lifecycle clock starts here.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LTS&lt;/strong&gt; (Long-Term Support) — a version promised support for years. What you run in production.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;STS&lt;/strong&gt; — short-term support, for early adopters. Oracle calls these "Innovation Releases."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ELS / ESU / ELTS&lt;/strong&gt; — vendor names for paid post-EOL support (Red Hat / Microsoft / Debian respectively). Same idea, different logos.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CVE&lt;/strong&gt; (Common Vulnerabilities and Exposures) — the global ID system for security flaws (CVE-2026-12345).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CVSS&lt;/strong&gt; — the 0–10 severity score on each CVE. 9+ is critical.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NVD&lt;/strong&gt; — the US government's public catalog of all CVEs. Attackers read it too.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;KEV&lt;/strong&gt; (Known Exploited Vulnerabilities) — CISA's list of CVEs &lt;em&gt;actively used in real attacks&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SBOM&lt;/strong&gt; (Software Bill of Materials) — the ingredient list of your software. What makes EOL auditing possible at scale.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SCA&lt;/strong&gt; (Software Composition Analysis) — dependency scanners. Useful, but most don't flag EOL status.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What's actually in a "stack"?
&lt;/h2&gt;

&lt;p&gt;Each layer has its own EOL clock. Bottom-up:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Operating system / distribution&lt;/strong&gt; — Windows, macOS, or a Linux distro (Ubuntu, Debian, RHEL): the kernel plus thousands of tools, versioned and supported as one product. When Debian 12 hits EOL, the whole bundle stops getting coordinated fixes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Runtime&lt;/strong&gt; — the engine that executes your code. JavaScript needs Node.js; Python code needs the Python interpreter; Java needs the JDK. You don't write a runtime — you write code that runs &lt;em&gt;on&lt;/em&gt; one. High-stakes EOL items, because runtimes process untrusted input.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Framework&lt;/strong&gt; — a pre-built application skeleton: Django, Rails, Spring Boot, Laravel. A framework rides on a runtime — a Django app needs both Django &lt;em&gt;and&lt;/em&gt; Python in support. Two clocks; either expiring exposes you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Library / dependency&lt;/strong&gt; — smaller building blocks pulled in by a package manager (npm, pip, Composer). Modern apps use hundreds. Each can be abandoned by its maintainer — EOL without a press release. (The classic distinction: &lt;em&gt;your code calls a library; a framework calls your code.&lt;/em&gt;)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Database&lt;/strong&gt; — PostgreSQL, MySQL, MongoDB. Holds the crown jewels; EOLs on long cycles, which lulls teams into forgetting it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Containers &amp;amp; base images&lt;/strong&gt; — &lt;code&gt;FROM debian:12&lt;/code&gt; bakes Debian 12's EOL clock into every container you build, even brand-new deployments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Firmware/hardware&lt;/strong&gt; — the layer organizations track least. See EOSL above.&lt;/p&gt;

&lt;h2&gt;
  
  
  How version numbers work
&lt;/h2&gt;

&lt;p&gt;Most software uses &lt;code&gt;major.minor.patch&lt;/code&gt; (Python 3.11.9). &lt;strong&gt;EOL almost always applies to the major.minor line&lt;/strong&gt; — "Python 3.11 is EOL" means every 3.11.x, and no 3.11.10 will ever ship. Patch upgrades are routine hygiene; crossing minor/major lines is a migration. That's why teams pin versions — and why pinned versions quietly age into EOL.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this matters: the CVE blind spot
&lt;/h2&gt;

&lt;p&gt;A &lt;strong&gt;zero-day&lt;/strong&gt; is a flaw nobody knows about — scary but rare, and it gets patched once found. &lt;strong&gt;EOL software inverts this:&lt;/strong&gt; the flaw is public — documented on the NVD, scored, often with exploit code on GitHub — but no patch will ever exist. Attackers don't need to discover anything; they read the CVE feed and check who's still running the EOL version.&lt;/p&gt;

&lt;p&gt;Worse: most scanners give EOL software a clean bill of health, because they check for known unpatched CVEs — not for the fact that the patch pipeline itself is dead.&lt;/p&gt;

&lt;h2&gt;
  
  
  If you can't upgrade in time
&lt;/h2&gt;

&lt;p&gt;Extended support keeps patches flowing past EOL. It comes from the maker (Red Hat ELS, Ubuntu Pro, Microsoft ESU) or from third parties such as TuxCare, which patch software the maker has abandoned entirely — CentOS being the canonical case, fully discontinued with no vendor program at all. Either way: it's a bridge to a planned migration, not a destination.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where to start
&lt;/h2&gt;

&lt;p&gt;Every layer of your stack has an expiry date, nothing announces itself when it passes, and the fix is knowing the dates before they arrive. Look up any of 455+ products free at &lt;a href="https://endoflife.ai" rel="noopener noreferrer"&gt;endoflife.ai&lt;/a&gt; — or scan a whole dependency file at once with the &lt;a href="https://endoflife.ai/scanner" rel="noopener noreferrer"&gt;Stack Scanner&lt;/a&gt;. No signup.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>security</category>
      <category>devops</category>
      <category>programming</category>
    </item>
    <item>
      <title>Oracle Database End-of-Life Dates — Premier &amp; Extended Support for Every Version</title>
      <dc:creator>endoflife-ai</dc:creator>
      <pubDate>Tue, 09 Jun 2026 16:47:56 +0000</pubDate>
      <link>https://dev.to/endoflifeai/oracle-database-end-of-life-dates-premier-extended-support-for-every-version-59la</link>
      <guid>https://dev.to/endoflifeai/oracle-database-end-of-life-dates-premier-extended-support-for-every-version-59la</guid>
      <description>&lt;p&gt;If you've ever tried to answer the simple question &lt;em&gt;"when does my Oracle Database version go end of life?"&lt;/em&gt; you've probably discovered there's no single date. Oracle doesn't do "EOL" the way Linux distros or runtimes do. Instead, every release moves through three support phases — and one of them sounds supportive but quietly leaves you with &lt;strong&gt;zero new security patches&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Here's the whole picture in plain language.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The short version:&lt;/strong&gt; Oracle 19c is the safe long-term release (Premier Support to Dec 31, 2029, Extended to Dec 31, 2032). 23ai (now branded 26ai) is the newest long-term release. Oracle 18c, 12c, and 11g are all past support and receive only Sustaining Support — which means no new CVE patches.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The Oracle Lifetime Support table
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Release&lt;/th&gt;
&lt;th&gt;GA Release&lt;/th&gt;
&lt;th&gt;Premier Support Ends&lt;/th&gt;
&lt;th&gt;Extended Support Ends&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;23ai / 26ai&lt;/strong&gt; (LTR)&lt;/td&gt;
&lt;td&gt;2023–2024&lt;/td&gt;
&lt;td&gt;Dec 31, 2031&lt;/td&gt;
&lt;td&gt;Available&lt;/td&gt;
&lt;td&gt;✅ Active&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;21c&lt;/strong&gt; (Innovation)&lt;/td&gt;
&lt;td&gt;Aug 13, 2021&lt;/td&gt;
&lt;td&gt;Jul 31, 2027&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;td&gt;✅ Active&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;19c&lt;/strong&gt; (LTR)&lt;/td&gt;
&lt;td&gt;Apr 25, 2019&lt;/td&gt;
&lt;td&gt;Dec 31, 2029&lt;/td&gt;
&lt;td&gt;Dec 31, 2032&lt;/td&gt;
&lt;td&gt;✅ Active · Recommended&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;18c&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Jul 23, 2018&lt;/td&gt;
&lt;td&gt;Jun 30, 2021&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;12c Release 2&lt;/strong&gt; (12.2)&lt;/td&gt;
&lt;td&gt;Mar 1, 2017&lt;/td&gt;
&lt;td&gt;Mar 31, 2022&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;12c Release 1&lt;/strong&gt; (12.1)&lt;/td&gt;
&lt;td&gt;Jun 25, 2013&lt;/td&gt;
&lt;td&gt;Jul 31, 2018&lt;/td&gt;
&lt;td&gt;Jul 31, 2022&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;11g Release 2&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Sep 1, 2009&lt;/td&gt;
&lt;td&gt;Jan 31, 2015&lt;/td&gt;
&lt;td&gt;Dec 31, 2020&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  The three phases (and the one that fools people)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Premier Support&lt;/strong&gt; — the first ~5 years for a Long-Term Release. Full coverage: bug fixes, security patches, Critical Patch Updates, new certifications. This is what you want to be on.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Extended Support&lt;/strong&gt; — an optional &lt;em&gt;paid&lt;/em&gt; add-on, available only for Long-Term Releases, that extends full coverage for up to 3 more years. Oracle has sometimes waived the first year's fee. Innovation Releases (like 21c) don't get this at all.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sustaining Support&lt;/strong&gt; — offered &lt;em&gt;indefinitely&lt;/em&gt;, which is exactly why it's misleading. It includes &lt;strong&gt;no new security patches, no bug fixes, no error corrections, and no new certifications&lt;/strong&gt; — just access to patches that already existed and the knowledge base.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠️ This is the trap: Oracle can say a release is "still supported" when it's actually on Sustaining Support — getting &lt;strong&gt;no new CVE fixes&lt;/strong&gt;. If you're past your Extended Support date, you are running unpatched. Your vulnerability scanner won't necessarily flag it, because the CVE affected-version ranges often don't list your ancient release. That's the &lt;strong&gt;CVE blind spot&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Long-Term vs Innovation Releases
&lt;/h2&gt;

&lt;p&gt;Since 19c, Oracle splits releases into two tracks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Long-Term Releases (LTR)&lt;/strong&gt; — e.g. 19c and 23ai. ~5 years Premier + up to 3 years Extended. &lt;strong&gt;Standardize production here.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Innovation Releases&lt;/strong&gt; — e.g. 21c. ~2 years Premier, no Extended. Great for kicking the tires on new features, bad for systems you'll run for years.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What about 23ai... 23c... 26ai?
&lt;/h2&gt;

&lt;p&gt;Yes, the naming is a mess. It launched as &lt;strong&gt;23c&lt;/strong&gt;, was renamed &lt;strong&gt;23ai&lt;/strong&gt; to highlight its built-in AI features (like AI Vector Search), and the release line was later rebranded &lt;strong&gt;26ai&lt;/strong&gt; — while keeping &lt;code&gt;23&lt;/code&gt; as the internal version number. It's a Long-Term Release with Premier Support through December 31, 2031, and it's the target if you want the longest runway on a new deployment.&lt;/p&gt;




&lt;h2&gt;
  
  
  If you're on 11g, 12c, or 18c
&lt;/h2&gt;

&lt;p&gt;You've been running without new security fixes for &lt;strong&gt;years&lt;/strong&gt; (11g since 2020, 12c since 2022, 18c since 2021). Your options:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Upgrade to a Long-Term Release&lt;/strong&gt; — 19c (most proven) or 23ai (newest). Oracle's AutoUpgrade tool handles most paths.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Buy Extended Support&lt;/strong&gt; — only available for LTRs (e.g. 19c through 2032), as a paid bridge while you migrate.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Third-party / Market-Driven Support&lt;/strong&gt; — can patch versions Oracle no longer will, but it's a stopgap, not a destination.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Check your exact version with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;BANNER_FULL&lt;/span&gt; &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;V&lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="k"&gt;VERSION&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;If you're on &lt;strong&gt;19c&lt;/strong&gt;, you're fine until at least 2029. If you're on &lt;strong&gt;18c, 12c, or 11g&lt;/strong&gt;, you're effectively end of life and unpatched — plan a move to 19c or 23ai now.&lt;/p&gt;

&lt;p&gt;I keep a live, always-updated version of this — with every Oracle Database version, its support phase, and a 0–100 EOL Risk Score — here: &lt;strong&gt;&lt;a href="https://endoflife.ai/article-oracle-database-eol" rel="noopener noreferrer"&gt;Oracle Database EOL dates on endoflife.ai&lt;/a&gt;&lt;/strong&gt;. You can also check any other product (Node, Python, PHP, RHEL, Kubernetes, 450+ more) at &lt;a href="https://endoflife.ai" rel="noopener noreferrer"&gt;endoflife.ai&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>database</category>
      <category>oracle</category>
      <category>security</category>
      <category>devops</category>
    </item>
    <item>
      <title>Your EOL Dates Are Deadlines. Now They Live on Your Calendar.</title>
      <dc:creator>endoflife-ai</dc:creator>
      <pubDate>Sat, 06 Jun 2026 11:53:07 +0000</pubDate>
      <link>https://dev.to/endoflifeai/your-eol-dates-are-deadlines-now-they-live-on-your-calendar-2457</link>
      <guid>https://dev.to/endoflifeai/your-eol-dates-are-deadlines-now-they-live-on-your-calendar-2457</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Originally published on &lt;a href="https://endoflife.ai/article-eol-calendar-alerts" rel="noopener noreferrer"&gt;endoflife.ai&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;An end-of-life date is a deadline. On one side of it, your software receives security patches. On the other side, it does not — permanently. Every vulnerability discovered after that date is disclosed publicly, assigned a CVE, and frequently weaponized, with no fix ever coming from the vendor. This is the &lt;a href="https://endoflife.ai/article-cve-blind-spot" rel="noopener noreferrer"&gt;CVE blind spot&lt;/a&gt;, and it's the single most &lt;em&gt;predictable&lt;/em&gt; security risk in any stack: you always know the exact day it begins.&lt;/p&gt;

&lt;p&gt;And yet EOL dates slip past almost everyone. They don't trigger a scanner alert. They don't open a ticket. They aren't on anyone's sprint board. They are, quite literally, calendar events that nobody put on the calendar.&lt;/p&gt;

&lt;p&gt;We just fixed that last part.&lt;/p&gt;

&lt;h2&gt;
  
  
  Add to Calendar, on every page
&lt;/h2&gt;

&lt;p&gt;Every &lt;a href="https://endoflife.ai/products" rel="noopener noreferrer"&gt;product page&lt;/a&gt; and version page on endoflife.ai that has a future end-of-life date now carries an &lt;strong&gt;Add to Calendar&lt;/strong&gt; button, right under the status banner. One click downloads a standard calendar file (&lt;code&gt;.ics&lt;/code&gt;) with the EOL date and three reminders already built in — &lt;strong&gt;90, 30, and 7 days before&lt;/strong&gt; the deadline. A second button drops the same event straight into Google Calendar.&lt;/p&gt;

&lt;p&gt;It works in Apple Calendar, Outlook, and Google Calendar. There's no account, no email signup, and nothing to install — the reminders fire from your own calendar, on your own schedule, and keep working whether or not you ever return to the site. Open &lt;a href="https://endoflife.ai/nodejs" rel="noopener noreferrer"&gt;Node.js&lt;/a&gt;, &lt;a href="https://endoflife.ai/php" rel="noopener noreferrer"&gt;PHP&lt;/a&gt;, &lt;a href="https://endoflife.ai/kubernetes" rel="noopener noreferrer"&gt;Kubernetes&lt;/a&gt;, or any of 455+ products, pick the version you run, and the date is on your calendar in seconds.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Why 90 / 30 / 7?&lt;/strong&gt;&lt;br&gt;
The three reminders map to how migrations actually happen. &lt;strong&gt;90 days out:&lt;/strong&gt; scope the work, pick the target version, get it into a sprint. &lt;strong&gt;30 days out:&lt;/strong&gt; the migration should be in progress and testing. &lt;strong&gt;7 days out:&lt;/strong&gt; final verification — and if you're not done, time to stand up compensating controls and document them. The lead time is the difference between a planned upgrade and an emergency.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Lead time is a security control
&lt;/h2&gt;

&lt;p&gt;The cost of an EOL migration is not fixed — it depends entirely on when you start. A move from Node.js 18 to a supported release, planned during a normal cycle, costs engineering time measured in days. The same move, started the week a critical CVE drops against the now-unpatchable version, costs that plus incident response, emergency change approvals, and the very real chance that an attacker got there first.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.cisa.gov/stopransomware/bad-practices" rel="noopener noreferrer"&gt;CISA puts it bluntly&lt;/a&gt;. Its catalog of cybersecurity Bad Practices lists the "use of unsupported (or end-of-life) software" as "dangerous and significantly elevates risk to national security, national economic security, and national public health and safety" — calling the practice "especially egregious in technologies accessible from the Internet." When the nation's cyber defense agency files something under &lt;em&gt;bad practices&lt;/em&gt;, alongside default passwords and single-factor admin access, that's not a nudge. That's a line.&lt;/p&gt;

&lt;p&gt;The exploitation timeline backs it up. Once a product is past EOL, any new vulnerability that lands in &lt;a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog" rel="noopener noreferrer"&gt;CISA's Known Exploited Vulnerabilities (KEV) catalog&lt;/a&gt; has, for you, no patch path at all — your only remediation is replacing the software outright. The earlier you see the date coming, the cheaper that replacement is.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why auditors care about the date itself
&lt;/h2&gt;

&lt;p&gt;Here's what surprises most teams: several major frameworks don't just frown on running EOL software — they require you to &lt;em&gt;track lifecycle dates&lt;/em&gt; and hold a documented plan to act on them. The calendar reminder you just set is, in audit terms, evidence.&lt;/p&gt;

&lt;h3&gt;
  
  
  PCI DSS 4.0.1 — Requirement 12.3.4
&lt;/h3&gt;

&lt;p&gt;The Payment Card Industry standard added a requirement aimed squarely at this. &lt;a href="https://www.pcisecuritystandards.org/" rel="noopener noreferrer"&gt;Requirement 12.3.4&lt;/a&gt; mandates that all hardware and software in scope is reviewed &lt;strong&gt;at least once every 12 months&lt;/strong&gt; to confirm it still receives security fixes from the vendor, to document any vendor "end of life" announcements, and to maintain a &lt;strong&gt;plan approved by senior management to remediate outdated technologies&lt;/strong&gt;. It moved from best practice to mandatory on &lt;strong&gt;31 March 2025&lt;/strong&gt;, so it is now fully assessed. Requirement 6.3.3 separately requires that components be protected from known vulnerabilities via timely patching. A lifecycle calendar with lead-time reminders is precisely the artifact a QSA wants to see behind 12.3.4.&lt;/p&gt;

&lt;h3&gt;
  
  
  NIST SP 800-53 &amp;amp; FedRAMP — SA-22
&lt;/h3&gt;

&lt;p&gt;Control &lt;a href="https://csrc.nist.gov/" rel="noopener noreferrer"&gt;SA-22, "Unsupported System Components,"&lt;/a&gt; is explicit: organizations must replace components when vendor support ends, or formally arrange alternative support. Paired with SI-2 (flaw remediation), it gives assessors a direct hook. Because &lt;strong&gt;FedRAMP&lt;/strong&gt; inherits the 800-53 baseline, any cloud service serving the U.S. government carries SA-22 as well — and an unsupported component without a plan becomes a POA&amp;amp;M item.&lt;/p&gt;

&lt;h3&gt;
  
  
  ISO 27001:2022 — Annex A 8.8
&lt;/h3&gt;

&lt;p&gt;Control 8.8, "Management of technical vulnerabilities," was strengthened in the 2022 revision to emphasize a &lt;em&gt;proactive&lt;/em&gt; process: maintain an asset inventory with version numbers, obtain timely information about vulnerabilities, and act. Software for which no patch can ever exist is a structural failure of exactly that control.&lt;/p&gt;

&lt;h3&gt;
  
  
  SOC 2 — Trust Services Criteria CC7.1
&lt;/h3&gt;

&lt;p&gt;SOC 2 names no specific technologies; it tests whether your controls fit your risks. Criterion CC7.1 covers detecting new vulnerabilities and susceptibilities. An auditor will ask how you identify them — and if your answer has no process for tracking software end-of-life, that's a gap. If EOL software is then found running, the gap becomes a finding.&lt;/p&gt;

&lt;h3&gt;
  
  
  HIPAA Security Rule
&lt;/h3&gt;

&lt;p&gt;For ePHI, the &lt;a href="https://www.hhs.gov/hipaa/for-professionals/security/index.html" rel="noopener noreferrer"&gt;HIPAA Security Rule&lt;/a&gt; requires a risk analysis (45 CFR §164.308) and technical safeguards (§164.312). NIST's implementation guide, &lt;a href="https://csrc.nist.gov/pubs/sp/800/66/r2/final" rel="noopener noreferrer"&gt;SP 800-66 Revision 2&lt;/a&gt; (February 2024), frames unsupported software as an identifiable, manageable risk. OCR's enforcement consistently ties penalty severity to whether an organization &lt;em&gt;knew&lt;/em&gt; about a risk and failed to act — which makes knowingly running EOL software the worse position to be in.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The pattern across every framework&lt;/strong&gt;&lt;br&gt;
None of these require perfect, always-current software. They require that you &lt;em&gt;know&lt;/em&gt; your lifecycle risks and manage them deliberately — with awareness, a plan, and a timeline. EOL software that's documented, compensated, and scheduled for remediation is a managed risk. EOL software you didn't see coming is a finding.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Framework / Body&lt;/th&gt;
&lt;th&gt;Control&lt;/th&gt;
&lt;th&gt;What it expects regarding EOL&lt;/th&gt;
&lt;th&gt;Severity&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;PCI DSS 4.0.1&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Req. 12.3.4, 6.3.3&lt;/td&gt;
&lt;td&gt;Annual review for EOL/vendor support + senior-approved remediation plan (mandatory since Mar 2025)&lt;/td&gt;
&lt;td&gt;Critical&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;NIST 800-53 / FedRAMP&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;SA-22, SI-2&lt;/td&gt;
&lt;td&gt;Replace unsupported components or arrange alternative support; POA&amp;amp;M if not&lt;/td&gt;
&lt;td&gt;Critical&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;ISO 27001:2022&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Annex A 8.8&lt;/td&gt;
&lt;td&gt;Proactive vulnerability management with versioned asset inventory&lt;/td&gt;
&lt;td&gt;High&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SOC 2&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;TSC CC7.1&lt;/td&gt;
&lt;td&gt;A process to detect new vulnerabilities, including lifecycle tracking&lt;/td&gt;
&lt;td&gt;High&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;HIPAA&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;§164.308, §164.312&lt;/td&gt;
&lt;td&gt;Risk analysis covering unsupported software; known-and-unaddressed risk raises OCR exposure&lt;/td&gt;
&lt;td&gt;Critical&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;CISA&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Bad Practices · KEV · BOD 22-01&lt;/td&gt;
&lt;td&gt;EOL software named a "bad practice"; KEV entries carry fixed remediation deadlines&lt;/td&gt;
&lt;td&gt;Critical&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The reach extends beyond U.S. frameworks. The EU's &lt;a href="https://gdpr-info.eu/art-32-gdpr/" rel="noopener noreferrer"&gt;GDPR Article 32&lt;/a&gt; requires security measures appropriate to "the state of the art" — a standard that running years-past-EOL software plainly undercuts. For financial entities, the EU's DORA regulation (in force since January 2025) and the NIS2 Directive both impose ICT lifecycle and vulnerability-management obligations in the same spirit.&lt;/p&gt;

&lt;h2&gt;
  
  
  From a date to a defensible plan
&lt;/h2&gt;

&lt;p&gt;A calendar reminder is the trigger. Here's the workflow it plugs into:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Know&lt;/strong&gt; — Inventory your stack. Use the &lt;a href="https://endoflife.ai/scanner" rel="noopener noreferrer"&gt;Stack Scanner&lt;/a&gt; on your &lt;code&gt;package.json&lt;/code&gt;, &lt;code&gt;requirements.txt&lt;/code&gt;, Gemfile, or container base images to map what you actually run against current EOL dates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prioritize&lt;/strong&gt; — Score the risk. The &lt;a href="https://endoflife.ai/risk-score" rel="noopener noreferrer"&gt;EOL Risk Score&lt;/a&gt; weighs EOL recency, attack surface, CISA KEV exposure, and extended-support availability so you triage the dangerous components first.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Schedule&lt;/strong&gt; — Put the dates on the calendar. For every version you depend on, hit &lt;strong&gt;Add to Calendar&lt;/strong&gt; on its page. The 90/30/7-day reminders become your standing remediation timeline — the documented plan auditors ask to see.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automate&lt;/strong&gt; — Scale it. The &lt;a href="https://endoflife.ai/api" rel="noopener noreferrer"&gt;endoflife.ai API&lt;/a&gt; exposes EOL dates for 455+ products programmatically, so you can wire lifecycle alerts into CI/CD, SBOM tooling, or your own dashboards.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;The date was never the hard part. EOL dates are published years in advance; that's the entire premise of &lt;a href="https://endoflife.date" rel="noopener noreferrer"&gt;endoflife.date&lt;/a&gt;, the open dataset this site is built on. The hard part has always been &lt;em&gt;not seeing it coming&lt;/em&gt; — letting a known deadline pass in silence until it surfaces as an incident, an audit finding, or both.&lt;/p&gt;

&lt;p&gt;Now the deadline shows up where you'll actually see it: on your calendar, with enough warning to do something about it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Check any of 455+ products, see its EOL Risk Score, and add the deadline to your calendar — free, no signup, at &lt;a href="https://endoflife.ai" rel="noopener noreferrer"&gt;endoflife.ai&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>devops</category>
      <category>compliance</category>
      <category>cybersecurity</category>
    </item>
    <item>
      <title>My Software Is EOL — What Do I Do Now?</title>
      <dc:creator>endoflife-ai</dc:creator>
      <pubDate>Thu, 04 Jun 2026 14:53:08 +0000</pubDate>
      <link>https://dev.to/endoflifeai/my-software-is-eol-what-do-i-do-now-1h0d</link>
      <guid>https://dev.to/endoflifeai/my-software-is-eol-what-do-i-do-now-1h0d</guid>
      <description>&lt;p&gt;You just found out a runtime, OS, or framework you're running is end-of-life. No more patches. No more security fixes. Here's exactly what that means, how bad it is, and what your options are — in plain language.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The situation:&lt;/strong&gt; End-of-life means the vendor has stopped issuing security patches. Every new vulnerability disclosed after that date is permanently unpatched in your version. Your scanner will likely show a clean bill of health. Attackers know your version is unpatched. You don't.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  First: Don't panic. But don't ignore it either.
&lt;/h2&gt;

&lt;p&gt;Finding out your software is EOL is not an emergency in the same way a breach is. Your systems aren't on fire. But you are running with an open window — and every day that passes, more vulnerabilities accumulate with no fix path.&lt;/p&gt;

&lt;p&gt;The right response is &lt;strong&gt;urgency without panic&lt;/strong&gt;. Assess quickly, decide deliberately, act.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step one: Understand what you're actually dealing with
&lt;/h2&gt;

&lt;p&gt;Not all EOL situations are equal. A Node.js version that went EOL last week is a very different risk profile from an OS that's been unpatched for three years. Before you do anything else, know your actual risk.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. How long has it been EOL?&lt;/strong&gt;&lt;br&gt;
Days to weeks is a low-urgency window. Months to years means significant CVE accumulation with no patches. The longer past EOL, the higher the risk.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. What attack surface does it expose?&lt;/strong&gt;&lt;br&gt;
An EOL operating system or runtime processing internet traffic is critical. An EOL internal utility with no network exposure is a much lower priority.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Is it in the CISA KEV catalog?&lt;/strong&gt;&lt;br&gt;
The CISA Known Exploited Vulnerabilities catalog lists software being actively exploited in the wild. If your EOL product appears there, your urgency level just went to critical.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. What are your compliance obligations?&lt;/strong&gt;&lt;br&gt;
SOC 2, PCI DSS, HIPAA, and ISO 27001 all have controls around unsupported software. Running EOL in a compliance-relevant environment creates audit findings and potential liability.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Quick check:&lt;/strong&gt; Look up your exact product and version on &lt;a href="https://endoflife.ai" rel="noopener noreferrer"&gt;endoflife.ai&lt;/a&gt;. You'll see the EOL date, days past EOL, CISA KEV exposure, and a 0–100 risk score that tells you how urgently to act.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The CVE blind spot: why your scanner isn't telling you the full story
&lt;/h2&gt;

&lt;p&gt;Here's what most people don't know: your vulnerability scanner is almost certainly giving you a false sense of security.&lt;/p&gt;

&lt;p&gt;When a vulnerability is discovered, security researchers test and report it against &lt;strong&gt;supported versions&lt;/strong&gt;. The CVE advisory lists affected version ranges based on supported builds. Your EOL version runs the same code — often with the identical vulnerability — but it doesn't appear in the advisory because nobody tested it.&lt;/p&gt;

&lt;p&gt;Your scanner checks CVE affected version ranges. Your EOL version isn't listed. No alert fires. You see a green dashboard. You think you're safe. &lt;strong&gt;You're not.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Attackers read the same CVE advisories. They diff the patches. They test EOL builds systematically. They know your version is vulnerable before your scanner does — and they know it will stay that way.&lt;/p&gt;




&lt;h2&gt;
  
  
  Your four options — and when each makes sense
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Option 1: Migrate to a supported version&lt;/strong&gt; &lt;em&gt;(Best long-term)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The right answer. Upgrade to the current stable release. Eliminates the risk permanently. Requires testing, potentially dependency updates, and downtime planning. This is where you want to land — the question is how fast you can get there.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Option 2: Extended lifecycle support&lt;/strong&gt; &lt;em&gt;(Fastest risk reduction)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Commercial vendors provide security patches for EOL software — same CVE coverage, no migration required. Buys you time to migrate properly while closing the patch gap. Costs money but often cheaper than an emergency migration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Option 3: Compensating controls&lt;/strong&gt; &lt;em&gt;(Reduces exposure)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you can't patch or migrate immediately, isolate the affected system. Restrict network access, add WAF rules, increase monitoring, segment from critical systems. Doesn't fix the vulnerability — just reduces the blast radius if something goes wrong.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Option 4: Accept and document the risk&lt;/strong&gt; &lt;em&gt;(Sometimes valid)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In some cases — low attack surface, isolated environment, very recent EOL — formal risk acceptance with a documented remediation timeline is appropriate. This is not "do nothing." It's a deliberate, recorded decision with an owner and a deadline.&lt;/p&gt;




&lt;h2&gt;
  
  
  The questions your team will ask — answered
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;How do I know if we've already been compromised?&lt;/strong&gt;&lt;br&gt;
EOL status alone doesn't tell you whether you've been breached — it tells you that you've been running with an unlocked door. Check your logs for unusual activity, review access patterns, and loop in your security team. The EOL finding is a trigger for a security review, not necessarily evidence of a breach.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do I need to tell anyone?&lt;/strong&gt;&lt;br&gt;
If you're in a regulated environment — healthcare, finance, government — the answer is almost certainly yes. Notify your security team, your compliance officer, and potentially your legal team. Document when you discovered it and what actions you took. That paper trail matters in an audit or incident.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How long do I actually have?&lt;/strong&gt;&lt;br&gt;
There's no universal answer. A Node.js version that went EOL last month is lower urgency than a CentOS 7 server that's been unpatched since June 2024. Check the EOL Risk Score for your specific version — it factors in time since EOL, attack surface, and active exploitation history to give you a calibrated number, not just a binary warning.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I just leave it and see what happens?&lt;/strong&gt;&lt;br&gt;
You can. Plenty of organizations run EOL software for extended periods without incident. But you're making a bet that attackers won't target your specific version before you get around to fixing it — and that bet gets worse every day.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's the difference between EOL and end-of-support?&lt;/strong&gt;&lt;br&gt;
Often used interchangeably, but there's a distinction. End-of-life typically means the product is fully discontinued — no patches, no support. End-of-support sometimes means the vendor will still take bug reports but won't actively develop new features. For security purposes, treat both the same way: if security patches aren't coming, you're exposed.&lt;/p&gt;




&lt;h2&gt;
  
  
  How to prioritize when everything is EOL
&lt;/h2&gt;

&lt;p&gt;If you've just run a full audit and found multiple EOL products — which is common — prioritize by:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Internet-facing systems first&lt;/strong&gt; — EOL software processing external HTTP traffic or exposed to the public internet is your highest priority.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CISA KEV-listed products next&lt;/strong&gt; — confirmed exploitation is happening in the wild. These jump the queue.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Longest past EOL next&lt;/strong&gt; — the longer a product has been unpatched, the more vulnerabilities have accumulated.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compliance-critical systems last&lt;/strong&gt; — systems in scope for SOC 2, PCI, HIPAA audits need to be clean before your next assessment cycle.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  The conversation with your manager or board
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Don't lead with the technical detail.&lt;/strong&gt; "We're running Node.js 18 which went EOL in April 2025" means nothing to a non-technical executive.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do lead with the analogy.&lt;/strong&gt; "We're running software that no longer receives security patches. It's the equivalent of running a building with a lock the manufacturer has stopped making keys for — and the lock design is publicly documented." That lands.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Come with options and costs.&lt;/strong&gt; Don't just bring a problem. Bring three options: migrate (timeline and cost), extended support (monthly cost, immediate risk reduction), or accept and document (risk in plain language). Let the decision-maker decide — but make sure they understand what they're deciding.&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The bottom line:&lt;/strong&gt; EOL software is a solvable problem. The risk is real but it's not a crisis unless you ignore it. Find out exactly what you're running, score the risk, pick your path, and move.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Check your stack
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://endoflife.ai" rel="noopener noreferrer"&gt;endoflife.ai&lt;/a&gt; — free EOL intelligence for 455+ products. Check any runtime, framework, OS, or database against its EOL date. No account required.&lt;/p&gt;

</description>
      <category>security</category>
      <category>devops</category>
      <category>devsecops</category>
      <category>sysadmin</category>
    </item>
    <item>
      <title>Apache Kafka End of Life: Kafka Versions EOL Every 4 Months — Are You Behind?</title>
      <dc:creator>endoflife-ai</dc:creator>
      <pubDate>Sat, 30 May 2026 05:25:16 +0000</pubDate>
      <link>https://dev.to/endoflifeai/apache-kafka-end-of-life-kafka-versions-eol-every-4-months-are-you-behind-28f6</link>
      <guid>https://dev.to/endoflifeai/apache-kafka-end-of-life-kafka-versions-eol-every-4-months-are-you-behind-28f6</guid>
      <description>&lt;p&gt;Apache Kafka's release cadence is fast. A new minor version ships roughly every four months. EOL dates arrive quickly — and because Kafka sits at the heart of data pipelines, teams are slower to upgrade than they are with application-layer software.&lt;/p&gt;

&lt;p&gt;The result: a lot of production Kafka clusters running EOL versions handling compliance-critical data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kafka 3.6 reached end of life in April 2026.&lt;/strong&gt; If you're on 3.5 or earlier, you're already past EOL.&lt;/p&gt;




&lt;h2&gt;
  
  
  Complete Kafka EOL Schedule
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Version&lt;/th&gt;
&lt;th&gt;End of Life&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Kafka 2.8&lt;/td&gt;
&lt;td&gt;Oct 2023&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Kafka 3.0&lt;/td&gt;
&lt;td&gt;Feb 2024&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Kafka 3.1&lt;/td&gt;
&lt;td&gt;Jul 2024&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Kafka 3.2&lt;/td&gt;
&lt;td&gt;Oct 2024&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Kafka 3.3&lt;/td&gt;
&lt;td&gt;Feb 2025&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Kafka 3.4&lt;/td&gt;
&lt;td&gt;Sep 2025&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Kafka 3.5&lt;/td&gt;
&lt;td&gt;Dec 2025&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Kafka 3.6&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Apr 2026&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;❌ EOL&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Kafka 3.7&lt;/td&gt;
&lt;td&gt;Sep 2026&lt;/td&gt;
&lt;td&gt;✅ Supported&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Kafka 3.8&lt;/td&gt;
&lt;td&gt;Mar 2027&lt;/td&gt;
&lt;td&gt;✅ Supported&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Kafka 4.0&lt;/td&gt;
&lt;td&gt;TBD&lt;/td&gt;
&lt;td&gt;✅ Latest&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The community maintains the &lt;strong&gt;two most recent minor versions&lt;/strong&gt;. Everything else receives no further security patches or bug fixes.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;EOL Risk Score for Kafka 2.8: 84 Critical&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://endoflife.ai/score/apache-kafka/2.8" rel="noopener noreferrer"&gt;View → endoflife.ai/score/apache-kafka/2.8&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Why Kafka EOL Risk Is Different
&lt;/h2&gt;

&lt;p&gt;Kafka isn't stateless. It &lt;strong&gt;stores your data&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;An EOL web framework is a security risk. An EOL Kafka cluster is a security risk that also has custody of every message in your topics. CVEs affecting Kafka directly impact the confidentiality, integrity, and availability of your event streams.&lt;/p&gt;

&lt;p&gt;Historically significant Kafka CVEs include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Authentication bypass vulnerabilities&lt;/li&gt;
&lt;li&gt;SCRAM authentication weaknesses&lt;/li&gt;
&lt;li&gt;Denial-of-service issues in the broker's request handling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In regulated industries — financial services, healthcare, any organization handling PII — an EOL Kafka cluster processing that data creates direct compliance exposure.&lt;/p&gt;




&lt;h2&gt;
  
  
  The ZooKeeper Story: The Biggest Change in Kafka's History
&lt;/h2&gt;

&lt;p&gt;Kafka 4.0, released March 2025, &lt;strong&gt;removed ZooKeeper support entirely&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The timeline:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Kafka 2.8&lt;/strong&gt; — KRaft mode introduced as early access&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Kafka 3.3&lt;/strong&gt; — KRaft mode production-ready&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Kafka 3.5–3.8&lt;/strong&gt; — ZooKeeper deprecated, migration tooling available&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Kafka 4.0&lt;/strong&gt; — ZooKeeper removed, KRaft required&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If your cluster still uses ZooKeeper for cluster metadata, &lt;strong&gt;you cannot upgrade to Kafka 4.0&lt;/strong&gt; without first migrating to KRaft. And ZooKeeper itself has its own EOL considerations: ZooKeeper 3.6 reached EOL March 2024.&lt;/p&gt;

&lt;h3&gt;
  
  
  How to migrate ZooKeeper → KRaft (without downtime)
&lt;/h3&gt;

&lt;p&gt;Kafka 3.7 and 3.8 support a live migration path:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# 1. Generate a new KRaft cluster ID&lt;/span&gt;
kafka-storage.sh random-uuid

&lt;span class="c"&gt;# 2. Start the migration using the built-in migration tool&lt;/span&gt;
kafka-metadata-migration.sh &lt;span class="nt"&gt;--bootstrap-server&lt;/span&gt; localhost:9092   &lt;span class="nt"&gt;--cluster-id&lt;/span&gt; &amp;lt;your-kraft-cluster-id&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The migration runs while the cluster continues serving traffic. Once complete, the ZooKeeper ensemble can be decommissioned.&lt;/p&gt;




&lt;h2&gt;
  
  
  Kafka Rolling Upgrade Guide
&lt;/h2&gt;

&lt;p&gt;Kafka supports rolling upgrades — upgrade brokers one at a time while the cluster continues serving traffic.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1 — Control the protocol version
&lt;/h3&gt;

&lt;p&gt;During a rolling upgrade, pin &lt;code&gt;inter.broker.protocol.version&lt;/code&gt; to the previous version:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight properties"&gt;&lt;code&gt;&lt;span class="py"&gt;inter.broker.protocol.version&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;3.7&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Only bump this after all brokers are on the new version. This allows mixed-version brokers to communicate safely during the upgrade window.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2 — Upgrade one broker at a time
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Graceful shutdown of one broker&lt;/span&gt;
kafka-server-stop.sh

&lt;span class="c"&gt;# Install new version, update config, restart&lt;/span&gt;
kafka-server-start.sh config/server.properties
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Wait for the broker to rejoin and partition leadership to rebalance before proceeding to the next broker.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3 — Update the protocol version
&lt;/h3&gt;

&lt;p&gt;After all brokers are upgraded:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight properties"&gt;&lt;code&gt;&lt;span class="py"&gt;inter.broker.protocol.version&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;3.8  # your new version&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Rolling restart to apply.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4 — Check client compatibility
&lt;/h3&gt;

&lt;p&gt;The Kafka protocol is backward-compatible, but broker upgrades may surface client-side issues. Update producers and consumers as part of the upgrade project, not after.&lt;/p&gt;




&lt;h2&gt;
  
  
  Check Your Full Data Stack
&lt;/h2&gt;

&lt;p&gt;Kafka doesn't run in isolation. Check EOL status for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://endoflife.ai/java" rel="noopener noreferrer"&gt;Java&lt;/a&gt; — Kafka 4.0 requires Java 11+, recommends Java 17 or 21&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://endoflife.ai/ubuntu" rel="noopener noreferrer"&gt;Your Linux distribution&lt;/a&gt; — Ubuntu, RHEL, Debian all have EOL dates&lt;/li&gt;
&lt;li&gt;ZooKeeper — if you're still on it&lt;/li&gt;
&lt;li&gt;Kafka Connect plugins — each has its own version lifecycle&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use the &lt;a href="https://endoflife.ai/checker" rel="noopener noreferrer"&gt;EOL Checker at endoflife.ai&lt;/a&gt; to look up any component's EOL status.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Full article with EOL Risk Scores for every Kafka version: &lt;a href="https://endoflife.ai/article-kafka-eol" rel="noopener noreferrer"&gt;endoflife.ai/article-kafka-eol&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>kafka</category>
      <category>security</category>
      <category>devops</category>
      <category>architecture</category>
    </item>
    <item>
      <title>Ruby on Rails End of Life: Rails 6.1 EOL, Rails 7.0 EOL — What's Still Supported in 2026</title>
      <dc:creator>endoflife-ai</dc:creator>
      <pubDate>Sat, 30 May 2026 05:24:12 +0000</pubDate>
      <link>https://dev.to/endoflifeai/ruby-on-rails-end-of-life-rails-61-eol-rails-70-eol-whats-still-supported-in-2026-dn8</link>
      <guid>https://dev.to/endoflifeai/ruby-on-rails-end-of-life-rails-61-eol-rails-70-eol-whats-still-supported-in-2026-dn8</guid>
      <description>&lt;p&gt;The Rails maintenance policy is lean by design: &lt;strong&gt;only the most recent minor version of the most recent two major versions receives security patches&lt;/strong&gt;. Everything else is on its own.&lt;/p&gt;

&lt;p&gt;That policy creates a faster EOL cadence than most teams expect. Rails 7.0 felt modern — it shipped with Hotwire, import maps, and CSS bundling. It reached end of life on &lt;strong&gt;April 1, 2025&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Here's the current state of the Rails lifecycle.&lt;/p&gt;




&lt;h2&gt;
  
  
  Rails EOL Schedule
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Version&lt;/th&gt;
&lt;th&gt;End of Life&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Rails 4.2&lt;/td&gt;
&lt;td&gt;Apr 2020&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rails 5.2&lt;/td&gt;
&lt;td&gt;Jun 2022&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rails 6.0&lt;/td&gt;
&lt;td&gt;Jun 2023&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Rails 6.1&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Jun 30, 2024&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;❌ EOL&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Rails 7.0&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Apr 1, 2025&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;❌ EOL&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rails 7.1&lt;/td&gt;
&lt;td&gt;Oct 1, 2026&lt;/td&gt;
&lt;td&gt;⚠️ Security only&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rails 7.2&lt;/td&gt;
&lt;td&gt;Aug 1, 2027&lt;/td&gt;
&lt;td&gt;✅ Full support&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rails 8.0&lt;/td&gt;
&lt;td&gt;Nov 1, 2027&lt;/td&gt;
&lt;td&gt;✅ Full support&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  The Compounding Ruby Problem
&lt;/h2&gt;

&lt;p&gt;Rails 6.x applications typically run on Ruby 2.6, 2.7, or 3.0. All three are EOL:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ruby 2.6&lt;/strong&gt; — EOL March 2022&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ruby 2.7&lt;/strong&gt; — EOL March 2023&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ruby 3.0&lt;/strong&gt; — EOL March 2024&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A Rails 6.1 application on Ruby 2.7 has two compounding EOL layers. New CVEs in either the framework or the runtime will never be patched.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;EOL Risk Score for Rails 6.1: 82 Critical&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://endoflife.ai/score/rails/6.1" rel="noopener noreferrer"&gt;View → endoflife.ai/score/rails/6.1&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Understanding the Rails Maintenance Policy
&lt;/h2&gt;

&lt;p&gt;The Rails project publishes three maintenance states:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Full maintenance&lt;/strong&gt; — bug fixes + security fixes (latest two minor versions)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security maintenance only&lt;/strong&gt; — security fixes only, no bug fixes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unsupported&lt;/strong&gt; — no fixes of any kind&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Today:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Rails 8.0&lt;/strong&gt; — full maintenance&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rails 7.2&lt;/strong&gt; — full maintenance&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rails 7.1&lt;/strong&gt; — security maintenance only until October 2026&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rails 7.0 and earlier&lt;/strong&gt; — unsupported&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What's New in Rails 8
&lt;/h2&gt;

&lt;p&gt;Rails 8.0 (November 2024) is a significant release focused on reducing external infrastructure dependencies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Solid Cache&lt;/strong&gt; — database-backed caching (replaces Redis for most use cases)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Solid Queue&lt;/strong&gt; — database-backed background jobs (replaces Sidekiq for most use cases)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Solid Cable&lt;/strong&gt; — database-backed WebSockets&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Kamal 2&lt;/strong&gt; — container-based deployment built in&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Thruster&lt;/strong&gt; — HTTP asset caching and compression proxy&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Rails 8 requires &lt;strong&gt;Ruby 3.2 or later&lt;/strong&gt;. If you're on Ruby 3.1 or earlier, upgrade Ruby first.&lt;/p&gt;




&lt;h2&gt;
  
  
  Upgrade Strategy: One Minor Version at a Time
&lt;/h2&gt;

&lt;p&gt;The Rails team's official guidance is to upgrade incrementally:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;6.0 → 6.1 → 7.0 → 7.1 → 7.2 → 8.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each minor version includes deprecation warnings for APIs removed in the next version. Skipping versions means missing those warnings and hitting breaking changes blind.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key steps for any Rails upgrade
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1. Check your Ruby version first&lt;/strong&gt;&lt;br&gt;
Rails 7.2 requires Ruby 3.1+. Rails 8 requires Ruby 3.2+. Upgrade Ruby before upgrading Rails.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ruby &lt;span class="nt"&gt;--version&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2. Use the &lt;code&gt;load_defaults&lt;/code&gt; incremental approach&lt;/strong&gt;&lt;br&gt;
After bumping the gem version, update &lt;code&gt;config/application.rb&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;load_defaults&lt;/span&gt; &lt;span class="mf"&gt;7.2&lt;/span&gt;  &lt;span class="c1"&gt;# or whatever your target version is&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This activates new defaults gradually. Address each failure before moving to the next.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Follow the official upgrade guide&lt;/strong&gt;&lt;br&gt;
Every Rails version has a dedicated &lt;a href="https://guides.rubyonrails.org/upgrading_ruby_on_rails.html" rel="noopener noreferrer"&gt;upgrade guide&lt;/a&gt; documenting every breaking change.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Run your test suite on the new version before deploying&lt;/strong&gt;&lt;br&gt;
Rails CI should be your gate. If it passes on the target version in CI, production follows cleanly.&lt;/p&gt;




&lt;h2&gt;
  
  
  Rails CVE History: Not Theoretical
&lt;/h2&gt;

&lt;p&gt;Rails has had real, high-severity CVEs over its lifetime:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SQL injection through unsafe query parameter handling&lt;/li&gt;
&lt;li&gt;CSRF vulnerabilities in earlier action controller versions&lt;/li&gt;
&lt;li&gt;Mass assignment bypass (the Egor Homakov GitHub hack)&lt;/li&gt;
&lt;li&gt;Regex injection in route handling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The framework's security has improved significantly since the Rails 3/4 era, but CVEs are still disclosed. On an EOL version, those CVEs are never patched.&lt;/p&gt;




&lt;h2&gt;
  
  
  Check Your Dependencies Too
&lt;/h2&gt;

&lt;p&gt;Your Rails version isn't the only thing with an EOL date. Check:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://endoflife.ai/ruby" rel="noopener noreferrer"&gt;Ruby EOL dates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://endoflife.ai/postgresql" rel="noopener noreferrer"&gt;PostgreSQL EOL dates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://endoflife.ai/mysql" rel="noopener noreferrer"&gt;MySQL EOL dates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://endoflife.ai/ubuntu" rel="noopener noreferrer"&gt;Ubuntu EOL dates&lt;/a&gt; (your server OS)&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Full article with EOL Risk Scores for every Rails version: &lt;a href="https://endoflife.ai/article-rails-eol" rel="noopener noreferrer"&gt;endoflife.ai/article-rails-eol&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>rails</category>
      <category>security</category>
      <category>webdev</category>
    </item>
    <item>
      <title>CentOS is Dead: CentOS 7 EOL June 2024, CentOS 8 EOL Dec 2021 — Your Migration Options</title>
      <dc:creator>endoflife-ai</dc:creator>
      <pubDate>Sat, 30 May 2026 05:23:43 +0000</pubDate>
      <link>https://dev.to/endoflifeai/centos-is-dead-centos-7-eol-june-2024-centos-8-eol-dec-2021-your-migration-options-4ppn</link>
      <guid>https://dev.to/endoflifeai/centos-is-dead-centos-7-eol-june-2024-centos-8-eol-dec-2021-your-migration-options-4ppn</guid>
      <description>&lt;p&gt;CentOS was the backbone of enterprise Linux infrastructure for nearly two decades. Free. Stable. Binary-compatible with RHEL. The obvious choice for teams that wanted enterprise Linux without the enterprise price tag.&lt;/p&gt;

&lt;p&gt;It's now, definitively, dead.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CentOS Linux 8&lt;/strong&gt; reached end of life &lt;strong&gt;December 31, 2021&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CentOS Linux 7&lt;/strong&gt; reached end of life &lt;strong&gt;June 30, 2024&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are no supported CentOS Linux versions remaining.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Full CentOS EOL Timeline
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Version&lt;/th&gt;
&lt;th&gt;End of Life&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;th&gt;EOL Risk Score&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;CentOS Linux 6&lt;/td&gt;
&lt;td&gt;Nov 30, 2020&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;td&gt;97 Critical&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;CentOS Linux 7&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Jun 30, 2024&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;❌ EOL&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;85 Critical&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;CentOS Linux 8&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Dec 31, 2021&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;❌ EOL&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;89 Critical&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CentOS Stream 8&lt;/td&gt;
&lt;td&gt;May 31, 2024&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;td&gt;82 Critical&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CentOS Stream 9&lt;/td&gt;
&lt;td&gt;May 31, 2027&lt;/td&gt;
&lt;td&gt;✅ Supported&lt;/td&gt;
&lt;td&gt;22 Low&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CentOS Stream 10&lt;/td&gt;
&lt;td&gt;TBD&lt;/td&gt;
&lt;td&gt;✅ Supported&lt;/td&gt;
&lt;td&gt;10 Low&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  CentOS 8: The Betrayal
&lt;/h2&gt;

&lt;p&gt;CentOS 8's EOL story is different from any other software EOL — and worse.&lt;/p&gt;

&lt;p&gt;Red Hat announced in &lt;strong&gt;December 2020&lt;/strong&gt; that CentOS Linux 8 would reach end of life on &lt;strong&gt;December 31, 2021&lt;/strong&gt;, cutting short what was originally a 10-year lifecycle. The announcement came less than 18 months after CentOS 8's initial release.&lt;/p&gt;

&lt;p&gt;Teams that had migrated to CentOS 8 to modernize their infrastructure found themselves holding an EOL operating system less than two years after deploying it. Many of those servers are still running today — over four years past EOL.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;EOL Risk Score for CentOS 8: 89 Critical&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  CentOS 7: The Compounding EOL Problem
&lt;/h2&gt;

&lt;p&gt;CentOS 7 is a unique case study in layered EOL risk.&lt;/p&gt;

&lt;p&gt;The OS itself reached EOL June 30, 2024. But look at what else is EOL inside a default CentOS 7 install:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Kernel 3.10&lt;/strong&gt; — EOL for years&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Python 2.7&lt;/strong&gt; — EOL since January 2020&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OpenSSL 1.0.2&lt;/strong&gt; — EOL since December 2019&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;glibc 2.17&lt;/strong&gt; — outdated, no upstream patches&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Servers running CentOS 7 are EOL at the OS level, kernel level, runtime level, and cryptography library level simultaneously. Every new CVE in any of these components is permanently unpatched.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;EOL Risk Score for CentOS 7: 85 Critical&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  CentOS Stream is NOT a Replacement
&lt;/h2&gt;

&lt;p&gt;This is the most important clarification to make.&lt;/p&gt;

&lt;p&gt;CentOS Stream is a &lt;strong&gt;rolling pre-release distribution&lt;/strong&gt; that sits &lt;em&gt;upstream&lt;/em&gt; of RHEL. Where CentOS Linux was a downstream rebuild of RHEL (stable, tested, binary-compatible), CentOS Stream receives updates &lt;em&gt;before&lt;/em&gt; those updates are released in RHEL.&lt;/p&gt;

&lt;p&gt;That means CentOS Stream may contain bugs that are later fixed before the RHEL release. It is a development preview — useful for testing, not ideal for stable production workloads that previously ran CentOS Linux.&lt;/p&gt;




&lt;h2&gt;
  
  
  Migration Options
&lt;/h2&gt;

&lt;h3&gt;
  
  
  AlmaLinux OS
&lt;/h3&gt;

&lt;p&gt;Free, community-supported, RHEL binary-compatible rebuild maintained by the AlmaLinux OS Foundation.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AlmaLinux 8: supported through May 2029&lt;/li&gt;
&lt;li&gt;AlmaLinux 9: supported through May 2032&lt;/li&gt;
&lt;li&gt;Provides &lt;code&gt;almalinux-deploy&lt;/code&gt; for &lt;strong&gt;in-place migration&lt;/strong&gt; from CentOS 8&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Rocky Linux
&lt;/h3&gt;

&lt;p&gt;Another free RHEL-compatible rebuild, founded by one of CentOS's original creators.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Rocky Linux 8: supported through May 2029&lt;/li&gt;
&lt;li&gt;Rocky Linux 9: supported through May 2032&lt;/li&gt;
&lt;li&gt;Provides &lt;code&gt;migrate2rocky&lt;/code&gt; for in-place conversion from CentOS 8&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Red Hat Enterprise Linux
&lt;/h3&gt;

&lt;p&gt;RHEL is available at &lt;strong&gt;no cost for up to 16 production servers&lt;/strong&gt; through the Red Hat Developer Program.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;RHEL 9: supported through May 2032&lt;/li&gt;
&lt;li&gt;Extended Lifecycle Support available through 2036&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  In-Place vs. Fresh Provisioning
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;From CentOS 8:&lt;/strong&gt; Both AlmaLinux and Rocky provide scripts that convert a running CentOS 8 installation without a full OS reinstall. This is the fastest path.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;From CentOS 7:&lt;/strong&gt; The major version jump (RHEL 7 → RHEL 9 equivalent) means most teams use a provisioning-based approach — stand up a new server, migrate the application, decommission the old one. In-place conversion across major versions is not officially supported and carries significant risk.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Full article with EOL Risk Scores and detailed migration guidance: &lt;a href="https://endoflife.ai/article-centos-eol" rel="noopener noreferrer"&gt;endoflife.ai/article-centos-eol&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>linux</category>
      <category>security</category>
      <category>sysadmin</category>
      <category>devops</category>
    </item>
    <item>
      <title>Veeam Backup &amp; Replication End of Life: What EOL Backup Software Means for Your Compliance Posture</title>
      <dc:creator>endoflife-ai</dc:creator>
      <pubDate>Sat, 30 May 2026 05:22:34 +0000</pubDate>
      <link>https://dev.to/endoflifeai/veeam-backup-replication-end-of-life-what-eol-backup-software-means-for-your-compliance-posture-7df</link>
      <guid>https://dev.to/endoflifeai/veeam-backup-replication-end-of-life-what-eol-backup-software-means-for-your-compliance-posture-7df</guid>
      <description>&lt;p&gt;Veeam Backup &amp;amp; Replication is deeply embedded in enterprise infrastructure. It's also one of those products that teams install, configure, and then don't touch for years — which is exactly how EOL versions accumulate.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veeam 11 reached end of support on February 1, 2025. Veeam 12.0 reached end of support on February 1, 2026.&lt;/strong&gt; Both are now unsupported.&lt;/p&gt;

&lt;p&gt;If you open a Veeam support ticket on either version today, Veeam may require you to upgrade before providing assistance.&lt;/p&gt;




&lt;h2&gt;
  
  
  Veeam B&amp;amp;R EOL Schedule
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Version&lt;/th&gt;
&lt;th&gt;End of Support&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Veeam 9.5&lt;/td&gt;
&lt;td&gt;Jan 1, 2022&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Veeam 10&lt;/td&gt;
&lt;td&gt;Feb 1, 2023&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Veeam 11&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Feb 1, 2025&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;❌ EOL&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Veeam 12.0&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Feb 1, 2026&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;❌ EOL&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Veeam 12.1&lt;/td&gt;
&lt;td&gt;TBD&lt;/td&gt;
&lt;td&gt;✅ Supported&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Veeam follows an &lt;strong&gt;N-2 support policy&lt;/strong&gt;: only the two most recent major versions receive full technical support.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;EOL Risk Score for Veeam 11: 79 Critical&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://endoflife.ai/score/veeam-backup-and-replication/11" rel="noopener noreferrer"&gt;View full score → endoflife.ai/score/veeam-backup-and-replication/11&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The Problem Nobody Talks About: Hypervisor Compatibility
&lt;/h2&gt;

&lt;p&gt;Running EOL Veeam isn't just a security concern — it's an operational risk.&lt;/p&gt;

&lt;p&gt;Veeam regularly releases compatibility updates for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;New VMware vSphere builds&lt;/li&gt;
&lt;li&gt;Hyper-V releases&lt;/li&gt;
&lt;li&gt;Windows Server versions&lt;/li&gt;
&lt;li&gt;Storage array firmware&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Without these updates, &lt;strong&gt;your backup jobs may begin failing silently&lt;/strong&gt; as your hypervisor or storage infrastructure is updated separately.&lt;/p&gt;

&lt;p&gt;Veeam 11 was never updated to support VMware vSphere 8 U3 or later. If your vSphere environment has been updated since Veeam 11's EOL date, you may be operating with an officially unsupported hypervisor/backup combination — one that could fail during a restore when you need it most.&lt;/p&gt;




&lt;h2&gt;
  
  
  Compliance Implications
&lt;/h2&gt;

&lt;p&gt;Backup software occupies a unique position in compliance frameworks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;SOC 2&lt;/strong&gt; — backup integrity and recovery capability are tested controls&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ISO 27001&lt;/strong&gt; — backup procedures and their testing are explicit requirements (Annex A.8.13)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PCI DSS&lt;/strong&gt; — backup systems are in scope for security requirements&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Running EOL backup software generates findings under all three. Auditors are increasingly aware that EOL software means unpatched CVEs — and when that software controls your disaster recovery capability, the severity of the finding is elevated.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Document your Veeam version, its EOL date, and your upgrade timeline before your next audit. Auditors expect to see this tracked — not discovered during the audit.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What Changed in Veeam 12.1
&lt;/h2&gt;

&lt;p&gt;Veeam 12.1 (December 2023) added:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Malware detection&lt;/strong&gt; using inline entropy analysis and YARA rules&lt;/li&gt;
&lt;li&gt;Expanded cloud integration (S3-compatible object storage)&lt;/li&gt;
&lt;li&gt;Improved Linux proxy support&lt;/li&gt;
&lt;li&gt;SureBackup improvements for automated recovery verification&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is the only fully supported release in the v12 family.&lt;/p&gt;




&lt;h2&gt;
  
  
  Upgrade Path: Veeam In-Place Upgrade
&lt;/h2&gt;

&lt;p&gt;Veeam supports direct in-place upgrades between major versions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pre-upgrade checklist:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Ensure all jobs complete or are stopped&lt;/li&gt;
&lt;li&gt;Verify SQL Server version — Veeam 12.1 requires SQL Server 2014 SP2 or later&lt;/li&gt;
&lt;li&gt;Confirm all proxy and repository servers are online&lt;/li&gt;
&lt;li&gt;Check OS compatibility — Windows Server 2012 R2 is not supported for the VBR server in v12.1&lt;/li&gt;
&lt;li&gt;Run the Veeam Upgrade Checker before proceeding&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;After the upgrade: always run SureBackup to verify backup recoverability.&lt;/strong&gt; A successful Veeam upgrade is not a confirmed working backup. A successful restore is.&lt;/p&gt;




&lt;h2&gt;
  
  
  Check What You're Protecting Too
&lt;/h2&gt;

&lt;p&gt;Veeam protects your Windows Server, VMware, and Linux workloads — but those workloads have their own EOL dates. Check the EOL status of the systems in your backup scope at &lt;a href="https://endoflife.ai/checker" rel="noopener noreferrer"&gt;endoflife.ai/checker&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Full article with EOL Risk Scores for every Veeam version: &lt;a href="https://endoflife.ai/article-veeam-eol" rel="noopener noreferrer"&gt;endoflife.ai/article-veeam-eol&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>devops</category>
      <category>sysadmin</category>
      <category>backup</category>
    </item>
    <item>
      <title>Apache Tomcat End of Life: Tomcat 9 is EOL — Migration Guide to Tomcat 10/11</title>
      <dc:creator>endoflife-ai</dc:creator>
      <pubDate>Sat, 30 May 2026 05:21:04 +0000</pubDate>
      <link>https://dev.to/endoflifeai/apache-tomcat-end-of-life-tomcat-9-is-eol-migration-guide-to-tomcat-1011-5hk6</link>
      <guid>https://dev.to/endoflifeai/apache-tomcat-end-of-life-tomcat-9-is-eol-migration-guide-to-tomcat-1011-5hk6</guid>
      <description>&lt;p&gt;Apache Tomcat 9 reached &lt;strong&gt;end of life on December 31, 2025&lt;/strong&gt;. No more security patches. No more CVE fixes. Every vulnerability disclosed from January 1, 2026 onward is permanently unpatched on Tomcat 9.&lt;/p&gt;

&lt;p&gt;And yet — tens of thousands of production servers are still running it today.&lt;/p&gt;

&lt;p&gt;This isn't negligence. There's a specific technical reason teams stay stuck, and it's worth understanding before you plan your migration.&lt;/p&gt;




&lt;h2&gt;
  
  
  Complete Tomcat EOL Schedule
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Version&lt;/th&gt;
&lt;th&gt;Servlet Spec&lt;/th&gt;
&lt;th&gt;End of Life&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Tomcat 7&lt;/td&gt;
&lt;td&gt;3.0&lt;/td&gt;
&lt;td&gt;Mar 31, 2021&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tomcat 8.5&lt;/td&gt;
&lt;td&gt;3.1&lt;/td&gt;
&lt;td&gt;Mar 31, 2024&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Tomcat 9&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;4.0&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Dec 31, 2025&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;❌ EOL&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tomcat 10.1&lt;/td&gt;
&lt;td&gt;6.0 (Jakarta)&lt;/td&gt;
&lt;td&gt;Dec 31, 2026&lt;/td&gt;
&lt;td&gt;⚠️ Warning&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tomcat 11&lt;/td&gt;
&lt;td&gt;6.1 (Jakarta)&lt;/td&gt;
&lt;td&gt;TBD&lt;/td&gt;
&lt;td&gt;✅ Supported&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Why Tomcat 9 is the Stickiest EOL Version
&lt;/h2&gt;

&lt;p&gt;Tomcat 9 was the last version to use the &lt;strong&gt;&lt;code&gt;javax.*&lt;/code&gt; namespace&lt;/strong&gt;. Tomcat 10 and later use the &lt;strong&gt;&lt;code&gt;jakarta.*&lt;/code&gt; namespace&lt;/strong&gt; — a breaking change introduced with Jakarta EE 9.&lt;/p&gt;

&lt;p&gt;This means migrating from Tomcat 9 to Tomcat 10+ is &lt;strong&gt;not a drop-in upgrade&lt;/strong&gt;. Every class in your application that imports from &lt;code&gt;javax.servlet&lt;/code&gt; needs to be updated to &lt;code&gt;jakarta.servlet&lt;/code&gt;. For a large application, that's potentially hundreds of files.&lt;/p&gt;

&lt;p&gt;The Apache Tomcat project publishes an official &lt;a href="https://github.com/apache/tomcat-jakartaee-migration" rel="noopener noreferrer"&gt;migration tool&lt;/a&gt; that automates most of this — but the effort is real, and that's why Tomcat 9 outlives its EOL date in so many environments.&lt;/p&gt;




&lt;h2&gt;
  
  
  The CVE Risk of Running EOL Tomcat
&lt;/h2&gt;

&lt;p&gt;Tomcat has a well-documented CVE history: HTTP/2 request smuggling, path traversal vulnerabilities, deserialization issues, session fixation bugs. These are high-severity, real-world exploits — not theoretical risks.&lt;/p&gt;

&lt;p&gt;When Tomcat 9 reached EOL, the Apache project stopped backporting fixes. Any CVE disclosed after December 31, 2025 that affects Tomcat 9 will never receive an official patch.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;EOL Risk Score for Tomcat 9: 82 Critical&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://endoflife.ai/score/tomcat/9" rel="noopener noreferrer"&gt;View full score → endoflife.ai/score/tomcat/9&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Should You Go to Tomcat 10.1 or Tomcat 11?
&lt;/h2&gt;

&lt;p&gt;If you're migrating from Tomcat 9, migrate directly to &lt;strong&gt;Tomcat 11&lt;/strong&gt; rather than 10.1.&lt;/p&gt;

&lt;p&gt;Here's why: the namespace change (&lt;code&gt;javax.*&lt;/code&gt; → &lt;code&gt;jakarta.*&lt;/code&gt;) is the same effort whether you're targeting 10.1 or 11. Tomcat 10.1 reaches EOL December 31, 2026 — less than 18 months away. Tomcat 11 has no defined EOL date. Doing the migration once to reach the longest-supported version is more efficient.&lt;/p&gt;




&lt;h2&gt;
  
  
  Migration Guide: Tomcat 9 → Tomcat 11
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1 — Run the Jakarta EE migration tool
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;java &lt;span class="nt"&gt;-jar&lt;/span&gt; jakartaee-migration-1.0.6-shaded.jar source.war migrated.war
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This rewrites &lt;code&gt;javax.*&lt;/code&gt; imports to &lt;code&gt;jakarta.*&lt;/code&gt; automatically across your WAR or exploded application.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2 — Update your dependencies
&lt;/h3&gt;

&lt;p&gt;Spring Framework 6+, Hibernate 6+, and Jakarta EE 10-compatible libraries are required. Check each dependency's Jakarta EE compatibility before upgrading.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3 — Review your web.xml
&lt;/h3&gt;

&lt;p&gt;Update the XML namespace declarations in &lt;code&gt;web.xml&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="c"&gt;&amp;lt;!-- Old (Tomcat 9) --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;web-app&lt;/span&gt; &lt;span class="na"&gt;xmlns=&lt;/span&gt;&lt;span class="s"&gt;"http://xmlns.jcp.org/xml/ns/javaee"&lt;/span&gt; &lt;span class="na"&gt;version=&lt;/span&gt;&lt;span class="s"&gt;"4.0"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="c"&gt;&amp;lt;!-- New (Tomcat 10/11) --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;web-app&lt;/span&gt; &lt;span class="na"&gt;xmlns=&lt;/span&gt;&lt;span class="s"&gt;"https://jakarta.ee/xml/ns/jakartaee"&lt;/span&gt; &lt;span class="na"&gt;version=&lt;/span&gt;&lt;span class="s"&gt;"6.0"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 4 — Deploy to staging on Tomcat 11 first
&lt;/h3&gt;

&lt;p&gt;Run your full integration test suite on Tomcat 11 before touching production. Pay attention to servlet filters, session listeners, and any code that directly touches &lt;code&gt;HttpServletRequest&lt;/code&gt; or &lt;code&gt;HttpServletResponse&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5 — Update configuration files
&lt;/h3&gt;

&lt;p&gt;Review &lt;code&gt;context.xml&lt;/code&gt; and &lt;code&gt;server.xml&lt;/code&gt; for deprecated settings. Tomcat 11 removed some legacy configuration options that were deprecated in earlier versions.&lt;/p&gt;




&lt;h2&gt;
  
  
  Check Your Full Stack
&lt;/h2&gt;

&lt;p&gt;Tomcat runtime EOL is one layer. If you're running Tomcat on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Java 8 or 11&lt;/strong&gt; → both are past their free-tier OpenJDK support windows&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RHEL 7 or CentOS 7&lt;/strong&gt; → both are EOL as of June 2024&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spring Boot 2.x&lt;/strong&gt; → EOL since November 2023&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Multiple EOL layers compound the CVE exposure. Check your full stack at &lt;a href="https://endoflife.ai/checker" rel="noopener noreferrer"&gt;endoflife.ai/checker&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Full article with EOL Risk Scores for every Tomcat version: &lt;a href="https://endoflife.ai/article-tomcat-eol" rel="noopener noreferrer"&gt;endoflife.ai/article-tomcat-eol&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>security</category>
      <category>devops</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Cisco IOS XE End of Life Dates: Full Version EOL &amp; EoS Guide (17.x)</title>
      <dc:creator>endoflife-ai</dc:creator>
      <pubDate>Thu, 28 May 2026 04:50:28 +0000</pubDate>
      <link>https://dev.to/endoflifeai/cisco-ios-xe-end-of-life-dates-full-version-eol-eos-guide-17x-5f06</link>
      <guid>https://dev.to/endoflifeai/cisco-ios-xe-end-of-life-dates-full-version-eol-eos-guide-17x-5f06</guid>
      <description>&lt;p&gt;Knowing when your Cisco IOS XE version reaches end of software maintenance is essential for network compliance and vulnerability management. This guide covers the IOS XE lifecycle model, all 17.x release train dates, and how to determine whether your version is still receiving security fixes.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Quick answer:&lt;/strong&gt; IOS XE 17.15.x (Long-Lived) is the current recommended release. IOS XE 17.12.x (Long-Lived) is in active maintenance. IOS XE 17.9 and earlier have reached or are approaching End of Software Maintenance.&lt;/p&gt;

&lt;p&gt;⚠️ Always verify dates against official &lt;a href="https://www.cisco.com/c/en/us/products/eos-eol-listing.html" rel="noopener noreferrer"&gt;Cisco EoL product bulletins&lt;/a&gt; — this guide uses Cisco's standard release cadence for approximate dates where official bulletins are not yet published.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Understanding the Cisco IOS XE Release Model
&lt;/h2&gt;

&lt;p&gt;Cisco IOS XE uses a two-track release model:&lt;/p&gt;

&lt;h3&gt;
  
  
  Standard Maintenance (SM) Releases
&lt;/h3&gt;

&lt;p&gt;Ship approximately every 6 months. Receive roughly &lt;strong&gt;12 months&lt;/strong&gt; of software maintenance. Good for environments that want latest features. Examples: 17.3, 17.6, 17.9.&lt;/p&gt;

&lt;h3&gt;
  
  
  Long-Lived (LL) Releases
&lt;/h3&gt;

&lt;p&gt;Designated for stable production deployments. Receive approximately &lt;strong&gt;36 months&lt;/strong&gt; of software maintenance — 3× the Standard window. &lt;strong&gt;Recommended for enterprise production networks.&lt;/strong&gt; Examples: 17.3 LL, 17.6 LL, 17.9 LL, 17.12 LL, 17.15 LL.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠️ Cisco issues separate EoL bulletins for Standard vs. Long-Lived releases within the same version train. A 17.9 Standard release has an earlier end of maintenance date than 17.9 LL.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Cisco IOS XE 17.x Release Train — EOL Overview
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;IOS XE Release&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;First Released&lt;/th&gt;
&lt;th&gt;End of SW Maintenance&lt;/th&gt;
&lt;th&gt;End of Support&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;17.15.x&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Long-Lived&lt;/td&gt;
&lt;td&gt;~Q3 2025&lt;/td&gt;
&lt;td&gt;~Q3 2028&lt;/td&gt;
&lt;td&gt;~Q3 2030&lt;/td&gt;
&lt;td&gt;✅ Current LL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;17.14.x&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Standard&lt;/td&gt;
&lt;td&gt;~Q1 2025&lt;/td&gt;
&lt;td&gt;~Q1 2026&lt;/td&gt;
&lt;td&gt;~Q1 2028&lt;/td&gt;
&lt;td&gt;✅ Active&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;17.13.x&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Standard&lt;/td&gt;
&lt;td&gt;~Q3 2024&lt;/td&gt;
&lt;td&gt;~Q3 2025&lt;/td&gt;
&lt;td&gt;~Q3 2027&lt;/td&gt;
&lt;td&gt;🟡 Maintenance&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;17.12.x&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Long-Lived&lt;/td&gt;
&lt;td&gt;Mar 2024&lt;/td&gt;
&lt;td&gt;~Mar 2027&lt;/td&gt;
&lt;td&gt;~Mar 2029&lt;/td&gt;
&lt;td&gt;✅ LL – Active&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17.11.x&lt;/td&gt;
&lt;td&gt;Standard&lt;/td&gt;
&lt;td&gt;~Q3 2023&lt;/td&gt;
&lt;td&gt;~Q3 2024&lt;/td&gt;
&lt;td&gt;~Q3 2026&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17.10.x&lt;/td&gt;
&lt;td&gt;Standard&lt;/td&gt;
&lt;td&gt;~Q1 2023&lt;/td&gt;
&lt;td&gt;~Q1 2024&lt;/td&gt;
&lt;td&gt;~Q1 2026&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;17.9.x&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Long-Lived&lt;/td&gt;
&lt;td&gt;Aug 2022&lt;/td&gt;
&lt;td&gt;Aug 2025&lt;/td&gt;
&lt;td&gt;Aug 2027&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17.8.x&lt;/td&gt;
&lt;td&gt;Standard&lt;/td&gt;
&lt;td&gt;~Q1 2022&lt;/td&gt;
&lt;td&gt;~Q1 2023&lt;/td&gt;
&lt;td&gt;~Q1 2025&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17.7.x&lt;/td&gt;
&lt;td&gt;Standard&lt;/td&gt;
&lt;td&gt;~Q3 2021&lt;/td&gt;
&lt;td&gt;~Q3 2022&lt;/td&gt;
&lt;td&gt;~Q3 2024&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;17.6.x&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Long-Lived&lt;/td&gt;
&lt;td&gt;Jul 2021&lt;/td&gt;
&lt;td&gt;Jul 2024&lt;/td&gt;
&lt;td&gt;Jul 2026&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17.5.x&lt;/td&gt;
&lt;td&gt;Standard&lt;/td&gt;
&lt;td&gt;~Q1 2021&lt;/td&gt;
&lt;td&gt;~Q1 2022&lt;/td&gt;
&lt;td&gt;~Q1 2024&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17.4.x&lt;/td&gt;
&lt;td&gt;Standard&lt;/td&gt;
&lt;td&gt;~Q3 2020&lt;/td&gt;
&lt;td&gt;~Q3 2021&lt;/td&gt;
&lt;td&gt;~Q3 2023&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;17.3.x&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Long-Lived&lt;/td&gt;
&lt;td&gt;Oct 2020&lt;/td&gt;
&lt;td&gt;Oct 2023&lt;/td&gt;
&lt;td&gt;Oct 2025&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17.2.x&lt;/td&gt;
&lt;td&gt;Standard&lt;/td&gt;
&lt;td&gt;~Q1 2020&lt;/td&gt;
&lt;td&gt;~Q1 2021&lt;/td&gt;
&lt;td&gt;~Q1 2023&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17.1.x&lt;/td&gt;
&lt;td&gt;Standard&lt;/td&gt;
&lt;td&gt;~Q3 2019&lt;/td&gt;
&lt;td&gt;~Q3 2020&lt;/td&gt;
&lt;td&gt;~Q3 2022&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;Dates marked ~ are approximate based on Cisco's standard cadence. Verify against official Cisco EoL bulletins.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Cisco IOS XE 16.x — Legacy Releases
&lt;/h2&gt;

&lt;p&gt;All 16.x releases are end of life.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;IOS XE 16.x Release&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;End of SW Maintenance&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;16.12.x (Fuji)&lt;/td&gt;
&lt;td&gt;Long-Lived&lt;/td&gt;
&lt;td&gt;Jan 2023&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;16.11.x&lt;/td&gt;
&lt;td&gt;Standard&lt;/td&gt;
&lt;td&gt;~Apr 2021&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;16.9.x (Fuji)&lt;/td&gt;
&lt;td&gt;Long-Lived&lt;/td&gt;
&lt;td&gt;Oct 2021&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;16.6.x (Everest)&lt;/td&gt;
&lt;td&gt;Long-Lived&lt;/td&gt;
&lt;td&gt;Jan 2020&lt;/td&gt;
&lt;td&gt;❌ EOL&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Key Release Notes
&lt;/h2&gt;

&lt;h3&gt;
  
  
  IOS XE 17.15 — Current Long-Lived
&lt;/h3&gt;

&lt;p&gt;The current recommended Long-Lived release. Expected maintenance until approximately Q3 2028. Target version for networks being upgraded in the 2025–2026 window. Full support for Catalyst 9000, ISR 4000, and ASR 1000.&lt;/p&gt;

&lt;h3&gt;
  
  
  IOS XE 17.12 — Stable Long-Lived
&lt;/h3&gt;

&lt;p&gt;Widely deployed in enterprise production. First released Q1 2024. End of software maintenance expected approximately March 2027. Solid choice for environments that cannot yet upgrade to 17.15.&lt;/p&gt;

&lt;h3&gt;
  
  
  IOS XE 17.9 — End of Life (August 2025)
&lt;/h3&gt;

&lt;p&gt;One of the most widely deployed enterprise versions. &lt;strong&gt;End of Software Maintenance: August 2025.&lt;/strong&gt; Networks still on 17.9 should upgrade to 17.12 or 17.15.&lt;/p&gt;

&lt;h3&gt;
  
  
  IOS XE 17.6 — End of Life (July 2024)
&lt;/h3&gt;

&lt;p&gt;End of Software Maintenance: July 2024. No longer receiving security patches.&lt;/p&gt;

&lt;h3&gt;
  
  
  IOS XE 17.3 — End of Life (October 2023)
&lt;/h3&gt;

&lt;p&gt;End of Software Maintenance: October 2023. Fully unsupported.&lt;/p&gt;




&lt;h2&gt;
  
  
  Quick Reference: Common Version Queries
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Version String&lt;/th&gt;
&lt;th&gt;Train&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;17.15.x&lt;/td&gt;
&lt;td&gt;17.15&lt;/td&gt;
&lt;td&gt;Long-Lived&lt;/td&gt;
&lt;td&gt;✅ In Maintenance (~2028)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17.12.x&lt;/td&gt;
&lt;td&gt;17.12&lt;/td&gt;
&lt;td&gt;Long-Lived&lt;/td&gt;
&lt;td&gt;✅ In Maintenance (~2027)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17.9.x&lt;/td&gt;
&lt;td&gt;17.9&lt;/td&gt;
&lt;td&gt;Long-Lived&lt;/td&gt;
&lt;td&gt;❌ EOL – Aug 2025&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17.6.x&lt;/td&gt;
&lt;td&gt;17.6&lt;/td&gt;
&lt;td&gt;Long-Lived&lt;/td&gt;
&lt;td&gt;❌ EOL – Jul 2024&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17.3.x&lt;/td&gt;
&lt;td&gt;17.3&lt;/td&gt;
&lt;td&gt;Long-Lived&lt;/td&gt;
&lt;td&gt;❌ EOL – Oct 2023&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;16.12.x&lt;/td&gt;
&lt;td&gt;16.12&lt;/td&gt;
&lt;td&gt;Long-Lived&lt;/td&gt;
&lt;td&gt;❌ EOL – Jan 2023&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Platforms Running Cisco IOS XE
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Catalyst 9000 Series&lt;/strong&gt; — 9200, 9300, 9400, 9500, 9600, 9800 (wireless)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ISR 4000 Series&lt;/strong&gt; — 4221, 4321, 4331, 4351, 4431, 4451, 4461&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ASR 1000 Series&lt;/strong&gt; — 1001-X, 1001-HX, 1002-X, 1002-HX, 1004, 1006-X&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CSR 1000V / Catalyst 8000V&lt;/strong&gt; — virtual router platforms&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Catalyst 8000 Edge&lt;/strong&gt; — 8200, 8300, 8500&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  How to Check Your IOS XE Version
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cisco_ios"&gt;&lt;code&gt;&lt;span class="k"&gt;Router#&lt;/span&gt; show version
&lt;span class="k"&gt;Cisco&lt;/span&gt; IOS XE Software, Version 17.12.04

&lt;span class="k"&gt;Router#&lt;/span&gt; show version | include IOS XE
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  How to Upgrade (Catalyst 9000 Install Method)
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cisco_ios"&gt;&lt;code&gt;&lt;span class="k"&gt;# Download&lt;/span&gt; image to flash
&lt;span class="k"&gt;copy&lt;/span&gt; tftp://server/cat9k_iosxe.17.12.04.SPA.bin flash:

&lt;span class="k"&gt;# Install&lt;/span&gt;
&lt;span class="k"&gt;install&lt;/span&gt; add file flash:cat9k_iosxe.17.12.04.SPA.bin
&lt;span class="k"&gt;install&lt;/span&gt; activate
&lt;span class="k"&gt;install&lt;/span&gt; commit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What is IOS XE 17.12 end of life?&lt;/strong&gt;&lt;br&gt;
Long-Lived release. End of Software Maintenance approximately March 2027. Verify at cisco.com.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is IOS XE 17.9 still supported?&lt;/strong&gt;&lt;br&gt;
No. End of Software Maintenance was August 2025. Upgrade to 17.12 or 17.15.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is the difference between EoS and EoL for Cisco?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;End of Sale (EoS):&lt;/strong&gt; Product can no longer be purchased&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;End of Software Maintenance:&lt;/strong&gt; No new software releases or patches&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;End of Vulnerability Support:&lt;/strong&gt; No more CVE patches&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;End of Support (EoL):&lt;/strong&gt; All support ends, including TAC&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For software releases, &lt;strong&gt;End of Software Maintenance&lt;/strong&gt; is the critical milestone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What happened to Cisco IOS 15.x (Classic)?&lt;/strong&gt;&lt;br&gt;
All 15.x releases have reached end of life. Classic IOS 15.1 EOL was January 2023. Plan hardware refreshes to IOS XE-based platforms.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Live version data: &lt;a href="https://endoflife.ai/cisco-ios-xe" rel="noopener noreferrer"&gt;endoflife.ai/cisco-ios-xe&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>networking</category>
      <category>cisco</category>
      <category>security</category>
      <category>sysadmin</category>
    </item>
  </channel>
</rss>
