This Week in Rails

Your weekly inside scoop of interesting commits, pull requests and more from Rails.
November 29, 2024

Rails World 2025 dates announced and more!

Hi, it’s Greg. Let’s explore this week’s changes in the Rails codebase. Rails World 2025 - Save the date Rails World 2025 will take place September 4 and 5, 2025, again in Amsterdam. The same venue, the same city, and good news - more tickets. The CFP is expected to open in early spring 2025, and tickets to be released shortly thereaft...
Read more
November 22, 2024

Active Support's NotificationAssertions and `sql.active_record` gets `affected_rows`

Hi, it’s zzak. Let’s explore this week’s changes in the Rails codebase. Add Active Support Notifications test helper module This PR has been created because it’s currently cumbersome to test that a certain code block/action triggers an ActiveSupport::Notifications::Event to be emitted. It would be ideal to have some helpers to assert a...
Read more
November 15, 2024

Rails 8 demo, Rails World re-edited videos, NotificationAssertions and more!

Hey everyone, Happy Friday! Vipul here with the latest updates for This Week in Rails. Let’s dive in! Rails 8: The Demo In case you missed it, Rails 8 was released last week. A new demo from DHH is now up Rails 8: The Demo showcasing its usage. The video covers getting started with Rails 8 by building a basic blog, adding a WYSIWYG edi...
Read more
November 8, 2024

Rails 8.0 and more

Hi, Wojtek here. Let’s explore this week’s Rails news. Rails 8 has been released Along with the announcement, you can read the release changelog. Action Controller guide improvements review Along with the improvements, there will be the new guide “Action Controller Advanced Topics”. It’s awaiting community feedback. Support disabling t...
Read more
November 1, 2024

Default Regexp.timeout and more!

Hi, it’s Greg. Let’s explore this week’s changes in the Rails codebase. Cast query_cache value when using URL configuration for Active Record When configuring the Active Record connection with DATABASE_URL, due to not casting the value to an integer, the query cache was not set to the given value. This pull request fixes this issue. De...
Read more
October 25, 2024

Active Job config `enqueue_after_transaction_commit` has been deprecated

Hi, it's zzak. Let's explore this week's changes in the Rails codebase. Deprecate setting the behavior of deferring job queueing until after commit The active_job.enqueue_after_transaction_commit setting has been deprecated. This behavior is not intended to be changed globally, but on a per-job basis. Add support for using Kamal inside...
Read more
October 18, 2024

New Maintenance policy, CVE releases, Rails World talks and more!

Hey everyone, Happy Friday! Vipul here with the latest updates for This Week in Rails. Let’s dive in! Rails World talks are out! Check out the recap of these talks in this blog post, or head over to Rails’ YouTube for the full playlist. New Rails maintenance policy and end of maintenance announcements These changes are designed to prov...
Read more
October 11, 2024

Lazy i18n watcher on boot and more

Hi, Wojtek here still feeling the good vibe of the Rails World. Cheers to all the attendees and see you in Amsterdam! Fireside Chat with DHH, Matz and Tobi The video from the Rails World is now ready to watch, followed by the Eileen keynote. All the videos will be available soon! Don’t execute i18n watcher on boot It shouldn’t catch an...
Read more
October 4, 2024

Make Float distinguish between float4 and float8 in PostgreSQL and more

Hi, it’s Greg, bringing to you the latest changes from Rails, while recovering from an amazing Rails World experience. Make ActionController::AllowBrowser::BrowserBlocker private To reduce the API surface area of the allow_browser feature, this commit marks the class as private API. Change ActiveSupport::HashWithIndifferentAccess#strin...
Read more
September 27, 2024

Rails 8 beta, DHH keynote, fresh error pages, and more!

Hi, it's zzak. Let's jump into This Week in Rails! Rails 8.0 beta 1 has been released! The first beta of Rails 8 is out! While the release notes are getting ready, have a look at the changes and give it a go. DHH keynote from Rails World The first talk recording from Rails World is up, and David goes over everything that went into Rail...
Read more
September 20, 2024

