Rails now uses error_highlight to locate the columns where an error is present

With the help of Ruby 3.1's error_highlight functionality, Rails can now pinpoint the exact column where an error is present.

Rails 7 adds default value support for binary columns for SQLite

Binary columns now behave like other column types with default values in SQLite.

Rails 7 updates through_reflection to distribute transactions across database connections

Models that use multiple databases now perform writes within a single transaction.

ActiveRecord::QueryMethods#select adds support for hash values in Rails 7.1

ActiveRecord::QueryMethods#select adds support for hash values in Rails 7.1

Rails extends routes searching to include dynamic URL params

Now search for `cats/10/toys/15` instead of `cats/:cat_id/toys/:id`, making it easier to find the route you're looking for.

Rails "ActionController::Parameters.to_h" can now receive a block

ActionController::Parameters.to_h will now receive a block just like Hash#to_h and achieve parity. This gives the ability to customize the way parameters are passed to the controller.

Rails 7 now reads ENV["SCHEMA_FORMAT"] when doing rails db:schema:{dump,load}

Previously rails db:schema:{dump,load} would only dump Ruby format. Now it reads ENV["SCHEMA_FORMAT"] to choose between Ruby and SQL formats.

ActiveRecord methods touch and update_columns no longer work for readonly models

Readonly models get updated when touch or update_columns is called.

Rails 7 now accepts "html" and "screenshot" kwargs for system test screenshot helper

Pass in parameters to take_screenshot to choose an output format between image and HTML file.

Rails adds beginless range support to clusivity

Rails now adds support to include the beginless range in active record inclusivity/exclusivity validators.