3 min read

After a long wait, the stable version of Rails 6 is finally available for users. Five days ago, David Hansonn, the Ruby on Rails creator, released the final version, which has many new major features such as Action Mailbox, Action Text, Parallel Testing, and Action Cable Testing. Rails 6 also has many minor changes, fixes, and upgrades in Railties, Action Pack, Action View, and more. This version also requires Ruby 2.5.0+ for running codes.

Hansonn says, “While we took a little while longer with the final version than expected, the time was spent vetting that Rails 6 is solid.” He also informs that GitHub, Shopify, and Basecamp and other companies and applications have already been using the pre-release version of Rails 6 in their production.

Read More: The first release candidate of Rails 6.0.0 is now out!

Major new features in Rails 6

Action Mailbox

This new framework can direct incoming emails to controller like mailboxes, such that user can use it for processing in Rails. Action Mailbox ships with access to Amazon SES, Mailgun, Mandrill, Postmark, and SendGrid. It is also possible to control inbound mails via the built-in Exim, Postfix, and Qmail ingresses.

These inbound emails are transformed to InboundEmail records using Active Record. They can also be routed asynchronously using Active Job to one or several dedicated mailboxes.

To know more about the basics of Action Mailbox, head over to action mailbox basics.

Action Text

Action Text includes the Trix editor that can handle formatting, links, quotes, lists, embedded images, and galleries. It also provides rich text content which is saved in the RichText model associated with the existing Active Record model in the chosen application.

To get an overview on Action Mailbox, read the action text overview page.

Parallel Testing

Parallel Testing allows users to parallelize their test suite, thus reducing the time required to run the entire test suite. The forking process is the default method used to do parallel testing.

To learn how to do parallel testing with processes, check out the parallel testing page.

Action Cable Testing

Action Cable testing tools allows users to test their Action Cable functionality at the connections, channels and broadcast levels.

For information on connection test case and channel test case, head over to the testing action cable.

Other changes in Rails 6

Railties

Railties handles the bootstrapping process in a Rails application and also provides the Rails generators core.

  • Multiple database support for rails db:migrate:status command has been added.
  • A new guard has been introduced to protect against DNS rebinding attacks.

Action Pack

The Action Pack framework is used for handling and responding to web requests. It also provides mechanisms for routing, controllers, and more.

  • Rails 6 allows the use of #rescue_from for handling parameter parsing errors.
  • A new middleware ActionDispatch::HostAuthorization has been added to guard against DNS rebinding attacks.

Developers are excited to use the new features introduced in Rails 6, especially the parallel testing feature.

A user on Hacker News comments, “Wow, Multiple DB and Parallel Testing is super productive.

I hope framework maintainers of other language community should also get inspired by these features.”

Another comment reads, “The multiple database support is really exciting. Anything that makes it easier to push database reads to replicas is huge.”

Another user says, “Congrats to the Rails team ! I can’t praise Rails enough. Such a huge boost in productivity for prototyping or full production app. I use it for both work or side project. I can’t imagine a world without it. Long live Rails!”

Twitteratis are also praising the Rails 6 release.

To know about the minor changes, fixes, and upgrades in Rails 6, check out the Ruby on Rails 6.0 Release Notes.

Head over to the Ruby blog for more details about the release.

Read Next

GitLab considers moving to a single Rails codebase by combining the two existing repositories

Rails 6 will be shipping source maps by default in production

Ruby on Rails 6.0 Beta 1 brings new frameworks, multiple DBs, and parallel testing

A born storyteller turned writer!