More at rubyonrails.org:

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 to 1s 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 the model: argument of form_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.



Back to top