Please visit the GitHub releases page to see changelog entries for all new releases.
- Bring ActiveJob queue adapter's enqueuing behaviour inline with delayed_job & upstream adapters, by stopping it serializing & deserializing the job instance during the enqueue process. Optimises the enqueueing of jobs slightly too.
- Fixed regression for Rails 7.1.1 not executing jobs, due to lazy loading change in Rails.
The
JobWrapperneeds to be loaded beforeActiveJob::Baseis loaded, but this wasn't happening in the worker processes. Fix by extractingJobWrapperinto it's own file and loading whenDelayedis loaded earlier in the process.
- Explicitly test Rails 7.1 and Ruby 3.1, Ruby 3.2 to verify compatability. Previous gems were compatible, but this release is now verified to be compatible.
0.5.0 - 2023-01-20
- Reduced handler size by excluding 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
NameErrorinstead of a permanently-failedDeserializationError.
0.4.0 - 2021-11-30
- Fix Ruby 3.0 kwarg compatibility issue when executing jobs enqueued via the
Delayed::MessageSendingAPIs (.delayandhandle_asynchronously).
Delayed::PerformableMethodnow splitskwargsout 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 onpayload_object.args.lastto access keyword arguments, you must now usepayload_object.kwargs.
0.3.0 - 2021-10-26
- Add more official support for Rails 7.0 (currently alpha2). There were no gem conflicts, but this
adds an entry to our
Appraisalsfile so that we run CI tests against ActiveRecord 7.
- 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 - 2021-08-30
- Fix the loading of
Delayed::Jobconstant on newly-generated Rails 6.1 apps. (previously, the constant would not be available untilActiveRecord::Basewas referenced for the first time)
- The
Delayed::Railtieis 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 - 2021-08-19
- This CHANGELOG file!
- Fix the gemspec description, which had previously been written in rdoc format (causing it to appear garbled on rubygems.org).
0.1.0 - 2021-08-17
- 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_jobanddelayed_job_active_record), plus the changes from Betterment's internal forks.