Rails

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.1.2 now ignores implicitly passed locals in templates that use strict local definitions

Templates that use strict locals can not accept anything other than those defined. This previously raised exceptions for implicitly passed locals that a user is unaware of.

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 7.1 Allows ActiveRecord::Relation#explain To Accept Options

Adding analyze and verbose as ActiveRecord::Relation#explain options give us deeper insight into query performance.

Rails 7.1 Introduces ActiveRecord regroup Method

With regroup and regroup! methods we can override the group_values

Rails 7.1 allows resetting singular associations

Query database again to retrieve the associated record by resetting the cache on singular associations.

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.

Rails 7.1 Introduces Option To Disable All Methods That ActiveRecord.enum Generates

Disable auto generated methods of ActiveRecord.enum with instance_methods by passing false to it.

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.

ActiveStorage now pre-processes PDFs and videos

Rails now pre-processes previewable files such as PDFs and videos. Previously it only pre-processed images.