Rails

Rails 6.1 adds `if_exists` option in `remove_index` operation

Rails 6.1 adds the `if_exists` option in `remove_index` which when set to true won't raise an error if the index doesn't exist.

Rails 7 adds direct ActiveStorage::Streaming support

Rails 7 adds a method to stream directly from your own controllers.

Rails 7 adds `#with_all_rich_text` to eager load all rich text associations at once

Rails 7 adds `#with_all_rich_text` to ActionText for eager loading all rich text associations.

Rails 7 adds maximum and minimum methods to Enumerable

Rails 7 adds `Enumerable#maximum` and `Enumerable#minimum` to calculate the maximum or minimum from extracted elements of an enumerable.

Rails 7 adds ActiveRecord methods `#sole` and `#find_sole_by`

Rails 7 adds ActiveRecord methods `#sole` and `#find_sole_by` to uniquely match only one record in a database.

Rails 7 adds #excluding to ActiveRecord::Relation

Rails 7 adds #excluding to ActiveRecord::Relation to exclude a record or collection of records.

Rails 6.1 adds config option to control image_tag loading attribute

Rails 6.1 adds a config option to set a default value for the loading attribute of all image_tags. This is in line with the latest official HTML standard.

Rails 7 introduces new syntax for enum

Rails 7 introduces new syntax for enum and few other changes

Rails 7 allows benchmark method to be called from anywhere

Rails 7 allows benchmark method to be called from anywhere with Rails.benchmark("test") { ... }

Rails 7 adds query method associated to check for the association presence

Rails 7 adds ActiveRecord::Relation#associated query method to check for the associated record presence