Rails72

Rails 7.2 Adds app:update Task to be a Rails Command.

The app:update task to be a Rails command, and adds the --force flag to it, to allow running bin/rails app:update while accepting all the changes it makes.

BatchEnumerator#destroy_all To Return The Total Number Of Destroyed Records

Rails 7.2 enhances the BatchEnumerator#destroy_all to return the count of destroyed records, eliminating the need for additional queries to determine the number of affected rows.

Rails Adds GitHub CI Workflow By Default To New Applications

All new applications using Rails 7.2 will have GitHub CI workflow by default.

ActiveRecord::Base#pluck adds support for hash values in Rails 7.2

ActiveRecord pluck and pick can accept hash values for specifying columns from Rails 7.2

Rails 7.2 adds Rubocop by default to new applications

All new applications using Rails 7.2 will have rubocop gem by default.

Rails 7.2 Adds Rate Limiting to Action Controller

Rails 7.2 provides in built method rate_limit to define rate limiting rules in the controller itself.

Rails 7.2 adds allow_browser to set minimum browser version

Rails 7.2 allows us to set minimum browser version for compatibility.

Rails 7.2 adds Brakeman by default to new applications

All new applications using Rails 7.2 will have Brakeman gem by default for static analysis for security vulnerabilities.

Rails introduces ErrorReporter#unexpected for reporting precondition violations

The new method will report in production but raise in other environments, making it easier to debug.

Upsert no longer ignores on_duplicate if unique_by is specified

Upsert would previously not execute the on_duplicate clause if the unique_by constraint found a match. This has been fixed.