Rails 6 bulk insert recordsRails 6 adds insert_all and upsert_all methods to ActiveRecord
Ruby 3.1 adds error highlighting gemWith changes in Ruby 3.1, we will be able to know which object is nil when an error gets raised.
How to Use Enums in RailsA deep dive into what enums are, how to create and configure enums using Rails.
Ruby 3.1 adds MatchData#match and MatchData#match_lengthRuby 3.1 MatchData#match returns the substring corresponding to the argument, while MatchData#match_length returns the length of the captured substring.
Rails 7 introduces ActiveModel::APIActiveModel::API allows adding more functionality to ActiveModel::Model and makes itself a minimum API to interact with Action Pack and Action View.
Rails 7 adds ActiveRecord::QueryMethods#in_order_of to return query results in a particular sequenceStarting with Rails 7, we can return ActiveRecord::Relation results in provided series using the in_order_of method.
Starting with Rails 7, retry failed jobs indefinitelyPass `:unlimited` symbol to `attempts` parameter of ActiveJob's `retry_on` method, which allows a developer to specify that a job should retry forever until it succeeds.
Rails 7 adds support for `if_exists/if_not_exists` on `remove_foreign_key/add_foreign_key`Rails 7 adds support for `if_exists/if_not_exists` on `remove_foreign_key/add_foreign_key` in migrations to silently ignore raised exceptions.
Rails 7 adds range serializer for ActiveJobActiveJob in Rails 7 allows a range to be passed as an argument to perform method.
Ruby 3.1 adds Array#intersect? methodRuby Array#intersect? method will return true or false based on common elements present in the two arrays.
Rails 6.1 adds `if_exists` option in `remove_index` operationRails 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 6.1.1 allows `where` to reference associations via joined table alias names.Rails 6.1 allows where clause queries to reference associations used in `join` or `includes` clause via alias names.
Rails 6.1 adds support for role switching and sharding in databaseRails 6.1 has added support for switching connections for one database instead of all databases
Rails makes ActiveStorage `web_image_content_types` configurableRails added web_image_content_types config option to ActiveStorage, which allows an application to add content types instead of letting the images be transformed into the fallback PNG format.
Encapsulate each validation error as an Error objectActiveModel::Error class has changed from Hash based interface to an array of Error objects.
Using Interactors in RailsInteractors provide a common interface for performing complex user interactions.
Rails - Added sub seconds to Time inspectRails has added sub seconds to ActiveSupport::TimeWithZone#inspect method.
Rails - Allows to specify schema cache path in database configuration fileRails now exposes a new configuration for specifying the location of the schema cache file. This can be done in database.yml using schema_cache_path key.
Rails adds ActiveRecord API for switching multiple database connectionsRails adds ActiveRecord API connects_to and connected_to for switching connections to support multiple databases.
Rails introduces disallowed deprecations in ActiveSupportRails has added support to configure disallowed deprecations.
Rails 6 - ActiveSupport Deprecations in Unicode and Chars support in favour of StringRails 6 has deprecated methods in Unicode and Chars support for ActiveSupport in favor of using ruby 2.3+ String methods directly.
Rails 6.1 adds support for multiple storage services to Active StorageRails 6.1 adds support to configure storage services for individual attachment.
Ruby 2.7 - Singleton class yield syntax throws a warningRuby 2.7 singleton class yield syntax is warned and will be deprecated in Ruby 3.0.
Ruby 2.7 - Time#inspect separated from Time#to_sRuby 2.7 separated Time#inspect from Time#to_s and added sub seconds
Rails 6 adds ability to block writes to a databaseRails 6 adds the ability to block writes to a database even if the database user is able to write using connection.while_preventing_writes
Rails 6 - Active Storage changesRails 6 brings in image_processing gem, support for different image types and improvements in Active Storage.
Rails 6 adds after_save_commitRails 6 adds after_save_commit callback shortcut.
Ruby Lazy EnumeratorsRuby support for lazy loading enumerators
Rails 6 adds delete_by and destroy_by methods.Rails 6 ActiveRecord::Relation added two new methods delete_by and destroy_by.
Distance calculation in Ruby using RGeo - Geospatial library for RubyDistance/Geospatial calculations in Ruby using RGeo.
Rails 6 - Custom Serializers for ActiveJob argumentsRails 6 introduces ability to provide custom serialization of ActiveJob arguments.
Rails 6 adds support for disabling database advisory locksRails 6 adds support for database configuration to disable advisory locks
Rails 6 - I18n key support for submit_tag keyRails 6 adds I18n style locale key support to submit tag
Rails 6: Introduces explicitly adding rails server handler optionRails 6 introduced --using or -u option for specifying the rails server