Rails 7.2.3 (October 28, 2025)
Include the actual Active Job locale when serializing rather than
I18nlocale.Adrien S
Avoid crashing in Active Job logger when logging enqueueing errors
ActiveJob.perform_all_later could fail with a
TypeErrorwhen all provided jobs failed to be enqueueed.Efstathios Stivaros
Rails 7.2.2.2 (August 13, 2025)
- No changes.
Rails 7.2.2.1 (December 10, 2024)
- No changes.
Rails 7.2.2 (October 30, 2024)
- No changes.
Rails 7.2.1.2 (October 23, 2024)
- No changes.
Rails 7.2.1.1 (October 15, 2024)
- No changes.
Rails 7.2.1 (August 22, 2024)
- No changes.
Rails 7.2.0 (August 09, 2024)
All tests now respect the
active_job.queue_adapterconfig.Previously if you had set
config.active_job.queue_adapterin yourconfig/application.rborconfig/environments/test.rbfile, the adapter you selected was previously not used consistently across all tests. In some tests your adapter would be used, but other tests would use theTestAdapter.In Rails 7.2, all tests will respect the
queue_adapterconfig if provided. If no config is provided, theTestAdapterwill continue to be used.See #48585 for more details.
Alex Ghiculescu
Make Active Job transaction aware when used conjointly with Active Record.
A common mistake with Active Job is to enqueue jobs from inside a transaction, causing them to potentially be picked and ran by another process, before the transaction is committed, which may result in various errors.
Topic.transaction do topic = Topic.create(...) NewTopicNotificationJob.perform_later(topic) endNow Active Job will automatically defer the enqueuing to after the transaction is committed, and drop the job if the transaction is rolled back.
Various queue implementations can choose to disable this behavior, and users can disable it, or force it on a per job basis:
class NewTopicNotificationJob < ApplicationJob self.enqueue_after_transaction_commit = :never # or `:always` or `:default` endJean Boussier, Cristian Bica
Do not trigger immediate loading of
::ActiveJob::Basewhen loading::ActiveJob::TestHelper.Maxime Réty
Preserve the serialized timezone when deserializing
::ActiveSupport::TimeWithZonearguments.Joshua Young
Remove deprecated
:exponentially_longervalue for the:waitinretry_on.Rafael Mendonça França
Remove deprecated support to set numeric values to
scheduled_atattribute.Rafael Mendonça França
Deprecate
Rails.application.config.active_job.use_big_decimal_serializer.Rafael Mendonça França
Remove deprecated primitive serializer for
BigDecimalarguments.Rafael Mendonça França
Please check [7-1-stable]) for previous changes.