Enumerable#many? now forwards all block parametersWhen used in conjunction with each_with_index Enumerable#many? does not forward index parameter unlike Enumerable#any?.
Rails serializes store data as a regular hash instead of using HWIASerializing 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 filenameRails 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 generatorSimilar 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 fileSQLite 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 functionsPreviously 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.1ActiveRecord::QueryMethods#select adds support for hash values in Rails 7.1
Rails for Multi database defines reading_request? in resolverRails 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 attachmentsRails 7.1 extends audio_tag and video_tag to accept Active Storage attachments