Kamal 2, Bye-bye Sprockets, and so much more!

Hi, it’s zzak. Let’s explore this week’s changes in the Rails codebase. Rails World 2024 is next week Safe travels to everyone heading to Toronto! All sessions will be recorded and published on the Rails YouTube channel, so subscribe to get notified. [RF Guides] Active Record Validations The Foundation is still hard at work on updating...
Read more
September 13, 2024

Solid Cable as default, 2 new Guides PRs, and much more!

Hey everyone, Happy Friday the 13 🎃 Vipul here with the latest updates for This Week in Rails, from the very awesome EuRuKo this week! Let’s dive in. New Guides Pull Request for review Two new Guides Pull Requests are up for community review this week. If you are well versed in Action Mailer, or Error Reporting, please review and submi...
Read more
September 6, 2024

Solid Cache and Queue as default backends and more

Hi, Wojtek here. Let’s explore this week’s changes in the Rails codebase. Add Solid Cache Solid Cache will be the new default caching backend for production deployments out of the box in Rails 8. Add Solid Queue Configure Solid Queue as the default Active Job backend alongside Solid Cache. Both can be skipped with "--skip-solid". Allow...
Read more
August 30, 2024

Last call for Luminary nominations, SQLite3 full-text search and more!

Hi, it’s Greg. Let’s explore this week’s changes in the Rails codebase. Last call for Rails Luminary nominations If you know someone who has contributed to the Rails ecosystem and community with exceptional code, documentation, enthusiasm, or assistance, submit your nomination by September 2nd. Fix Devcontainer generator with –dev opti...
Read more
August 25, 2024

ActionText store_if_blank, SQLite non-GVL-blocking busy handler, and more!

Hi, it's zzak. Let's explore this week's changes in the Rails codebase. In case you missed it, Rails 7.2.1 and 7.1.4 were released this week! Allow use of alternative database interfaces Prior to this PR, rails dbconsole was hardcoded to use the default interface for the given database. This command can now be configured via the config...
Read more
August 16, 2024

Deferred routes drawing, connect route helper and more

Hi, Wojtek from this side. Let’s explore this week’s changes in the Rails codebase. Defer route drawing This change triggers the initial reload of routes either through middleware or when a url_helpers method is used. Previously, this was executed unconditionally on boot, which could slow down boot time unnecessarily for larger apps wi...
Read more
August 12, 2024

Rails 7.2 released, Thruster by default for Rails 8, new Guides PRs, and much more!

Hey everyone, Happy Monday! Vipul here with the latest updates for This Week in Rails (from last week 😅). Let’s dive in. Rails 7.2 has been released Rails 7.2 has been released! Head over to the release post for more details, but in short, it ships with better production defaults, Dev containers, new Guides design, and much much more! ...
Read more
August 3, 2024

This Week in Rails: Rails Luminary nominations open, new maintenance policy and more!

Hi, it is Greg, bringing you the latest changes in Rails. The framework turned 20 years old this past week. Happy Birthday Ruby on Rails! Let’s explore this week’s changes in the Rails codebase. Nominations open for the 2024 Rails Luminary Awards Last year the Rails Foundation started the Rails Luminary Awards acknowledging people who’...
Read more
July 27, 2024

Model Missing Attributes, SQLite Immediate Transactions, and CVV/CVC Parameter Filtering by default

Hi, it’s zzak. This is a short week, but let’s jump in. Drop Hash#except core extension Rails 8.0 will be Ruby 3.1 or greater only except natively got added in Ruby 3.0 so this is dead code now. Introduce ActiveModel::AttributeAssignment#attribute_writer_missing Provide instances with an opportunity to gracefully handle assigning to an...
Read more
July 19, 2024

Add non-null modifier for migrations, default script folder and generator, sessions generator and much more!

Hey everyone, Happy Friday! Vipul here with the latest updates for This Week in Rails. Let’s dive in. Add a basic sessions generator This change adds a new sessions generator to give a basic start to an authentication system using database-tracked sessions. # Generate with... bin/rails generate session# Generated files app/models/curre...
Read more
July 12, 2024

