Latest Stable
4.0.5
Released 20 May 2026
(6 days ago)
Software
Ruby
IntroductionRuby is a dynamic, open-source, object-oriented programming language known for its elegant syntax and developer happiness. Created by Yukihiro “Matz” Matsumoto in 1995, it emphasizes simplicity and productivity. Ruby is famous for the Ruby on Rails framework, but is also used for web development, scripting, automation, data processing, and DevOps tools. Its clean, readable code makes it enjoyable to write and maintain.
Designed byYukihiro Matsumoto
Operating systemCross-platform
Repositoryhttps://github.com/ruby/ruby
Websitehttps://www.ruby-lang.org
Security policyhttps://www.ruby-lang.org/en/security/
LATEST RELEASES:
4.0.5 20 May 2026 (6 days ago)
4.0.4 11 May 2026 (15 days ago)
4.0.3 21 Apr 2026 (1 month ago)
3.2.11 27 Mar 2026 (1 month ago)
3.3.11 26 Mar 2026 (2 months ago)

All Releases

Ruby support lifecycle 2021 2022 2023 2024 2025 2026 2027 2028 4.0 Version: 4.0 Status: Supported End of bug fixes: 2025-12-25 to TBD Version: 4.0 Status: Supported End of life: 2026-05-26 to TBD Version: 4.0 Status: Supported End date: TBD + 3.4 Version: 3.4 Status: Supported End of bug fixes: 2024-12-25 to TBD Version: 3.4 Status: Supported End of life: 2026-05-26 to TBD Version: 3.4 Status: Supported End date: TBD + 3.3 Version: 3.3 Status: EOL End of bug fixes: 2023-12-25 to 2026-04-01 Version: 3.3 Status: Supported End of life: 2026-04-01 to 2027-03-31 3.2 Version: 3.2 Status: EOL End of bug fixes: 2022-12-25 to 2025-04-01 Version: 3.2 Status: EOL End of life: 2025-04-01 to 2026-03-31 3.1 Version: 3.1 Status: EOL End of bug fixes: 2021-12-25 to 2024-04-01 Version: 3.1 Status: EOL End of life: 2024-04-01 to 2025-03-31 Today: 2026-05-26 Today End of bug fixes End of life + Ongoing (TBD)
VersionStatusInitial releaseLatest releaseEnd of bug fixesEnd of life
4.0
Supported
4.0.0
25 Dec 2025
(5 months ago)
4.0.5
20 May 2026
(6 days ago)
TBD
(Supported)
TBD
(Supported)
3.4
Supported
3.4.0
25 Dec 2024
(1 year ago)
3.4.9
11 Mar 2026
(2 months ago)
TBD
(Supported)
TBD
(Supported)
3.3
Supported
3.3.0
25 Dec 2023
(2 years ago)
3.3.11
26 Mar 2026
(2 months ago)
01 Apr 2026
(Ended 1 month ago)
31 Mar 2027
(Ends in 10 months)
3.2
End of life
3.2.0
25 Dec 2022
(3 years ago)
3.2.11
27 Mar 2026
(1 month ago)
01 Apr 2025
(Ended 1 year, 1 month ago)
31 Mar 2026
(Ended 1 month ago)
3.1
End of life
3.1.0
25 Dec 2021
(4 years ago)
3.1.7
26 Mar 2025
(1 year ago)
01 Apr 2024
(Ended 2 years, 1 month ago)
31 Mar 2025
(Ended 1 year, 1 month ago)
3.0
End of life
3.0.0
25 Dec 2020
(5 years ago)
3.0.7
23 Apr 2024
(2 years ago)
01 Apr 2023
(Ended 3 years, 1 month ago)
31 Mar 2024
(Ended 2 years, 1 month ago)
2.7
End of life
2.7.0
25 Dec 2019
(6 years ago)
2.7.8
30 Mar 2023
(3 years ago)
01 Apr 2022
(Ended 4 years, 1 month ago)
31 Mar 2023
(Ended 3 years, 1 month ago)
2.6
End of life
2.6.0
25 Dec 2018
(7 years ago)
2.6.10
12 Apr 2022
(4 years ago)
01 Apr 2021
(Ended 5 years, 1 month ago)
12 Apr 2022
(Ended 4 years, 1 month ago)
2.5
End of life
2.5.0
25 Dec 2017
(8 years ago)
2.5.9
05 Apr 2021
(5 years ago)
01 Apr 2020
(Ended 6 years, 1 month ago)
05 Apr 2021
(Ended 5 years, 1 month ago)
2.4
End of life
2.4.0
25 Dec 2016
(9 years ago)
2.4.10
31 Mar 2020
(6 years ago)
01 Apr 2019
(Ended 7 years, 1 month ago)
31 Mar 2020
(Ended 6 years, 1 month ago)
2.3
End of life
2.3.0
25 Dec 2015
(10 years ago)
2.3.8
17 Oct 2018
(7 years ago)
28 Mar 2018
(Ended 8 years, 1 month ago)
31 Mar 2019
(Ended 7 years, 1 month ago)
2.2
End of life
2.2.0
25 Dec 2014
(11 years ago)
2.2.10
28 Mar 2018
(8 years ago)
28 Mar 2017
(Ended 9 years, 1 month ago)
31 Mar 2018
(Ended 8 years, 1 month ago)
2.1
End of life
2.1.0
25 Dec 2013
(12 years ago)
2.1.10
01 Apr 2016
(10 years ago)
31 Mar 2016
(Ended 10 years, 1 month ago)
31 Mar 2017
(Ended 9 years, 1 month ago)
2.0
End of life
2.0.0
24 Feb 2013
(13 years ago)
2.0.0-p648
16 Dec 2015
(10 years ago)
24 Feb 2016
(Ended 10 years, 3 months ago)
24 Feb 2016
(Ended 10 years, 3 months ago)
1.9
End of life
1.9.0
25 Dec 2007
(18 years ago)
1.9.3-p551
13 Nov 2014
(11 years ago)
24 Feb 2014
(Ended 12 years, 3 months ago)
23 Feb 2015
(Ended 11 years, 3 months ago)
1.8
End of life
1.8.0
04 Aug 2003
(22 years ago)
1.8.7-p374
27 Jun 2013
(12 years ago)
TBDTBD
1.6
End of life
1.6.7
01 Mar 2002
(24 years ago)
1.6.7
01 Mar 2002
(24 years ago)
TBDTBD

