Ruby 3.0 - Procs accepting a single rest argument and keyword arguments are no longer subject to autosplattingRuby 3.0 changed the inconsistent behavior for autosplatting, when rest argument and keyword arguments are present for a Proc
Rails 6.1.0.alpha allows relations with different SQL comments and Optimizer hints in "or"ArgumentError used to be thrown when relations with SQL comments and Optimizer hints were combined using or. Rails edge(6.1.0.alpha) fixes that issue.
Rails makes ActiveStorage `web_image_content_types` configurableRails added web_image_content_types config option to ActiveStorage, which allows an application to add content types instead of letting the images be transformed into the fallback PNG format.
ACID transactions in every day applicationsBreaking down the use of ACID transactions using real-life examples of systems that we employ every day.
Encapsulate each validation error as an Error objectActiveModel::Error class has changed from Hash based interface to an array of Error objects.
Rails support bulk insert/upsert on relationRails 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 RecordRails 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 blockWith 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::BaseThe `rescue_from` on ActionCable::Connection::Base allows us to intercept unhandled exceptions