All notable changes to this project are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
0.2.1 - 2026-10-03
Changed
- Requires Mutare 0.5 (
{:mutare, "~> 0.5.0"}).
0.2.0 - 2026-09-26
Changed
- Mutare 0.4.1 or newer is required (
{:mutare, "~> 0.4.1"}). Mutare now hands a pipedargs |> MyWorker.new(opts)to the enqueue family as the direct call it is sugar for, so both spellings are matched by one path; the mutants, their variants and their notes are unchanged.
0.1.0 - 2026-09-07
Initial release.
Added
Mutare.Oban.WorkerReturn(:oban_worker_return) — swapsperform/1return values for other valid Oban returns (:ok/{:ok, v}→{:error, :mutare};{:error, reason}→:ok/{:cancel, reason};{:cancel, reason}→{:error, reason}/:ok;{:snooze, s}→:ok; legacy{:discard, reason}→:ok/{:cancel, reason}and bare:discard→:ok). Applies only insideOban.Worker/Oban.Pro.Workermodules, including branch tails viareturn_replacements. Declaresrequired_modules/0, so a run where Oban is not loadable fails at startup with aMutare.EnvironmentError.Mutare.Oban.Enqueue(:oban_enqueue) — rewritesMyWorker.new(args, opts)enqueue options (direct, aliased, or piped):max_attempts: n→1(n ≠ 1), and dropsunique:,schedule_in:, andscheduled_at:.- Report notes on every mutant describing assertions that could detect the changed behaviour.
- Ignore-variant labels on both families, so
# mutare:ignore[oban_worker_return:ok]/# mutare:ignore[oban_enqueue:unique]can suppress one kind of mutant. Mutare.Oban.all/0for splicing both families into a:mutatorslist.