Releases: Betterment/delayed
v0.5.5
What's Changed
- Fix spin-loop/cleanup failure mode within run loop by @smudge in #42
- Handle proper values for ActiveJob.enqueue_after_transaction_commit for Rails 7.2 support by @warmerzega in #43
New Contributors
- @warmerzega made their first contribution in #43
Full Changelog: v0.5.4...v0.5.5
v0.5.4 - New `assign_at_midpoint` config! (and Rails 7.2 prep)
0.5.0: Handler optimization and deserialization fix
This release reduces the handler size by excluding the redundant 'job:' key (only 'job_data:' is necessary).
This ensures that a job can be deserialized even if the underlying ActiveJob class is unknown to the worker, and will result in a retryable NameError
instead of a permanently-failed DeserializationError
.
0.4.0: Ruby 3.0+ keyword argument support
This release irons out a few kinks in the way that .delay
and handle_asynchronously
forward keyword arguments through to the delayed method call, with support for the new separation of positional and keyword arguments introduced in 2.7 and enforced in 3.0.
Since Ruby 3.0-style kwargs are already fully supported via ActiveJob (which we strongly recommend using going forward), this means that this library is now fully Ruby 3.0-capable!
A minor internal detail:
Delayed::PerformableMethod
now splits kwargs
out into a separate attribute, while still being backwards-compatible with jobs enqueued via the previous gem version. This is an undocumented internal API and is not considered a breaking change, but if you had previously relied on payload_object.args.last
to access keyword arguments, you must now use payload_object.kwargs
.
0.3.0: Official Rails 7 Support (alpha2)
Added
- Add more official support for Rails 7.0 (currently alpha2). There were no gem conflicts, but this
adds an entry to ourAppraisals
file so that we run CI tests against ActiveRecord 7.
Fixed
- Fix Rails 7.0 deprecation warnings caused by usages of
ActiveRecord::Base.default_timestamp
- Fix tests that relied on classic autoloader behavior. Now we pull in Zeitwerk where necessary.
- Fix a couple issues caught by the linter, most notably resulting in a switch from
IO.select(...)
toIO#wait_readable(...)
, improving support for Ruby 3 scheduler hooks.
0.2.0: Rails 6.1 fixes + improved constant autoloading
- Fixed the loading of
Delayed::Job
constant on newly-generated Rails 6.1 apps. (previously, the
constant would not be available untilActiveRecord::Base
was referenced for the first time) - The
Delayed::Railtie
is now aDelayed::Engine
, allowing it to autoload constants via Rails'
built-in autoloader. In a non-Rails context,require 'delayed'
will eager-load its models.
0.1.1: A CHANGELOG!
This release adds a CHANGELOG file!
It also fixes the gemspec description, which had previously been written in rdoc format (causing it to appear garbled on rubygems.org).
0.1.0: Initial release!
This repo is the result of some merging, squashing, and commit massaging, in preparation for a public release! The goal was to maintain historical commit authorship of the ancestor repos (delayed_job and delayed_job_active_record), plus the changes from Betterment's internal forks.