This Week in Rails

Your weekly inside scoop of interesting commits, pull requests and more from Rails.
September 9, 2023

Infer primary_key: :id on associations with composite primary key models, add validation option for enum and more!

Hi! This is Vipul bringing you the latest from this week’s changes in the Rails codebase. Infer primary_key: :id on associations with composite primary key models Prior to this change, you’d need to do the following to set up associations for composite primary key models: class Order self.primary_key = [:shop_id, :id] has_many :order_a...
Read more
August 25, 2023

This Week in Rails - August 25

Hi, Wojtek here. Let’s explore last 2 week’s changes in the Rails codebase. Rails Versions 7.0.7.2, 6.1.7.6 have been released Just after the previous security releases 7.0.7.1, 6.1.7.5 but with fixed file permissions. MRSK renamed to Kamal Due to a trademark claim, the project was renamed to Kamal. Add after_discard method to Active J...
Read more
August 11, 2023

A new release, Action Mailer preview empty states, bugfixes and more!

Hi, it’s Greg, bringing you the latest changes in the Rails codebase. Introducing the Rails Luminary Awards: Nominations Now Open Starting at Rails World in October, the Rails Foundation will establish a new tradition of celebrating Rails Luminaries- people who’ve contributed to the Rails ecosystem and community with exceptional code, ...
Read more
August 4, 2023

Omit webdrivers gem from new apps Gemfile, support for filtering tests by line range and more!

Hi! This is Vipul bringing you the latest from this week's changes in the Rails codebase. Introduce config.dom_testing_default_html_version and use Rails::Dom::Testing to parse HTML in test helpers Previously support was added to Rails::Dom::Testing for HTML5. This may cause issues if we still want to rely on HTML4 based testing. This ...
Read more
July 28, 2023

This Week in Rails - July 28, 2023

Hi, it’s zzak. Let’s explore this week’s changes in the Rails codebase. Rack::Lint on Rails middleware tests While this work is not technically user-facing, it’s important to ensure the future of Rails continues to maintain compatibility with the Rack SPEC. You can read more about the Rack 3 upgrade guide if you’re interested or mainta...
Read more
July 21, 2023

A much needed Active Storage documentation with a new option to trigger has_secure_token

This is Emmanuel... you haven't heard from me in a while. I'm doing great, and have a few merged pull requests that I want to share with you. Don't show secrets for MessageVerifier#inspect and KeyGenerator#inspect If anyone calls a cipher in the console, it will reveal the secret of the encryptor. By overriding the inspect method to di...
Read more
July 7, 2023

Preprocessed Active Storage variants and more

Hi, Wojtek here. Let’s see what changed in the Rails codebase. Add an option to preprocess Active Storage variants in background job Active Storage variants are processed on the fly when they are needed but sometimes we’re sure that they are accessed and want to process them upfront. class User < ApplicationRecord has_one_attached :ava...
Read more
June 30, 2023

A CVE, two new Rails releases in a week, config.autoload_lib, and more!

Happy Friday Everyone! This is Vipul, bringing you the latest changes in the Rails codebase. [CVE-2023-28362] Possible XSS via User Supplied Values to redirect_to If you haven't already, its time to upgrade your Rails application to the latest version! Rails versions 7.0.5.1, 6.1.7.4 have been released with a security fix for a possibl...
Read more
June 23, 2023

Rails World website and ticket sales, CPK improvements and more!

Hi, it’s Greg, bringing you the latest changes in the Rails codebase. Rails World’s site is live! The Rails World conference website is live from today. It was created by Shona Chan, a junior developer from the Rails community. It was commissioned by the Rails Foundation, designed by Katya Sitko and created under the mentorship of Ayus...
Read more
June 16, 2023

SSL Enforcement, new Postgres enum features, and changes to Rails.application.secrets

Hi, it’s zzak. We’re officially half-way through June, and we’ve got a shorter edition this week but let’s hop in. Enable `force_ssl=true` in production by default This PR affects newly generated apps to make SSL enforcement the default behavior in production mode, ensuring all access to the application occurs over SSL, with Strict-Tra...
Read more
June 9, 2023

