Rails

Rails form_with now defaults to non-remote forms

Rails form generation helper, "form_with" defaulted to remote forms previously. This would confuse beginners who would expect an HTML response to be rendered. Now, you can configure the default response type.

Rails 6.1 adds support for check constraints to database migrations

With Rails adding support for check constraints to database migrations, check constraints can easily now be added and removed from tables with simple migration DSL. Earlier, the only way to add check constraints to tables was through raw SQL queries.

Rails 6.1 adds support for role switching and sharding in database

Rails 6.1 has added support for switching connections for one database instead of all databases

Rails 6.1 adds support for destroying dependent associations in the background

Destroying multiple layered hierarchy of associated objects can be time consuming and might result in a server timeout error. With Rails adding support for dependent associations to be deleted in the background, this issue is addressed.

Rails 6.1 allows attribute's default to be configured but keeping its type

With Rails 6.1, we can set attribute's default value by keeping the type same

Rails deprecates `db:structure:load` and `db:structure:dump` tasks

Running `db:structure:load` and `db:structure:dump` tasks will run `db:schema:{load/dump}` based on the value of `config.active_record.schema_format`, and they will be removed in Rails 6.2.

Rails allows a module with extend ActiveSupport::Concern to be prepended

This blog post discusses the concept of prepending in Ruby and prepending concerns with the help of Active Support in Rails.

Rails adds support for adding a default value to the rich text area

Rails has added support for adding a default value to the form field of type rich text area.

Changes to behavior in rails db:migrate:name command

Rails has made changes to dump the schema(or structure) of the database when executing the command rails db:migrate:name. The command will also reset the `ActiveRecord::Base` connection after its execution.

Rails adds a minimal flag to generate a new application

Rails used to come with a lot of frameworks by default, when we generate a new application. Now Rails introduced minimal flag to generate an application with only bare minimum frameworks