Rails

Customizing Rails Migrations with Execution Strategies

Rails 7.1 introduced a new way to customize how migrations execute — the Execution Strategy API

Rails 8 adds conditional allow_nil and allow_blank in model validations

Use callable allow_nil/allow_blank to make validations depend on model state without duplicating rules.

Lexxy - The next generation rich text editor for Rails

Lexxy is a modern rich text editor built on top of Lexical that offers lot of features for modern editing experience.

Rails Decouples Trix From Action Text Into action_text-trix gem

Get faster Trix updates, cleaner installs, and simplified editor setup with the new action_text-trix gem.

Rails 8 does not include redis by default in the dev container.

With Rails 8, applications use the Solid Queue and Solid Cache gems by default, so it do not include redis in the dev container.

Rails now allows associations to be marked as deprecated using deprecated: true

Rails introduces a new `deprecated` option for associations, allowing developers to mark them as deprecated to optionally log warnings, raise errors, or send notifications when accessed

Rails uses self-join for UPDATE with outer joins on PostgreSQL and SQLite

Rails no more generates the subqueries as it uses self-join for `UPDATE` with outer joins on PostgreSQL and SQLite.

Rails 8 adds built in authentication generator

Rails 8's built-in authentication generator offers a lightweight, secure, and customizable alternative to Devise or Auth0, providing full control over sessions and tokens.

Rails stops generating bundler binstub(bin/bundle)

In new Rails applications, the bin/bundle is no longer included by default, as managing the correct Bundler version is now handled directly by RubyGems.

Rails 8 Removes Channels From Default App Structure.

With Rails 8, channels folder dropped from default app/ structure as Hotwire is default in Rails.