1. Upgrading to Rails 8.1
If you're upgrading an existing application, it's a great idea to have good test coverage before going in. You should also first upgrade to Rails 8.0 in case you haven't and make sure your application still runs as expected before attempting an update to Rails 8.1. A list of things to watch out for when upgrading is available in the Upgrading Ruby on Rails guide.
2. Major Features
3. Railties
Please refer to the Changelog for detailed changes.
3.1. Removals
3.2. Deprecations
3.3. Notable changes
4. Action Cable
Please refer to the Changelog for detailed changes.
4.1. Removals
4.2. Deprecations
4.3. Notable changes
5. Action Pack
Please refer to the Changelog for detailed changes.
5.1. Removals
Remove deprecated support to skipping over leading brackets in parameter names in the parameter parser.
Before:
ActionDispatch::ParamBuilder.from_query_string("[foo]=bar") # => { "foo" => "bar" } ActionDispatch::ParamBuilder.from_query_string("[foo][bar]=baz") # => { "foo" => { "bar" => "baz" } }
After:
ActionDispatch::ParamBuilder.from_query_string("[foo]=bar") # => { "[foo]" => "bar" } ActionDispatch::ParamBuilder.from_query_string("[foo][bar]=baz") # => { "[foo]" => { "bar" => "baz" } }
Remove deprecated support for using semicolons as a query string separator.
Before:
ActionDispatch::QueryParser.each_pair("foo=bar;baz=quux").to_a # => [["foo", "bar"], ["baz", "quux"]]
After:
ActionDispatch::QueryParser.each_pair("foo=bar;baz=quux").to_a # => [["foo", "bar;baz=quux"]]
Remove deprecated support to a route to multiple paths.
5.2. Deprecations
- Deprecate
Rails.application.config.action_dispatch.ignore_leading_brackets
.
5.3. Notable changes
6. Action View
Please refer to the Changelog for detailed changes.
6.1. Removals
6.2. Deprecations
6.3. Notable changes
7. Action Mailer
Please refer to the Changelog for detailed changes.
7.1. Removals
7.2. Deprecations
7.3. Notable changes
8. Active Record
Please refer to the Changelog for detailed changes.
8.1. Removals
Remove deprecated
:retries
option for the SQLite3 adapter.Remove deprecated
:unsigned_float
and:unsigned_decimal
column methods for MySQL.
8.2. Deprecations
8.3. Notable changes
9. Active Storage
Please refer to the Changelog for detailed changes.
9.1. Removals
- Remove deprecated
:azure
storage service.
9.2. Deprecations
9.3. Notable changes
10. Active Model
Please refer to the Changelog for detailed changes.
10.1. Removals
10.2. Deprecations
10.3. Notable changes
11. Active Support
Please refer to the Changelog for detailed changes.
11.1. Removals
11.2. Deprecations
11.3. Notable changes
12. Active Job
Please refer to the Changelog for detailed changes.
12.1. Removals
Remove support to set
ActiveJob::Base.enqueue_after_transaction_commit
to:never
,:always
and:default
.Remove deprecated
Rails.application.config.active_job.enqueue_after_transaction_commit
.Remove deprecated internal
SuckerPunch
adapter in favor of the adapter included with thesucker_punch
gem.
12.2. Deprecations
12.3. Notable changes
13. Action Text
Please refer to the Changelog for detailed changes.
13.1. Removals
13.2. Deprecations
13.3. Notable changes
14. Action Mailbox
Please refer to the Changelog for detailed changes.
14.1. Removals
14.2. Deprecations
14.3. Notable changes
15. Ruby on Rails Guides
Please refer to the Changelog for detailed changes.
15.1. Notable changes
16. Credits
See the full list of contributors to Rails for the many people who spent many hours making Rails, the stable and robust framework it is. Kudos to all of them.