Rails-6

Rails conforms to destroy_association_async_job config when destroying asynchronously

Rails no longer ignores the configuration option destroy_association_async_job when destroying objects with destroy_async option.

Rails now serves files via proxy

Rails 6.1 has added support to ActiveStorage that serves files via proxying.

Rails form_with now defaults to non-remote forms

Rails form generation helper, "form_with" defaulted to remote forms previously. This would confuse beginners who would expect an HTML response to be rendered. Now, you can configure the default response type.

Rails 6.1 adds support for role switching and sharding in database

Rails 6.1 has added support for switching connections for one database instead of all databases

Rails 6.1 allows attribute's default to be configured but keeping its type

With Rails 6.1, we can set attribute's default value by keeping the type same

Rails support bulk insert/upsert on relation

Rails 6.1 has added support for bulk insert/upsert on relation to preserve scope values.

Rails ActionController::Parameters each_pair and each_value returns an enumerator.

Rails ActionController::Parameters each_pair and each_value now returns an enumerator when provided without a block.

Rails 6.1 adds support for signed ids to Active Record

Rails 6.1 added support for signed ids which are a tamper-proof way of identifying a bearer

Rails 6 adds ActiveJob::TestCase#perform_enqueued_jobs without a block

With Rails 6, we can use ActiveJob::TestCase#perform_enqueued_jobs without a block to perform jobs in tests

Rails 6.1 adds rescue_from to ActionCable::Connection::Base

The `rescue_from` on ActionCable::Connection::Base allows us to intercept unhandled exceptions