Rails

Rails 7.2 Adds Brakeman gem by Default

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

Rails 7.1 explain Accepts Options

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

Rails 7.1 ActiveRecord regroup Method

With regroup and regroup! methods we can override the group_values

Rails 7.1 allows resetting singular

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

Rails ErrorReporter#unexpected Method

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

Rails 7.1 Disable Enum Auto-Methods

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

Upsert Respects on_duplicate with unique_by

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

ActiveStorage Pre-processes PDFs & Videos

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

Rails 7.1 path_params for url_for

path_params allows specified params to be used exclusively for named segments under scoped routing without unnecessarily appending parameters to every URL.

Rails 7.1 Enum Validate Option

Rails 7.1 added a validate option for enums, which will allow developers to validate the passed enum values before saving it.