Monday, October 19, 2020

New API Docs site, configurable cache coder, bug fixes, and more!

Posted by andyatkinson

Hi there! This is Andy bringing you the latest on what’s shipped this week in Ruby on Rails!

New API docs back-end

The frames-based Rails API docs site has been replaced with CSS and Turbolinks. Deep linking is now supported! Let’s take a moment and remember the humble 1990s era <frame/>! Check it out at https://edgeapi.rubyonrails.org.

Stable sorting for DatabaseConfigurations#find_db_config

Sorting configuration for multiple databases was not guaranteed to be stable. This PR fixes that, and includes a supporting test with more information.

Handle binary strings in Active Record serialized columns

When binary data is stored in a serialized column, this change ensures that the original value is preserved. Check out the supporting test for an example.

Make ActiveSupport::Cache coder configurable

This PR lays the groundwork to specify a custom coder. The PR author describes a scenario migrating between 2 different cache stores as a potential use case.

Include layout when rendering objects from controllers

Did you ever notice Rails was like “nah”, when trying to render from a controller with a layout? Well, I’ve got some good news for you.

Fix read_attribute_before_type_cast

From the author: “With this change, read_attribute_before_type_cast will be able to get the value before typecast even if the attr_name is an attribute_alias.”

Fixes, optimizations and documentation

And finally, let’s recognize these contributors that fixed a flaky test, created an optimization to avoid unnecessary queries and another that avoids a duplicate record. In addition to that, 5 PRs shipped this week with documentation improvements! Thank you!

Thank you to the 20 people that contributed to Rails this week. If you’d like to be part of that, check out the list of open issues. Until next time!