Rails

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.

Rails Introduces ActiveModel::Attributes::Normalization

Normalization allows us to define custom normalization rules for attributes in our model. This feature is particularly helpful for ensuring that specific attributes are consistently formatted or transformed before they are saved to the database.

Bulk Migrations by Passing validate(_check)_constraint through change_table

Rails 7.1 now delegates validate(_check)_constraint through change_table for bulk migrations by letting us define and validate check constraints within a single change_table block.

Deep Dive Into Rails ActionController Strong Parameters

Explore Rails Strong Parameters, their role in preventing mass assignment vulnerabilities, and how they enhance security and maintainability.

Rails 8 Adds A New Script Folder By Default And Scripts Generator.

The new script folder to hold one-off or general purpose scripts, such as data migration scripts, cleanup scripts and a scripts generator.