{
  "version": 1,
  "generated": "2026-08-29",
  "notesUpdated": "2026-08-29",
  "source": {
    "dates": {
      "name": "endoflife.date",
      "url": "https://endoflife.date",
      "license": "MIT",
      "note": "Dates and version facts. Product descriptions from that source are CC BY-SA and are not reproduced here."
    },
    "consequences": {
      "name": "bumbletap.com",
      "url": "https://bumbletap.com/eol",
      "license": "CC BY 4.0",
      "note": "The `consequence` field is original editorial. Reuse with attribution."
    }
  },
  "upcoming": [
    {
      "product": "openssl",
      "productLabel": "OpenSSL",
      "cycle": "3.0",
      "eol": "2026-09-07",
      "isEol": false,
      "isLts": true,
      "latest": "3.0.22",
      "latestDate": "2026-08-25",
      "consequence": "The long-term-support branch most distros pinned to; after this the OpenSSL project ships it no further fixes, so anything vendoring or statically linking 3.0 inherits every later CVE.",
      "page": "https://bumbletap.com/eol/openssl-3-0"
    },
    {
      "product": "eclipse-temurin",
      "productLabel": "Eclipse Temurin",
      "cycle": "26",
      "eol": "2026-09-15",
      "isEol": false,
      "isLts": false,
      "latest": "26.0.2.1+1",
      "latestDate": "2026-08-25",
      "consequence": "Temurin stops publishing builds for this release, so CI images and Dockerfiles pinned to JDK 26 quietly stop receiving patches while continuing to build fine.",
      "page": null
    },
    {
      "product": "gitlab",
      "productLabel": "GitLab",
      "cycle": "19.1",
      "eol": "2026-09-17",
      "isEol": false,
      "isLts": false,
      "latest": "19.1.7",
      "latestDate": "2026-08-25",
      "consequence": "GitLab backports security fixes only to a short window of recent minors, so a self-hosted instance left here stops receiving them entirely.",
      "page": null
    },
    {
      "product": "gitlab",
      "productLabel": "GitLab",
      "cycle": "19.2",
      "eol": "2026-10-15",
      "isEol": false,
      "isLts": false,
      "latest": "19.2.5",
      "latestDate": "2026-08-25",
      "consequence": "Self-hosted instances stop receiving security backports at this point; GitLab only patches a short window of recent minors.",
      "page": null
    },
    {
      "product": "electron",
      "productLabel": "Electron",
      "cycle": "42",
      "eol": "2026-10-20",
      "isEol": false,
      "isLts": false,
      "latest": "42.10.1",
      "latestDate": "2026-08-25",
      "consequence": "Electron supports only its most recent majors, so an app pinned here ships an increasingly out-of-date Chromium with known browser CVEs inside it.",
      "page": null
    },
    {
      "product": "nextjs",
      "productLabel": "Next.js",
      "cycle": "15",
      "eol": "2026-10-21",
      "isEol": false,
      "isLts": true,
      "latest": "15.5.24",
      "latestDate": "2026-08-25",
      "consequence": "Security patches stop, and the ecosystem moves faster than the framework: plugins and starters begin requiring 16 well before most teams have migrated.",
      "page": null
    },
    {
      "product": "openssl",
      "productLabel": "OpenSSL",
      "cycle": "3.4",
      "eol": "2026-10-22",
      "isEol": false,
      "isLts": false,
      "latest": "3.4.7",
      "latestDate": "2026-08-25",
      "consequence": "A short-lived branch, not an LTS one -- if you pinned to it deliberately you are on a two-year clock that ends here.",
      "page": null
    },
    {
      "product": "kubernetes",
      "productLabel": "Kubernetes",
      "cycle": "1.34",
      "eol": "2026-10-27",
      "isEol": false,
      "isLts": false,
      "latest": "1.34.11",
      "latestDate": "2026-08-20",
      "consequence": "Upstream patch releases stop, and the managed providers are the real deadline -- EKS, GKE and AKS force-upgrade clusters past their supported window, several of them charging extended-support rates first.",
      "page": null
    },
    {
      "product": "python",
      "productLabel": "Python",
      "cycle": "3.10",
      "eol": "2026-10-31",
      "isEol": false,
      "isLts": false,
      "latest": "3.10.21",
      "latestDate": "2026-08-13",
      "consequence": "python.org stops shipping security fixes. The knock-on is faster than the date suggests: CI base images disappear, and libraries raise their `Requires-Python` floor, so installs start failing on resolution rather than on syntax.",
      "page": "https://bumbletap.com/eol/python-3-10"
    },
    {
      "product": "alpine-linux",
      "productLabel": "Alpine Linux",
      "cycle": "3.21",
      "eol": "2026-11-01",
      "isEol": false,
      "isLts": false,
      "latest": "3.21.7",
      "latestDate": "2026-04-15",
      "consequence": "The branch stops receiving security updates, which means `FROM alpine:3.21` becomes a permanently unpatched base layer in every image built from it.",
      "page": null
    },
    {
      "product": "openssl",
      "productLabel": "OpenSSL",
      "cycle": "3.6",
      "eol": "2026-11-01",
      "isEol": false,
      "isLts": false,
      "latest": "3.6.4",
      "latestDate": "2026-08-25",
      "consequence": "Another non-LTS branch reaching its end; check whether you pinned a minor or are tracking the LTS line.",
      "page": null
    },
    {
      "product": "rails",
      "productLabel": "Ruby on Rails",
      "cycle": "8.0",
      "eol": "2026-11-07",
      "isEol": false,
      "isLts": false,
      "latest": "8.0.5.1",
      "latestDate": "2026-07-29",
      "consequence": "Security backports stop for this series, so an app left here has no supported path to a patch short of upgrading.",
      "page": null
    },
    {
      "product": "dotnet",
      "productLabel": "Microsoft .NET",
      "cycle": "9",
      "eol": "2026-11-10",
      "isEol": false,
      "isLts": false,
      "latest": "9.0.19",
      "latestDate": "2026-08-11",
      "consequence": "Microsoft ends support the same day as .NET 8 -- a Standard Term release expiring alongside the LTS one, which surprises teams who chose 9 for its newer features.",
      "page": null
    },
    {
      "product": "dotnet",
      "productLabel": "Microsoft .NET",
      "cycle": "8",
      "eol": "2026-11-10",
      "isEol": false,
      "isLts": true,
      "latest": "8.0.30",
      "latestDate": "2026-08-11",
      "consequence": "The LTS release most enterprises standardised on ends here, on the same day as .NET 9, leaving .NET 10 as the only supported target.",
      "page": null
    },
    {
      "product": "postgresql",
      "productLabel": "PostgreSQL",
      "cycle": "14",
      "eol": "2026-11-12",
      "isEol": false,
      "isLts": false,
      "latest": "14.24",
      "latestDate": "2026-08-10",
      "consequence": "The final minor release lands and no further security fixes follow. Managed providers force-upgrade after this, and extension authors drop the version from their build matrices.",
      "page": null
    },
    {
      "product": "gitlab",
      "productLabel": "GitLab",
      "cycle": "19.3",
      "eol": "2026-11-19",
      "isEol": false,
      "isLts": false,
      "latest": "19.3.1",
      "latestDate": "2026-08-25",
      "consequence": "The last of three GitLab minors expiring inside a quarter -- if you self-host, the upgrade cadence is the product, not an optional extra.",
      "page": null
    },
    {
      "product": "angular",
      "productLabel": "Angular",
      "cycle": "20",
      "eol": "2026-11-28",
      "isEol": false,
      "isLts": false,
      "latest": "20.3.30",
      "latestDate": "2026-08-26",
      "consequence": "Long-term support ends, so no further security patches -- and Angular's upgrade path punishes skipped majors, so the longer you sit the worse the jump.",
      "page": null
    },
    {
      "product": "redis",
      "productLabel": "Redis",
      "cycle": "8.0",
      "eol": "2026-12-01",
      "isEol": false,
      "isLts": false,
      "latest": "8.0.6",
      "latestDate": "2026-02-22",
      "consequence": "Security fixes stop for this series; check whether your managed provider tracks Redis versions or has quietly moved you to a fork.",
      "page": null
    },
    {
      "product": "docker-engine",
      "productLabel": "Docker Engine",
      "cycle": "25.0",
      "eol": "2026-12-04",
      "isEol": false,
      "isLts": false,
      "latest": "25.0.17",
      "latestDate": "2026-07-14",
      "consequence": "No further patches to the engine itself, which on a host running untrusted workloads is a different risk class from an out-of-date library.",
      "page": null
    },
    {
      "product": "php",
      "productLabel": "PHP",
      "cycle": "8.2",
      "eol": "2026-12-31",
      "isEol": false,
      "isLts": false,
      "latest": "8.2.33",
      "latestDate": "2026-07-30",
      "consequence": "Security support ends, and shared hosts tend to be the enforcement mechanism -- they start refusing the runtime, and Composer constraints rise underneath you.",
      "page": null
    },
    {
      "product": "spring-boot",
      "productLabel": "Spring Boot",
      "cycle": "4.0",
      "eol": "2026-12-31",
      "isEol": false,
      "isLts": false,
      "latest": "4.0.8",
      "latestDate": "2026-08-20",
      "consequence": "Open-source support ends here; continued patches move behind a commercial extended-support agreement.",
      "page": null
    },
    {
      "product": "electron",
      "productLabel": "Electron",
      "cycle": "43",
      "eol": "2027-01-05",
      "isEol": false,
      "isLts": false,
      "latest": "43.4.1",
      "latestDate": "2026-08-19",
      "consequence": "An Electron app is only as patched as the Chromium it bundles, and this release stops receiving those updates.",
      "page": null
    }
  ],
  "recentlyEnded": []
}