This week in Rails
Weekly inside scoop of interesting commits, pull requests and more from Rails, delivered to your inbox every Friday. Read more about our story!
Hi everyone,Greg here with the latest from the world of Rails. It was a busy week with new releases and many improvements!
New Rails releases
Eileen joins Rails core
We’re proud to welcome Eileen M. Uchitelle to Rails core!
This week's Rails Contributors
33 developers contributed to Rails this week. If you want to be part of this team, look at the issues list and make a contribution!
Custom url helpers and polymorphic mapping
This pull request introduces support for custom url helpers and defining custom polymorphic mappings in routes.rb
Capybara Integration with Rails (AKA System Tests)
Rails has a built in integration with Capybara now which makes writing system tests easier, since all the setup is handled by Rails. For more details read the write-up on the pull request.
Encrypted secrets support
Rails introduces secrets encryption which is inspired by the Sekrets gem.It worth noting here that, some improvements to the crypto is on the way too.
Include JobID in all Active Job info logs
Earlier the JobID wasn't logged when a job started or ended performing, but that's not the case anymore, making debugging of job related issues easier.
Add missing gzip footer check in ActiveSupport::Gzip.decompress
From now on ActiveSupport::Gzip.decompress checks the CRC in the gzip footer.
Allow 3-level configs to group database connections by environment
If you have multiple database connection per environment, you can group your config by the environment. Check this comment for an example.
Delegate to `scope` rather than `merge!` for collection proxy
A performance improvement by not using merge! when it is not necessary.
Preload to_datetime before freezing a TimeWithZone instance
After freezing an ActiveSupport::TimeWithZone instance, it is not possible to call to_datetime because the value is cached in an instance variable. To avoid this issue, the instance variable is preloaded before the freeze occurs.
HashWithIndifferentAccess#compat nil issue fix
HashWithIndifferentAccess#compact returned nil earlier when the hash didn't contain nil values in it. This PR fixed the problem.
Deprecate using `quoted_id` in quoting / type casting
Originally quoted_id was used in legacy quoting mechanism. Now we use type casting mechanism for that hence quoted_id is deprecated.
That's it from This Week in Rails. There were many other great contributions, too numerous to list here, but feel free to check them out! Until next week 👣