New Rails beta release, immutable option in http_cache_forever and more

Hi, Wojtek here again. See another short list of changes from this past week. Rails 7.2.0.beta3 have been released With 91 commits since the last beta 2 version. Make http_cache_forever use immutable option The immutable: true option was added to expires_in in last week. This change sets immutable: true option for http_cache_forever wh...
Read more
July 5, 2024

Configurable compressor for encryption, Rack 3 streaming and more

Hi, Wojtek here. See the short list of changes from this past week. Add compressor option to Active Record encryption ActiveRecord::Encryption::Encryptor now supports a :compressor option to customize the compression algorithm used. The default compressor is Zlib (as it was before). Utilize Rack 3 streaming Rack 3 introduced several fe...
Read more
June 28, 2024

Immutable Rails Cache Header, Local Assigns in Strict Local Templates, Threaded Active Storage Mirror Service

Hi, it's zzak. Let's explore this week's changes in the Rails codebase. Support "immutable" directive in Cache-Control This PR adds a new option to the expires_in method to support the immutable directive for the "Cache-Control" header. Also pass "local_assigns" to strict locals templates When using Strict Locals in a partial, `local_a...
Read more
June 21, 2024

New database sharding methods, improved Active Record Migration Docs, caching improvements for ActiveStorage and more!

Hey everyone, Happy Friday! Vipul here with the latest updates for This Week in Rails. Let’s dive in. Improved Active Record Migration Documentation The Rails Foundation documentation team continues to improve different areas of the Guides. This Pull Request updates the Active Record Migration Documentation to receive various additions...
Read more
June 14, 2024

New transaction event, bugfixes and more!

Hi, it’s Greg. Let’s explore this week’s changes in the Rails codebase. Only sanitize content attribute when present in attachments A recent security fix introduced sanitizing the content attribute of ActionText::Attachable::ContentAttachment. As a side effect it always sets the attribute, even when it’s missing, causing Trix to not sh...
Read more
June 7, 2024

Global strict loading mode setting, route draw deferring and more

Hi, Wojtek here. Let’s explore this week’s changes in the Rails codebase. Rails security releases Rails Versions 6.1.7.8, 7.0.8.4, 7.1.3.4, and 7.2.0.beta2 have been released with a security issue fix. The CFP for RubyConf is open Submissions on all Ruby Web Frameworks, including Rails, will be considered, so get your Rails related sub...
Read more
May 31, 2024

Propshaft default for Rails 8, Guides updates, transaction.active_record events, and more!

Hi, it’s zzak. Let’s explore this week’s changes in the Rails codebase. Rails World 2024 speaker lineup announced! As well as another small run of tickets going live on June 4 at 2pm ET! The Rails Foundation documentation team has also submitted two Rails guides for community review. If you have feedback, please submit it here: Action ...
Read more
May 24, 2024

Better error message, opt-in devcontainers and more!

Hi, it’s Greg. Let’s explore this week’s changes in the Rails codebase. Raise a descriptive error when a Store column is misconfigured This pull request improves ActiveRecord::Store to raise a descriptive exception if the column is not either structured (e.g., PostgreSQL hstore/json, or MySQL json) or declared serializable via ActiveRe...
Read more
May 17, 2024

Start of Rails 8 development, 7.0.8.2 & 7.1.3.3 released, Kamal by default, and lots more!

Hey everyone, Happy Friday! Vipul here with the latest updates for This Week in Rails. Let’s dive in. Development of Rails 8.0 starts now 🎉 This week marks the official start of Rails 8.0 development. Stay tuned for more updates on Rails 8.0 features and changes ahead 🎉. Rails 8 will target Ruby 3.3+ only for new apps Add Kamal by defa...
Read more
May 10, 2024

Rails community survey, improved association validation errors and more

Hi, Wojtek here. Let’s explore this week’s changes in the Rails. The bi-annual Rails community survey is live! Your input is invaluable and will help the team at Planet Argon gather insight on the current state of the Rails community. Fill in the survey here. (And feel free to share with your teams). The survey will remain open until A...
Read more

See more posts »