More at rubyonrails.org:

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 the sucker_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.



Back to top