This Week In Rails - June 9, 2023

Hi! Emmanuel here writing from a train to Katowice! There have been quite a few developments in the Rails codebase over the last few weeks! Let's take a look at some of them, shall we? Create a class level #with_routing helper The with_routing helper can now be called at the class level. When called at this level, the routes will be se...
Read more
June 2, 2023

HTML5 sanitizer, path_params and more

Hi, Wojtek here. Let’s explore this week’s changes in the Rails codebase. Update Action View to use HTML5 standards-compliant sanitizers Add support for HTML5 standards-compliant sanitizers, and default to Rails::HTML5::Sanitizer in the Rails 7.1 configuration if it is supported. Action View’s HTML sanitizers can be configured by setti...
Read more
May 26, 2023

This Week In Rails - May 26, 2023

Hey! zzak here with another edition of This Week in Rails. Reminder: The Rails World CFP is open until June 16. Whether you’re a seasoned veteran or a newcomer to the Rails ecosystem, we encourage you to submit proposals that showcase forward-thinking ideas and push the boundaries of what’s possible with Rails. Rails 7.0.5 has been rel...
Read more
May 19, 2023

Rails World CFP, ActiveRecord.disconnect_all!, optimized where query and more!

Hello Everyone! This is Vipul, bringing you this week’s changes in the Rails codebase. Rails World Call for Papers now open This CFP is open until June 16, with space in the agenda for 26 talks on two tracks, and up to six workshops. Read the full announcement for more details and submit your proposal! Introduce ActiveRecord.disconnect...
Read more
May 12, 2023

Rails World CFP, picture_tag helper and more!

Hi, this is Greg, bringing you this week’s changes in the Rails codebase. Rails World Call for Papers now open This CFP is open until June 16, with space in the agenda for 26 talks on two tracks, and up to six workshops. Read the full announcement for more details and submit your proposal! Prevent duplicate filters for encrypted attrib...
Read more
May 5, 2023

This Week in Rails: Rails World tickets waiting list, caching improvements and more!

Hi, it’s Greg, bringing you this week’s changes in the Rails codebase. Rails World tickets waiting list Many of you asked if there is a waiting list where you can be informed when Rails World tickets go on sale, and the Rails Foundation listened. Sign up here to be alerted when we release Early Bird tickets: https://ti.to/rails-world/r...
Read more
April 28, 2023

End of April 2023 Edition

Hi, it’s zzak. ✈ RailsConf has come to a close, and Golden Week is upon us here in Japan. Lots to catch up on in This Week in Rails. Many documentation improvements to extend our SEO posture The venerable @p8 has been very busy trying to improve Rails documentation fortune with search engines. On the topic of documentation, the Postgre...
Read more
April 21, 2023

The beginning of Trilogy, ChatGPT as a contributor

Hi. Wojtek here. We had 88 contributors this week including ChatGPT! Let’s explore the changes. AppSignal is the newest contributing member of The Rails Foundation It’s the third company to join The Rails Foundation as a contributing member. Introduce adapter for Trilogy Trilogy is a client library for MySQL-compatible database servers...
Read more
April 14, 2023

A week dedicated to composite primary keys 😎

Saluton! That's Esperanto for "Hello!" 😜... Emmanuel Hayford here, let's see what's new in Rails as we gear up for Composite Primary Keys (CPKs) support. But first, here's a fine opportunity for junior Ruby on Rails developers: As part of preparations for the upcoming Rails World conference in Amsterdam, Netherlands this year, The Rail...
Read more
April 7, 2023

A new conference, new Action Mailer callbacks and more!

Hi, it’s Greg, bringing you the latest news about Ruby on Rails. We have exciting news from the Rails Foundation! The first-ever Rails World Conference is coming! Join the community on October 5 & 6 in Amsterdam, Netherlands, for keynotes, technical sessions, and all things Rails. A website with tickets and a CFP is coming soon! You ca...
Read more
March 31, 2023

