Rails71

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 7.1 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.1 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.

Rails adds :strict option to the default SQLite database.yml file

SQLite can be configured to be strict to circumvent some of its quirks. Rails can now specify this in the default database.yml file.

Rails now validates options used in migration functions

Previously erroneous options were silently ignored in migration functions such as "create_table" or "add_column", now they raise an error.

ActiveRecord::QueryMethods#select adds support for hash values in Rails 7.1

ActiveRecord::QueryMethods#select adds support for hash values in Rails 7.1

Rails for Multi database defines reading_request? in resolver

Rails moves reading_request? method from the DatabaseSelector to the DatabaseSelector::Resolver class so that we can override the method in custom Resolver.

Rails 7.1 extends audio_tag and video_tag to accept Active Storage attachments

Rails 7.1 extends audio_tag and video_tag to accept Active Storage attachments