1 Upgrading to Rails 8.0
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 7.2 in case you haven't and make sure your application still runs as expected before attempting an update to Rails 8.0. 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
Remove deprecated
config.read_encrypted_secrets
.Remove deprecated file
rails/console/app
.Remove deprecated file
rails/console/helpers
.Remove deprecated support to extend Rails console through
Rails::ConsoleMethods
.
3.2 Deprecations
3.3 Notable changes
- Set
Regexp.timeout
to1
s by default to improve security over Regexp Denial-of-Service attacks.
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
Rails.application.config.action_controller.allow_deprecated_parameters_hash_equality
.
5.2 Deprecations
5.3 Notable changes
6 Action View
Please refer to the Changelog for detailed changes.
6.1 Removals
Remove deprecated support to passing
nil
to themodel:
argument ofform_with
.Remove deprecated support to passing a content to void tag elements on the
tag
builder.
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
config.active_record.commit_transaction_on_non_local_return
.Remove deprecated
config.active_record.allow_deprecated_singular_associations_name
.Remove deprecated support to finding database adapters that aren't registered to Active Record.
Remove deprecated support for defining
enum
with keyword arguments.Remove deprecated
config.active_record.warn_on_records_fetched_greater_than
.Remove deprecated
config.active_record.sqlite3_deprecated_warning
.Remove deprecated
ActiveRecord::ConnectionAdapters::ConnectionPool#connection
.Remove deprecated support to passing a database name to
cache_dump_filename
.Remove deprecated support to setting
ENV["SCHEMA_CACHE"]
.
8.2 Deprecations
8.3 Notable changes
9 Active Storage
Please refer to the Changelog for detailed changes.
9.1 Removals
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
Remove deprecated
ActiveSupport::ProxyObject
.Remove deprecated support to setting
attr_internal_naming_format
with a@
prefix.Remove deprecated support to passing an array of strings to
ActiveSupport::Deprecation#warn
.
11.2 Deprecations
11.3 Notable changes
12 Active Job
Please refer to the Changelog for detailed changes.
12.1 Removals
- Remove deprecated
config.active_job.use_big_decimal_serializer
.
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.