March 31st 2023 edition 🌸

Hi, it’s zzak, writing in from Aomori, Japan, home of the great Jonan Scheffler. 2023 is officially 25% over, time to enjoy 🌸 and explore this week’s changes in the Rails codebase. Add debug gem back to the Gemfile template With the release of Ruby v3.2.2, which happened today, we can safely add the “debug” gem back to the Gemfile temp...
Read more
March 24, 2023

Composite primary keys improvements and more

Hi, it’s Wojtek with this week’s changes in the Rails codebase. Allow specifying WHERE clauses with column-tuple syntax. Querying through Active Record where now accepts a tuple syntax which accepts, as a key, an array of columns and, as a value, an array of corresponding tuples. This improves support for composite primary keys. Accept...
Read more
March 17, 2023

TestFixtures#fixture_path deprecation, FinderMethods#find support for composite primary key values, etc.

Kaixo! Long time no see. Emmanuel Hayford here. This week, a lot happened in Rails, so much so that to keep this edition short, I've had to cut some equally goodpull requests out. Here's what I have for you today: Allow querying by the whole record for composite query constraints Suppose you have defined an association between two mode...
Read more
March 10, 2023

This Week in Rails: Improve custom namespace autoloading, Object#with and more!

Hi, this is Greg, bringing you the latest changes in the Rails codebase. Lockdown rails app in production for security Current Dockerfile generated by Rails runs as a non-root user which prevents modification of the operating system but leaves wide open all gems and the application itself. This change locks down the application gems an...
Read more
March 3, 2023

🎎 First edition of March

Hi, it’s zzak. Let’s explore this week’s changes in the Rails codebase. Turbo v7.3.0 is out! Be sure to check the release notes to see what changed. Configurable digest algorithm for Active Record Encryption This adds a new option to configure the digest algorithm in Active Record Encryption. It sets SHA-256 as the new default starting...
Read more
February 24, 2023

The Rails Foundation update, perform_all_later in AJ and more

Hi, it’s Wojtek. Let’s dig into this week’s changes and announcements. Amanda Perino as new executive director for The Rails Foundation Please welcome Amanda to the job of leading the mission to improve the documentation, education, marketing, and events in the Rails ecosystem. Add ActiveJob.perform_all_later to enqueue multiple jobs a...
Read more
February 17, 2023

This Week in Rails: preloading associations with composite keys and more!

Hi, this is Greg, bringing you this week’s changes in the Rails codebase. Support preloading associations with composite keys This pull request adds support for Associations::Preloader to be able to preload associations associated by a composite foreign key (query_constraints) and by implication adds support for includes() relations. S...
Read more
February 10, 2023

Parameter filtering and an improved ActionView::Helpers::TagHelper#token_list

Përshëndetje! Emmanuel here with the usual stuff. filtered_path in ActionController::Instrumentation event payloads over fullpath For security reasons, some data need to be filtered before it reaches bad actors. Rails now filters parameters in paths that may include sensitive information in logs. Instead of passing fullpath to ActionCo...
Read more
February 3, 2023

Week 05: Spring is here?

Hi, it’s zzak, happy 節分! I’m very excited for spring, this winter has been tough! Let’s get into this week’s changes in the Rails codebase. Use infinitive form for all task descriptions verbs All the common rails commands and some extended commands use the infinitive form for the verb in the description: “Generate …”, “Start …”, “Run …...
Read more
January 27, 2023

New AssumeSSL middleware, raise on missing translations everywhere, and more

Hi, it's Wojtek. Let's explore this week's changes in the Rails codebase. Rails 7.0.4.2 and 6.1.7.2 have been released Released 7.0.4.2 and 6.1.7.2 versions addressing a compatibility issue with the 7.0.4.1 and 6.1.7.1 security releases from last week. Allow use of SSL-terminating reserve proxy that doesn't set headers Add ActionDispat...
Read more

See more posts »