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

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
量子位
H
Help Net Security
Microsoft Azure Blog
Microsoft Azure Blog
MongoDB | Blog
MongoDB | Blog
小众软件
小众软件
爱范儿
爱范儿
博客园 - 【当耐特】
Vercel News
Vercel News
S
SegmentFault 最新的问题
M
MIT News - Artificial intelligence
F
Fortinet All Blogs
Apple Machine Learning Research
Apple Machine Learning Research
GbyAI
GbyAI
博客园 - 叶小钗
博客园_首页
V
Visual Studio Blog
宝玉的分享
宝玉的分享
B
Blog
MyScale Blog
MyScale Blog
C
Check Point Blog
博客园 - 三生石上(FineUI控件)
L
LangChain Blog
V
V2EX

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
New date time helpers, improved hash methods and more!
David Heinemeier Hansson · 2026-02-20 · via Ruby on Rails: Compress the complexity of modern web apps

Friday, February 20, 2026
Posted by vipulnsward

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

Don’t filter StructuredEventSubscriber payloads
Previously, StructuredEventSubscriber was filtering out certain keys from event payloads. This PR removes that filtering, so subscribers receive the full, unmodified payload giving developers access to the complete event data they expect.

Optimize calculating remote IP address
Improves the performance of ActionDispatch’s remote IP calculation logic, reducing unnecessary processing on each request when determining the client’s IP address.

Fix in_batches(use_ranges: true) with predefined limit
Fixes a bug where calling in_batches with both use_ranges: true and a predefined limit would not respect the limit correctly, causing unexpected batch sizes.

Improve #hash methods
Starting Ruby 3.2, hashes can avoid allocating an array when computing hash values. This PR removes the manual array-combining workaround from Rails’ #hash implementations, making them simpler and more efficient.

Fix SQLite3 rowid column equality
Fixes an equality comparison issue with SQLite3’s implicit rowid column, ensuring that column comparisons work correctly for tables that rely on rowid as their primary key.

Include virtual? in Column#== and Column#hash for SQLite3 and PostgreSQL
Virtual (generated) columns could be incorrectly deduplicated with regular columns sharing the same name and type, silently excluding them from INSERT/UPDATE statements and writing NULL to the database. This PR ensures virtual and non-virtual columns are never treated as identical.

Add non-interactive exec subcommand to devcontainer tool
Adds a devcontainer exec subcommand so developers can run commands inside the container from outside it without needing an interactive shell session.

Materialize transactions before instrumentation
Ensures that database transactions are fully materialized (i.e., actually opened against the database) before instrumentation events are emitted. This gives subscribers accurate timing data that reflects when the real database work occurred.

Add parallel step groups to CI runner
Improves the Rails CI pipeline by grouping test steps into parallel execution groups, speeding up the overall CI run time.

Fix UnknownHttpMethod returning 500 instead of 405
When a request comes in with an unrecognized HTTP verb, Rails now correctly returns a 405 Method Not Allowed response instead of a 500 Internal Server Error. This long-standing issue was causing unnecessary noise in error monitoring tools.

Introduce this_week?, this_month?, and this_year? to Date/Time
Adds three convenient predicate methods to Date, Time, and DateTime objects. Instead of manually comparing against ranges, you can now call date.this_week?, date.this_month?, or date.this_year? for clean, readable time checks.

Skip ROLLBACK statement following TransactionRollbackError When a COMMIT fails with a TransactionRollbackError, Rails was unnecessarily issuing a ROLLBACK even though the database had already rolled it back causing a “WARNING: there is no transaction in progress” message in the logs. This PR skips the redundant ROLLBACK, eliminating the warning at its source.


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

Until next time!

Subscribe to get these updates mailed to you.