Rails

Rails introduces ActiveRecord::Persistence#update_attribute!

While update_attribute was used to bypass validations, update_attribute! now does the same but raises ActiveRecord::RecordNotSaved in case of any errors encountered in `before_*` callbacks.

Rails 7 now introduces support for generated columns with Postgres

Rails 7 now adds support for generated (virtual) columns to the PostgreSQL adapter that has been available since PSQL v12.

Rails 7 renders accurate plain text output for nested fields

Plain text rendering of nested fields now reserves indentation.

Rails 7 allows setting timestamps on insert_all/upsert_all record creation

All relevant timestamp columns (`created_at`, `created_on`, `updated_at`, `updated_on`) are now set via ActiveRecord when using mass insertion queries.

Rails 7 adds better support for custom enum types in PostgreSQL

With Rails 7, use create_enum to add a new enum type and t.enum to add a column.

How to Use Enums in Rails

A deep dive into what enums are, how to create and configure enums using Rails.

PostgreSQL data-types in Rails

With Rails, there are many built-in data types that PostgreSQL supports. It's a great addition to the developer's toolkit!

Rails adds `authenticate_by` method when using `has_secure_password`

Rails adds `authenticate_by` method that helps mitigate timing-based enumeration attacks.

Use the combined jsbundling-rails gem instead of individual js bundler gems

JSBundling provides a flexible way of using different Javascript bundlers

Rails 7 adds the ability to delete and update queries using GROUP_BY and HAVING

With Rails 7, we can now combine GROUP_BY and HAVING clauses with a more complex update and delete queries.