Ruby

Current release: 3.3.12, released 16 July 2026.

What it is

Ruby is a general-purpose, high-level programming language best known for expressive syntax and an object-oriented programming model in which nearly everything is an object. It is widely used for web applications, especially through the Ruby on Rails framework, but also supports scripting, automation, command-line tools, APIs, background processing, and infrastructure tooling. Ruby applications commonly run on the reference Ruby implementation, often called CRuby or MRI, and use RubyGems and Bundler to obtain and manage libraries.

History

Ruby was created in Japan with the goal of making programming enjoyable while combining ideas from object-oriented and scripting languages. It gained an international following as its open-source ecosystem matured, then became closely associated with rapid web application development through Rails. Rails popularized conventions for database-backed applications, dependency management, testing, and deployment practices that influenced web development beyond Ruby. Over time, Ruby and its tooling have focused on better performance, stronger concurrency options, security maintenance, and compatibility with modern deployment environments, while its ecosystem has continued to support many long-lived applications.

Migration notes

Migration planning for Ruby often begins with identifying the actual runtime, framework, and dependency constraints rather than treating Ruby as a single interchangeable platform. Applications may depend on native-extension gems that require system compilers, operating-system libraries, specific CPU support, or compatible database and cryptography packages. Older projects can also be constrained by unmaintained gems, legacy Rails conventions, older test frameworks, or dependencies that rely on deprecated language behavior. Moving to a newer Ruby runtime may therefore require coordinated updates to Bundler configuration, gems, framework components, CI images, container base images, and production hosts. Moving away from Ruby can be more involved than translating syntax: Rails applications often embed routing, ORM behavior, migrations, validation, callbacks, background jobs, mail delivery, asset handling, and authorization patterns across the codebase. Preserve database migration history and externally visible API behavior, inventory asynchronous jobs and scheduled tasks, and account for operational dependencies such as Redis, message queues, file storage, and third-party integrations. Dynamic typing and metaprogramming can make static discovery of interfaces, implicit callbacks, and runtime-generated methods difficult, so test coverage, production traffic analysis, and incremental strangler-style migrations are particularly useful.

Release history

3.x

4.x

Version support status

Ruby version support status by cycle
CycleStatusDate
Ruby 4.0SupportedNo support end date published
Ruby 3.4SupportedNo support end date published
Ruby 3.3SupportedNo support end date published
Ruby 3.2End of lifeEOL 31 March 2026
Ruby 3.1End of lifeEOL 26 March 2025
Ruby 3.0End of lifeEOL 23 April 2024
Ruby 2.7End of lifeEOL 31 March 2023
Ruby 2.6End of lifeEOL 31 March 2022
Ruby 2.5End of lifeEOL 31 March 2021
Ruby 2.4End of lifeEOL 31 March 2020