Ruby · Lifecycle Status

Ruby End of Life (EOL) Dates & Support Timeline

Complete end-of-life dates, support windows, and security status for all Ruby versions. Data sourced from endoflife.date and official vendor documentation. Updated at every deploy.

Ruby 4.0.7 is actively supported. Next EOL: version 3.3 on March 31, 2027.

Ruby 4.0 is supported until March 31, 2029, its end-of-support date. The next Ruby version to reach end of life is 3.3, on March 31, 2027. 12 of 15 tracked Ruby versions are past end of life; the most recent to reach it, 3.2, did so on April 1, 2026. The full Ruby lifecycle, with every version's release and end-of-support date, is in the table below.

Running an EOL version? Get matched with support options — free ↓
📅 Get reminded before Ruby 3.3 reaches EOL on March 31, 2027 — alerts 90, 30 & 7 days out.
Google →
✉️ Or get it by email — alerts at 90 / 60 / 30 / 7 days and on the day: Free · one-click unsubscribe in every email · no other mail, ever
Latest Active
4.0.7
4.0 series
Next EOL
3.3
Mar 31, 2027
Active Versions
3
of 15 total
EOL Versions
12
no longer patched
60 / 100
High Risk
EOL Risk Score™  How is this calculated? →
EOL Recency
30/40
Attack Surface
30/30 Critical tier
CISA KEV Exposure
0/20 Not in KEV
Extended Support
0/10 Available
EOL Risk Score™ — proprietary methodology by endoflife.ai. Factors: EOL recency, attack surface breadth, CISA KEV catalog presence, extended support availability. Updated at every build. Methodology →
CPE Identifier
cpe:2.3:a:ruby-lang:ruby
The Common Platform Enumeration name vulnerability scanners and CVE records use for Ruby. Verified against the NIST CPE dictionary. Machine-readable for all products: cpe-map.json
Package URLs (purl)
pkg:alpm/arch/ruby
pkg:brew/ruby
pkg:docker/library/ruby
pkg:generic/ruby
pkg:rpm/fedora/ruby
pkg:rpm/redhat/ruby
pkg:rpm/centos/ruby
The package URL identifiers SBOM tools emit for Ruby, so a CycloneDX or SPDX component resolves to this page by exact identifier rather than by name. Machine-readable for all products: purl-map.json; whole-SBOM checks: POST /v1/sbom or the Stack Scanner.
Release Cycle Timeline
EOL   Warning   Active   Today
Release cycle timeline 2012201320142015201620172018201920202021202220232024202520262027202820291.9.32.0.02.12.22.32.42.52.62.73.03.13.23.33.44.0TODAY
12 versions of Ruby are past end of life — security patches have stopped. Get matched with support →
All Versions
VersionLatest ReleaseRelease DateEOL DateDaysStatus
1.9.3 1.9.3p551 Oct 30, 2011 Feb 23, 2015 4230 days past EOL EOL
2.0.0 2.0.0p648 Feb 24, 2013 Feb 24, 2016 3864 days past EOL EOL
2.1 2.1.10 Dec 25, 2013 Mar 31, 2017 3463 days past EOL EOL
2.2 2.2.10 Dec 25, 2014 Mar 31, 2018 3098 days past EOL EOL
2.3 2.3.8 Dec 24, 2015 Mar 31, 2019 2733 days past EOL EOL
2.4 2.4.10 Dec 23, 2016 Mar 31, 2020 2367 days past EOL EOL
2.5 2.5.9 Dec 25, 2017 Mar 31, 2021 2002 days past EOL EOL
2.6 2.6.10 Dec 25, 2018 Mar 31, 2022 1637 days past EOL EOL
2.7 2.7.8 Dec 25, 2019 Mar 31, 2023 1272 days past EOL EOL
3.0 3.0.7 Dec 25, 2020 Apr 23, 2024 883 days past EOL EOL
3.1 3.1.7 Dec 25, 2021 Mar 26, 2025 546 days past EOL EOL
3.2 3.2.11 Dec 25, 2022 Apr 1, 2026 175 days past EOL EOL
3.3 3.3.12 Dec 25, 2023 Mar 31, 2027 189 days remaining Active
3.4 3.4.10 Dec 24, 2024 Mar 31, 2028 555 days remaining Active
4.0 4.0.7 Dec 25, 2025 Mar 31, 2029 920 days remaining Active
Ruby EOL status badge Live EOL badge for your README — updates automatically at every build. [![Ruby EOL](https://img.shields.io/endpoint?url=https%3A%2F%2Fendoflife.ai%2Fbadge%2Fruby.json)](https://endoflife.ai/ruby)

Ruby release and support pattern

Across the 15 release lines with a published release date, Ruby has shipped a new line roughly every 1 year (median interval). A line typically stays supported for about 3.3 years from its release to its end-of-life date.

Of the 15 release lines tracked, 12 are past end of life and 3 are still within support. The newest line, 4.0, was released December 25, 2025. The next scheduled end of life is 3.3 on March 31, 2027 — 189 days from this build. The longest-supported line currently published is 4.0, to March 31, 2029.

Computed from the tracked release data at every build — the figures above are the dates in the table, restated, not an editorial estimate.

What does Ruby end of life mean for your organization?

When a version of Ruby reaches end of life, the maintainers stop issuing security patches. Vulnerabilities discovered after this date are publicly disclosed on the National Vulnerability Database, exploit code appears on GitHub, and your systems remain permanently exposed.

The CVE blind spot: A CVE-based scan does not show the accumulation of unpatched vulnerabilities in EOL software. Some scanners flag unsupported versions of common products, but coverage varies, and none of them give you the date in advance. With a zero-day, nobody knows about the vulnerability. With EOL software, the vulnerability is public — listed, rated, and often weaponized — but no vendor patch is coming. This is one of the most dangerous gaps in enterprise security posture.

Organizations running EOL Ruby should treat it as a vulnerability class in their risk register, apply compensating controls (network segmentation, enhanced monitoring, access restriction), and prioritize migration to a supported version.

Your options when Ruby reaches end of life

There are four realistic paths. Which one is right depends far more on how long the system needs to keep running than on the version you are on today.

OptionBest whenWatch out for
Move to a supported version The system will outlive the current version's support window and you can schedule the work Budget for compatibility testing, not just the upgrade itself — that is where the real cost sits
Replace the component The project is unmaintained, or a better-supported alternative exists The replacement has its own lifecycle and its own end-of-life date — you are changing vendors, not escaping the problem
Buy extended support Migration is genuinely underway but cannot finish before the deadline, or the workload is frozen by certification or a third-party application A bridge, not a destination — every year purchased is a year the migration still has to happen
Document accepted risk The system is isolated, short-lived, or scheduled for retirement Only defensible with real compensating controls and a written decision — auditors treat undocumented end-of-life software as a finding

How to choose, in one question: how many more years does this system need to run? Under a year, extended support (where it exists) is usually cheaper than an emergency migration. One to three years, migrate — support purchased repeatedly costs more than doing the project once, and the project only gets harder as the version ages. Indefinitely, migrate now and plan the next migration before it surprises you.

Worth saying plainly, because vendors selling extended support rarely will: extended support is often the more expensive choice over a multi-year horizon. It is the right answer when a deadline is genuinely unreachable, not as a default. Compare the annual fee against the one-time cost of migrating before committing to either.

Formalizing decisions like this across your estate? Our free EOL policy template is a ready-to-adopt policy with risk tiers, remediation SLAs, and audit mapping — no signup, free to use and share.

Extended Support Options

If you cannot migrate immediately, extended support vendors provide continued security patches for EOL Ruby versions. This is a bridge, not a permanent solution — plan your migration in parallel.

endoflife.ai
Get Ruby Support Options

Ruby has 12 versions past end of life — security patches have stopped, but CVE disclosures haven't. Extended support past the official date exists for many products in this position — whether it exists for Ruby is exactly what we check. Tell us where to reach you and we'll reply with matched options and pricing guidance — or an honest "no vendor covers this."

Free · No obligation · Independent — we track the dates, vendors don't pay for placement · Dates verified against vendor sources
Frequently Asked Questions
What is the end-of-life date for Ruby?
The next Ruby version reaching EOL is 3.3 on March 31, 2027. See the full table above for all version EOL dates.
When is the Ruby support end date?
The next Ruby support end date is March 31, 2027, when version 3.3 reaches end of support. Each version has its own support end date — see the table above for every version's date.
What is the latest supported version of Ruby?
The latest active version of Ruby is 4.0.7. Always verify against the table above as support windows can change.
What happens when Ruby reaches end of life?
When Ruby reaches end of life, the vendor stops issuing security patches. Any CVEs disclosed after the EOL date accumulate with no vendor patch path — a growing attack surface that a CVE-based scan does not show. Some scanners flag unsupported versions of common products, but coverage varies, and none of them give the date in advance.
How do I check if I'm running an EOL version of Ruby?
Check your current version against the table above. If your version's EOL date has passed, you are running unsupported software. You can also use the endoflife.ai Stack Scanner to check your entire dependency file at once.
Is there extended support available for EOL Ruby versions?
Some vendors offer extended support for EOL software. Contact the original vendor or check with enterprise support providers for options.
Does Ruby track end-of-life by point release (e.g. Ruby 4.0.1, Ruby 4.0.2)?
No — Ruby end-of-life dates apply to the entire 4.0.x release series, not individual point releases. A point release like Ruby 4.0.1 or Ruby 4.0.2 shares the same EOL date as Ruby 4.0. Security patches stop for the entire 4.0.x line on that date, regardless of which patch version you are running. Check the table above for EOL dates by major version series.

Related Products

✓ 12 of 30 lifecycle dates vendor-sourced · provenance · ✓ Cross-checked against official Ruby core team (ruby-lang.org) lifecycle documentation (2026-07-17) — includes vendor-published corrections not yet in upstream data · Upstream dataset: endoflife.date API · endoflife.date · Generated at build time · How we source data →
Ruby end-of-life status badge