This Week in Rails

May 14, 2022

More async queries, pattern matching and no more autoclosed PRs!

Hi, this is Petrik, bringing you the latest news from the Rails world. Async aggregate and find_by queries Active Record async support was limited to loading collections, but among the not so fast queries that would benefit from asynchronicity you often find aggregates as well as hand crafted find_by_sql queries. We now support the fol...
Read more
March 27, 2022

Security improvements, reducing bytes and more!

Hi, this is Petrik, bringing you the latest news from the Rails world. Reduce the output of Rails::Railtie#inspect to the classname Anytime inspect was called on Rails::Application, it would output the very large application object. By reducing it to the classname, we also prevent leaking credentials. Remove body content from redirect ...
Read more
February 11, 2022

Rails 7.0.2, schema versioning based on the Rails version, and more

Hi, this is Petrik, bringing you the latest news from the Rails world. Rails 7.0.2 has been released While this looks like a regular patch release there are a few notable changes. First, one feature that was introduced in 7.0.0 was removed: the ability to pass a service_name param to DirectUploadsController. This feature was causing si...
Read more
February 5, 2022

Dart Sass for Rails, Fiber-aware connection pool and more!

Hi, this is Greg and Robin, bringing you the latest news from the Rails world. Dart Sass for Rails As Ruby Sass has been deprecated a long time ago and since Webpacker has been retired, a new gem that wraps the standalone executable version of the Dart version of Sass has been released and makes it easy to use Sass stylesheets with Rai...
Read more
January 21, 2022

Rails 7.0.1, Webpacker retirement and more

Hi, Wojtek here introducing you to this year changes in the Rails. Released Rails 7.0.1 The Ruby 3.1 is fully supported with this release. It also contains few bug fixes and documentation improvements. Retirement of Webpacker Only security issues will be considered and there will be no version 6 release of Webpacker. There is a switchi...
Read more
December 31, 2021

This Year in Rails! A summary of 2021 in the Rails world

Hi there, this is Greg, bringing you a summary of what happened in the Rails world in 2021. There were so many changes, it is difficult to decide which one to mention, but I tried my best to find a few notable changes Find and assert the presence of exactly one record Add FinderMethods#sole and #find_sole_by to find and assert the pres...
Read more
December 18, 2021

New releases, bugfixes and more!

Hi there, it is Greg, bringing you the latest news about Ruby on Rails! We had an exciting week, so let's get to it. Rails 7 has been released There are so many new features, I would rather not list them here, please read the announcement, it has all the details. As mentioned in the release announcement, there is a new look of the offi...
Read more
December 11, 2021

Rails 7.0 RC1, faster template rendering, better tests and much more!

Hi! Robin here, with the latest news from the Ruby on Rails world! Rails 7.0 RC1: New JavaScript Answers, At-Work Encryption, Query Origin Logging, Zeitwerk Exclusively With tons of new features and improvements like new ways to deal with JavaScript or at-work encryption, this new version of Rails should be released before Christmas! 🎉...
Read more
November 26, 2021

Composable blobs, improved upsert and much more!

Hey, Wojtek here with recent additions to Rails. All of them today for FREE, for you. Thank you all the contributors for making Rails. Those from one-time to day by day committers. Add compose method to Active Storage Blob Concatenating multiple blobs is now possible. Support custom metadata on Active Storage Setting custom metadata on...
Read more
November 20, 2021

Automated shard swapping middleware, standardised error reporting interface and more!

Hey, this is Greg, bringing you the latest news about Ruby on Rails. Support <form> elements without [action] By default, when a form is declared without an action attribute, browsers will encode the form's fields into the current URL. Prior to this commit, none of the form construction variations supported declaring a form without an ...
Read more
November 7, 2021

Nested attributes for delegated types, improved performances and more!

Hey! Robin here with the latest news from the Ruby on Rails world. Support accepts_nested_attributes_for for delegated types Rails 6.1 introduced delegated types to ease handling some polymorphic relationships. This pull request makes using `accepts_nested_attributes_for` on such types a piece of cake. Use nested queries doing UPDATE w...
Read more
October 31, 2021

🎃 Halloween Edition: Zeitwerk migration guide, selenium-webdriver, and some Ruby 3.1 snacks

🍭 Trick or treat, zzak here after a week off with lots of goodies! 🍬 Rails Autoloader Migration Guide: From Classic to Zeitwerk This new guide has all you need to know to switch the autoloader for Rails 6.x and 7.0 applications! Add ActiveRecord::Base.prohibit_shard_swapping This new method prohibits swapping shards within the given bl...
Read more
October 15, 2021

Auto timestamps on bulk inserts, HTML safe translations in controllers and more

Hey, Wojtek here with last week updates from the Ruby on Rails world. Set timestamps on insert_all/upsert_all record creation The timestamps will be automatically set when using bulk insert/upsert. This behaviour can be disabled by the record_timestamps config on the model class. Treat html suffix in controller translation When transla...
Read more
October 10, 2021

Automatic inverse_of, performance improvements and more!

Hi, this is Greg, bringing you the latest news about Ruby on Rails! This week we switched our newsletter delivery platform to HEY, if you are reading this email, you already confirmed your subscription and there is no other action needed on your end. Avoid instance_exec for controller callbacks This change brings some performance impro...
Read more
October 10, 2021

Autumn is here, and so is Rails 7 Alpha 2! 🍂

Hey! Zzak here with a JAM-PACKED edition of This Week In Rails. 🍇 Server Timing Middlware for Development This PR started nearly 2 and a half years ago, finally made its way into Rails! A really neat feature, uses the Server-Timing header to emit durations for all ActiveSupport::Notifications. You can then view these metrics in your br...
Read more