Skip to content

Commit

Permalink
Bump the required Ruby version to 3.1.0
Browse files Browse the repository at this point in the history
Until now, Rails only droped compatibility with older
rubies on new majors, but I propose to change this policy
because it causes us to either keep compatibility with long
EOLed rubies or to bump the Rails major more often, and to
drop multiple Ruby versions at once when we bump the major.

In my opinion it's a bad alignments of incentives. And we'd
be much better to just drop support in new minors whenever they
go EOL (so 3 years).

Also Ruby being an upstream dependency, it's not even
a semver violation AFAICT.

Since Rails 7.2 isn't planned before a few months, we
can already drop Ruby 3.0 as it will be EOL in March.
  • Loading branch information
byroot committed Dec 31, 2023
1 parent c061e56 commit 6ba2fdb
Show file tree
Hide file tree
Showing 14 changed files with 14 additions and 14 deletions.
2 changes: 1 addition & 1 deletion actioncable/actioncable.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
s.summary = "WebSocket framework for Rails."
s.description = "Structure many real-time application concerns into channels over a single WebSocket connection."

s.required_ruby_version = ">= 2.7.0"
s.required_ruby_version = ">= 3.1.0"

s.license = "MIT"

Expand Down
2 changes: 1 addition & 1 deletion actionmailbox/actionmailbox.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
s.summary = "Inbound email handling framework."
s.description = "Receive and process incoming emails in Rails applications."

s.required_ruby_version = ">= 2.7.0"
s.required_ruby_version = ">= 3.1.0"

s.license = "MIT"

Expand Down
2 changes: 1 addition & 1 deletion actionmailer/actionmailer.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
s.summary = "Email composition and delivery framework (part of Rails)."
s.description = "Email on Rails. Compose, deliver, and test emails using the familiar controller/view pattern. First-class support for multipart email and attachments."

s.required_ruby_version = ">= 2.7.0"
s.required_ruby_version = ">= 3.1.0"

s.license = "MIT"

Expand Down
2 changes: 1 addition & 1 deletion actionpack/actionpack.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
s.summary = "Web-flow and rendering framework putting the VC in MVC (part of Rails)."
s.description = "Web apps on Rails. Simple, battle-tested conventions for building and testing MVC web applications. Works with any Rack-compatible server."

s.required_ruby_version = ">= 2.7.0"
s.required_ruby_version = ">= 3.1.0"

s.license = "MIT"

Expand Down
2 changes: 1 addition & 1 deletion actiontext/actiontext.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
s.summary = "Rich text framework."
s.description = "Edit and display rich text in Rails applications."

s.required_ruby_version = ">= 2.7.0"
s.required_ruby_version = ">= 3.1.0"

s.license = "MIT"

Expand Down
2 changes: 1 addition & 1 deletion actionview/actionview.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
s.summary = "Rendering framework putting the V in MVC (part of Rails)."
s.description = "Simple, battle-tested conventions and helpers for building web pages."

s.required_ruby_version = ">= 2.7.0"
s.required_ruby_version = ">= 3.1.0"

s.license = "MIT"

Expand Down
2 changes: 1 addition & 1 deletion activejob/activejob.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
s.summary = "Job framework with pluggable queues."
s.description = "Declare job classes that can be run by a variety of queuing backends."

s.required_ruby_version = ">= 2.7.0"
s.required_ruby_version = ">= 3.1.0"

s.license = "MIT"

Expand Down
2 changes: 1 addition & 1 deletion activemodel/activemodel.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
s.summary = "A toolkit for building modeling frameworks (part of Rails)."
s.description = "A toolkit for building modeling frameworks like Active Record. Rich support for attributes, callbacks, validations, serialization, internationalization, and testing."

s.required_ruby_version = ">= 2.7.0"
s.required_ruby_version = ">= 3.1.0"

s.license = "MIT"

Expand Down
2 changes: 1 addition & 1 deletion activerecord/activerecord.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
s.summary = "Object-relational mapper framework (part of Rails)."
s.description = "Databases on Rails. Build a persistent domain model by mapping database tables to Ruby classes. Strong conventions for associations, validations, aggregations, migrations, and testing come baked-in."

s.required_ruby_version = ">= 2.7.0"
s.required_ruby_version = ">= 3.1.0"

s.license = "MIT"

Expand Down
2 changes: 1 addition & 1 deletion activestorage/activestorage.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
s.summary = "Local and cloud file storage framework."
s.description = "Attach cloud and local files in Rails applications."

s.required_ruby_version = ">= 2.7.0"
s.required_ruby_version = ">= 3.1.0"

s.license = "MIT"

Expand Down
2 changes: 1 addition & 1 deletion activesupport/activesupport.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
s.summary = "A toolkit of support libraries and Ruby core extensions extracted from the Rails framework."
s.description = "A toolkit of support libraries and Ruby core extensions extracted from the Rails framework. Rich support for multibyte strings, internationalization, time zones, and testing."

s.required_ruby_version = ">= 2.7.0"
s.required_ruby_version = ">= 3.1.0"

s.license = "MIT"

Expand Down
2 changes: 1 addition & 1 deletion rails.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
s.summary = "Full-stack web application framework."
s.description = "Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity. It encourages beautiful code by favoring convention over configuration."

s.required_ruby_version = ">= 2.7.0"
s.required_ruby_version = ">= 3.1.0"
s.required_rubygems_version = ">= 1.8.11"

s.license = "MIT"
Expand Down
2 changes: 1 addition & 1 deletion railties/railties.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
s.summary = "Tools for creating, working with, and running Rails applications."
s.description = "Rails internals: application bootup, plugins, generators, and rake tasks."

s.required_ruby_version = ">= 2.7.0"
s.required_ruby_version = ">= 3.1.0"

s.license = "MIT"

Expand Down
2 changes: 1 addition & 1 deletion tools/rail_inspector/rail_inspector.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
spec.summary = "A collection of linters for rails/rails"
spec.homepage = "https://github.com/skipkayhil/rail_inspector"
spec.license = "MIT"
spec.required_ruby_version = ">= 2.7.0"
spec.required_ruby_version = ">= 3.1.0"

spec.metadata["homepage_uri"] = spec.homepage
spec.metadata["source_code_uri"] = spec.homepage
Expand Down

0 comments on commit 6ba2fdb

Please sign in to comment.