Ruby Lifecycle & End of Life (EOL) Policy

Ruby maintains a clear three-phase support model for every version branch. Branches begin in normal maintenance, where the ruby-core team provides both general bug fixes and security updates. This phase keeps the language reliable for everyday development and production environments.

After normal maintenance ends, a branch moves into security maintenance. During this stage only critical security fixes are backported and released. No general bug fixes are applied anymore. The final phase is end of life, when the branch is no longer supported by the ruby-core team in any way.

This structure gives teams a predictable path to stay current while protecting applications from the most serious risks for as long as possible. It encourages timely upgrades without forcing sudden changes to stable codebases.

Phase What You Receive
Normal Maintenance General bug fixes and security fixes
Security Maintenance Security fixes only
End of Life No updates or official support

Risks of Using End-of-Life (EOL) Versions

Continuing with an End-of-Life Ruby version exposes projects to several practical risks. Without any security updates, newly discovered vulnerabilities stay open indefinitely, increasing the chance of exploits in your applications or infrastructure.

Official bug fixes also stop completely, so performance or stability problems that appear later must be handled internally without help from the ruby-core team. Many popular gems and libraries eventually drop support for EOL branches, which can break dependencies and cause unexpected failures during routine updates elsewhere in your stack.

Teams working in regulated industries often run into compliance issues because security standards typically require the core language runtime to remain under active maintenance. The longer an EOL version stays in production, the higher the maintenance effort and overall operational risk become.

Risk Potential Impact
Unpatched security vulnerabilities Higher chance of attacks or data issues
No official bug fixes Persistent problems and longer downtime
Gem and library incompatibility Broken builds or runtime errors
Compliance gaps Audit failures or regulatory concerns

What Happens After Ruby Reaches EOL

Once a Ruby branch reaches End of Life, all official maintenance stops. The ruby-core team no longer releases any fixes, security patches, or patch versions for that branch.

Your existing applications will continue to run exactly as they did before. However, you take full responsibility for monitoring and addressing any future security concerns or defects that arise. Community forums remain available for discussion, but no guaranteed assistance or compatibility testing comes from the official project.

Most development teams treat the EOL milestone as a firm deadline and complete their upgrade to a supported branch well in advance. This keeps code secure, maintainable, and aligned with the active Ruby ecosystem.

FAQ

Q1: What are the three support phases for Ruby branches?
Ruby uses normal maintenance for general bug fixes and security fixes, security maintenance for critical security fixes only, and end of life when no support is provided.

Q2: What does End of Life mean for a Ruby branch?
EOL means the branch is no longer supported by the ruby-core team and will receive no further fixes or patch releases.

Q3: Can I keep running Ruby after it reaches EOL?
Yes, the interpreter will still execute your code, but you lose all official updates and support.

Q4: Are security patches still available after EOL?
No. After a branch reaches End of Life, no security patches or any other updates are released.

Q5: How can I stay ahead of Ruby EOL dates?
Maintain an accurate inventory of your Ruby versions and plan upgrades while the branch is still in security maintenance.

Tracking & Monitoring Ruby EOL Dates

Strong tracking starts with a complete inventory of every Ruby installation across development, testing, staging, and production environments. Many teams keep this information in a central dashboard or configuration management system for quick reference.

Perform regular reviews, such as quarterly checks, to identify branches approaching the end of normal or security maintenance. Set up automated alerts in your monitoring tools so the right people receive early warnings when support time is running low.

Include EOL awareness in your architecture and upgrade planning process. By treating support phases as scheduled milestones, organizations can migrate smoothly and maintain a secure, fully supported Ruby environment.

How To Check Your Ruby Version

Confirming the exact Ruby version you are running is quick and should be part of regular maintenance. Open your terminal and run one of the following commands.

ruby --version

ruby -v

These commands display the full version string including the major, minor, and patch levels. Inside a Ruby script or application, you can also retrieve the version programmatically.

puts RUBY_VERSION
puts RUBY_DESCRIPTION

Run these checks across all servers, containers, and developer machines to keep your version inventory accurate and catch any outdated installations before they approach End of Life.