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

推荐订阅源

aimingoo的专栏
aimingoo的专栏
Jina AI
Jina AI
WordPress大学
WordPress大学
Recent Announcements
Recent Announcements
G
Google Developers Blog
I
InfoQ
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Google DeepMind News
Google DeepMind News
P
Proofpoint News Feed
MyScale Blog
MyScale Blog
M
MIT News - Artificial intelligence
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
C
Check Point Blog
J
Java Code Geeks
T
Tailwind CSS Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Microsoft Security Blog
Microsoft Security Blog
MongoDB | Blog
MongoDB | Blog
V
Visual Studio Blog
人人都是产品经理
人人都是产品经理
量子位
A
About on SuperTechFans
D
DataBreaches.Net
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

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
'Tis the season for contributing to Rails
David Heinemeier Hansson · 2025-12-12 · via Ruby on Rails: Compress the complexity of modern web apps

Friday, December 12, 2025
Posted by claudiob

Hi, it’s Claudio Baccigalupo. So many improvements to the Rails codebase this week!

If you are also looking to contribute, there are several documentation PRs open for community review. Oh and we also have some Rails World 2026 updates! And now, let’s get to the PR-esents 🎁

ActiveStorage immediate variants
Attachment variants gain the process: :immediately option:

has_one_attached :avatar_with_immediate do |attachable|
  attachable.variant :thumb, resize_to_limit: [4, 4], process: :immediately
end

Attachments with process: :immediately variants now eagerly analyze during validation, making metadata like image dimensions available for custom validations:

def validate_avatar_dimensions
  if avatar.metadata[:width] < 200 || avatar.metadata[:height] < 200
    errors.add(:avatar, "must be at least 200x200")
  end
end

Immediate variant processing and blob analysis use local files directly instead of re-downloading after upload. Applies when attaching uploadable io, not when attaching an existing Blob.

Deprecate PreviewImageJob
PreviewImageJob is no longer called by Rails and is now officially deprecated.

Add SVG renderer
Define a to_svg method on your model and render SVG directly in your controller:

respond_to do |format|
  format.html
  format.svg { render svg: @page }
end

Yield the transaction for Model#with_lock
ActiveRecord::Base#with_lock now yields the transaction the same way that transaction does:

person.with_lock do |transaction|
  transaction.after_commit { puts "hello" }
end

Enable debug events by default
The use case is primarily for test or when using framework libraries outside of Rails. In these cases, we shouldn’t assume debug events need to be obfuscated.

Respect config.log_level to emit debug events
Using RAILS_LOG_LEVEL=debug in production will now work as expected.

Add structured event for open redirects
Applications with config.action_controller.action_on_open_redirect = :notify automatically get a structured log event rather than having to configure their own subscriber to the Active Support Notification.

Fix ERB strict locals spanning multiple lines
ERB partials with the locals: magic comment on multiple lines will now work without issues, even when the closing parenthesis is on a new line:

<%# locals: (arg_1:,
             arg_2: nil,
             arg_3: []) %>

Combine tag content supplied via both parameter and block
A snuppet of code such as tag.div("Hello ") { "World" } would just return <div>World</div>. With this fix, it’s going to return <div>Hello World</div>.

Allow schema_dump configuration to be an absolute path
ActiveRecord::Tasks::DatabaseTasks.schema_dump_path now supports absolute paths to specifyi the schema dump database configuration.

Make flaky parallel tests easier to diagnose
Rails assigns tests to workers in round-robin order so the same --seed and worker count will result in the same sequence of tests running on each worker increasing the odds of reproducing test failures caused by test interdependence.

Register file extensions for rails stats
Rails::CodeStatistics gains a register_extension method to for adding file extensions to be included when generating code analytics with rails stats.

Fix Inflections.instance_or_fallback to properly find :en fallback
The pluralize helper will now respect fallback to :en for custom locales.

Wrap console command with an executor by default
This can be disabled with -w or --skip_executor, same as runner.

Extract ActionText::Editor base class and ActionText::TrixEditor adapter
The aim is to provide a single, extensible entrypoint for third-party editors to integrate with Action Text.

Validate RemoteImage URLs
Within Action Text, RemoteImage.from_node now validates the URL before creating a RemoteImage object in order to avoid a potential ActionView::Template::Error when the image is rendered.

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

Until next time!

Subscribe to get these updates mailed to you.