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

推荐订阅源

N
Netflix TechBlog - Medium
T
The Blog of Author Tim Ferriss
aimingoo的专栏
aimingoo的专栏
A
About on SuperTechFans
Stack Overflow Blog
Stack Overflow Blog
B
Blog RSS Feed
Microsoft Security Blog
Microsoft Security Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
人人都是产品经理
人人都是产品经理
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
J
Java Code Geeks
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog
MongoDB | Blog
MongoDB | Blog
L
LangChain Blog
WordPress大学
WordPress大学
小众软件
小众软件
IT之家
IT之家
腾讯CDC
月光博客
月光博客
量子位
Blog — PlanetScale
Blog — PlanetScale
P
Proofpoint News Feed
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

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
Virtual columns, real bugfixes
David Heinemeier Hansson · 2025-10-03 · via Ruby on Rails: Compress the complexity of modern web apps

Friday, October 3, 2025
Posted by Claudio Baccigalupo

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

Bump PostgreSQL client version to 18

The PostgreSQL client version in the devcontainer now points to the latest release of PostgreSQL, which is great because…

Support virtual generated columns on PostgreSQL 18+

PostgreSQL 18 supports virtual (not persisted) columns, which can be added in Rails migrations with stored: false. For instance:

create_table :users do |t|
    t.string :name
    t.virtual :lower_name,  type: :string,  as: "LOWER(name)", stored: false
    t.virtual :name_length, type: :integer, as: "LENGTH(name)"
end

Fix Enumerable#sole when element is a tuple

Restores the original behavior so that calling Enumerable#sole on a tuple returns the full tuple (same as Enumerable#first).

Don’t leave parallel tests hanging when worker processes die

When parallel tests are running and a worker process dies abruptly, the test suite would hang forever. This fix now tracks PIDs alongside worker IDs, allowing it to map dead processes back to their worker entries for cleanup.

Stop escaping JS separators in JSON by default

Historically LINE SEPARATOR (U+2028) and PARAGRAPH SEPARATOR (U+2029) were not valid inside JavaScript literal strings but that changed in ECMAScript 2019, so there is no need to escape them anymore.

Don’t output deprecated message in newly generated applications

Prevents a depreciation message about raise_on_open_redirects from being shown in newly generated applications.

Don’t raise NameError when class_attribute is defined on a singleton

Defining class_attribute on an instance’s singleton class and then accessing the attribute through the instance was raising a NameError.

Add replicas to test database parallelization setup

Setup and configuration of databases for parallel testing now includes replicas. This fixes an issue where integration tests running in parallel would select the base test database instead of the numbered parallel worker database.

Add setting for logging redirect source locations

Redirects are used a lot and often defined in different locations for different purposes (authentication, authorization, fallbacks). A new config setting action_dispatch.verbose_redirect_logs is introduced to log the source location of all redirects.

Don’t let ActiveRecord#select generate duplicate columns

Fixes an issue in Rails 8.1.0.beta1 where using select in a subquery with distinct would cause a SQL error.

Prefer changed_for_autosave?

Fixes a regression in Rails 8.0.2 where previously valid models could become invalid through autosave when a distantly related record was deleted via nested attributes.

Clearing optional composite keys in belongs_to should preserve primary keys

Fixes an Active Record issue where trying to unset composite foreign key associations would raise an error.

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

Until next time!

Subscribe to get these updates mailed to you.