Rails

Secure CSRF Token Storage in Rails 7 using Encrypted Cookies

Introduction of Rails 7 feature to store CSRF tokens outside of the session such as in encrypted cookies.

Rails adds the ability to ignore tables in SQL schema dumps via regular expressions

Ignore tables by configuring regular expressions on ActiveRecord::SchemaDumper.

Rails optimizes ActiveRecord batching for whole table iterations

Response times for batch queries have significantly improved by moving to a range-based iteration strategy.

Enumerable#many? now forwards all block parameters

When used in conjunction with each_with_index Enumerable#many? does not forward index parameter unlike Enumerable#any?.

Rails now supports routes prefixed with word cable

Rails improved its support for routes which helps us to navigate to routes prefixed with word cable which were throwing 404 errors before.

Rails serializes store data as a regular hash instead of using HWIA

Serializing store objects with ActiveSupport::HashWithIndifferentAccess is both a wasteful and an insecure option. Instead Rails now encodes store as a regular hash and casts it back to HWIA before accessing.

Rails adds include_seconds option to datetime_field.

Rails now allows to omit seconds part in the input field by adding the include_seconds option to datetime_field

Pending migrations now show path instead of filename

Rails warns users of pending migrations now by showing the path of the migration file, instead of just the name. This is useful in multi-db applications.

Rails 7 fixes timezone awareness for tsrange and tstzrange columns

Earlier the tsrange/tstzrange column would throw a TypeError if a timezone was set in the application config. This column now stores time with the correct timezone.

Rails adds the --parent option to the job generator

Similar to the working of the model generator, the job generator now accepts the --parent option. This allows one to generate a job that inherits from the specified parent class.