惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
阮一峰的网络日志
阮一峰的网络日志
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
博客园 - 叶小钗
Hugging Face - Blog
Hugging Face - Blog
博客园 - 司徒正美
Last Week in AI
Last Week in AI
罗磊的独立博客
量子位
Jina AI
Jina AI
T
Tailwind CSS Blog
Apple Machine Learning Research
Apple Machine Learning Research
IT之家
IT之家
美团技术团队
雷峰网
雷峰网
爱范儿
爱范儿
S
SegmentFault 最新的问题
小众软件
小众软件
月光博客
月光博客
酷 壳 – CoolShell
酷 壳 – CoolShell
人人都是产品经理
人人都是产品经理
The Cloudflare Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

Ruby on Rails: Compress the complexity of modern web apps

Safer to_i coercion, custom to_fs formats, and more! This Week in Rails: May 16, 2026 This Week in Rails: May 8, 2026 This Week in Rails: May 1, 2026 Active Record gets better every week Great big Rails World 2026 update: CFP, Corporate Support tickets, workshops Query command for database queries and more Explicit query: and body: kwargs for integration tests and more! Speedup ActiveRecord::LogSubscriber#sql_color and more! This Week in Rails: March 27, 2026 Rails Versions 8.0.5 and 8.1.3 have been released! Rails Versions 7.2.3.1, 8.0.4.1, and 8.1.2.1 have been released! This Week in Rails: March 20, 2026 Validate URI scheme in Action Text and more This Week in Rails: March 6, 2026 Planning Center is the newest Rails Foundation Contributing member Action Text gets Markdown conversion, editor links in devcontainers, and more! BARRA seeks Rails developer Joe Agliozzo is looking for a Rails developer The rise of lighttpd as the alternative web server When longer is better and more is more Snowdevil: First e-tailer on Rails Natural selection for frameworks in Ruby vs Java Address book tutorial in Portuguese Becoming a better programmer with Rails 10 Things Every Java Programmer Should Know About Ruby Really Getting Started in Rails Off the Treadmill, Onto the Rails Rails 0.9.5: A world of fixes and tweaks Rich clients with Rails and XUL
BacktraceCleaner gets first_clean_frame and first_clean_l...
David Heinemeier Hansson · 2025-06-27 · via Ruby on Rails: Compress the complexity of modern web apps

Friday, June 27, 2025
Posted by zzak

Hi, it’s zzak. Let’s explore this week’s changes in the Rails codebase.

The Rails Foundation launched a new podcast: ‘On Rails’ with host Robby Russell
In each episode, Robby talks with Rails devs and explores the real-world decisions that go into building, maintaining, and scaling Ruby on Rails applications. Episode one is already up with guest Rosa Gutiérrez. Listen at podcast.rubyonrails.org, or in your favorite podcast app.

Improve CurrentAttribute and ExecutionContext state management in test cases
Previously these two global state would be entirely cleared out whenever calling into code that is wrapped by the Rails executor, typically Action Controller or Active Job helpers. Now re-entering the executor will properly save and restore that state.

Implement ActiveSupport::BacktraceCleaner#first_clean_frame
The new method ActiveSupport::BacktraceCleaner#first_clean_frame returns the first clean frame of the caller’s backtrace, or nil. Useful when you want to report the application-level frame where something happened, for example the caller that emitted a warning you are tracking in production.

Implement ActiveSupport::BacktraceCleaner#first_clean_location
The new method ActiveSupport::BacktraceCleaner#first_clean_location returns the first clean location of the caller’s call stack, or nil. Locations are Thread::Backtrace::Location objects. Useful when you want to report the application-level location where something happened, for example the source file and line number of a warning you are tracking in production.

Respect users configured IRB_NAME
Rails will now honor when the user has configured IRB.conf[:IRB_NAME]. This PR makes it so the IRB_NAME is only set if it is not the default, similar to the way the PROMPT_MODE is set.

Active Job Continuation isolated steps
Add an isolated option to steps. Defaults to false. Isolated steps are always run in their own job execution. This allows you to execute a long running step separately which is useful to ensure that progress is saved before it runs.

Use ntuples to populate row_count instead of count for Postgres
Now row_count in the sql.active_record notification will use PG::Result#ntuples, a libpq function for getting the number of rows returned from a query, rather than #count which would iterate through the entire result set.

Fix checking unpersisted record is included in strict HABTM association
Previously, trying to check whether a new_record? (Post.new) is include?d in a strict-loaded has_and_belongs_to_many association would raise a StrictLoadingViolationError even when the HABTM association is already loaded.

FileUpdateChecker and EventedFileUpdateChecker ignore changes in Gem.path now
This should improve the performance of reloads in development on an app with many gems.

You can view the whole list of changes here. We had 24 contributors to the Rails codebase this past week!

Until next time!

Subscribe to get these updates mailed to you.