Friday, July 10, 2026

Date.this_quarter? and more

Posted by Wojtek

Hi, Wojtek here. Let’s explore this week’s changes in the Rails codebase.

The Rails Foundation is inviting RUG organizers from around the world to apply to be a Rails World MC
Ruby User Group organizers are a huge part of what makes the Ruby ecosystem special. They grow the community, create welcoming spaces, introduce speakers, keep events running smoothly, and make newcomers feel at home - all the things that make a great Rails World MC.

Add this_quarter? to Date/Time
It returns true if the date/time falls within the current quarter.

Date.current #=> Tue, 15 Feb 2000
Date.new(2000, 3, 31).this_quarter?  # => true
Date.new(2000, 4, 1).this_quarter?   # => false

Add ActiveJob::DeserializationError::RecordNotFound
Raised when argument deserialization fails because a referenced record could not be found, and not for any other reason.

Introduce ractorize!
Added Rails::Application#ractorize! method which prepares the application to be shared and then calls Ractor.make_shareable on it.

Fix ActionController::Live streams hanging on client disconnect
ActionController::Live::Buffer#abort cleared the streaming queue but never enqueued the terminator that each_chunk uses to exit, so a reader thread blocked in SizedQueue#pop was never woken and the request thread hung indefinitely.

Support endless and beginless ranges in number_field_tag / range_field_tag
Fixes raising RangeError when endless or beginless ranges passed.

Honor an explicit value: nil in color_field
Previously, passing value: nil was ignored and the field still pre-filled from the model’s stored color.

Deprecated the ActionController::Renderers::RENDERERS constant
This constant was for internal usage but had a documentation and wasn’t set as private. Applications that needs to add or remove renderers should be using the public API instead:

ActionController.add_renderer(:rtf) do
end

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

Until next time!

Subscribe to get these updates mailed to you.