To be changed before Oban 3.0: ### Defaults - [ ] Use `scheduled_at` as unique timestamp by default - [ ] Set default `priority` to 1 rather than 0 ### Normalization - [ ] Normalize telemetry states from executor (success => completed, etc) - [ ] Normalize database states from `drain_queue/1` (discard => discarded, success => completed, etc.) - [ ] Remove `Oban.Migrations` alias ### Worker - [ ] Remove `:discard` and `{:discard, reason}` return values - [ ] Handle any size `:error` tuple, not just `{:error, reason}` - [ ] Don't wrap exceptions from return values in a `PerformError` ### Config - [ ] Remove top-level `crontab` option - [ ] Remove support for `Oban.Queue.BasicEngine` name - [ ] Remove support for `Oban.Plugins.Stager` config - [ ] Remove `Oban.PostgresNotifier` name - [ ] Remove `Oban.Peers.Postgres` name - [ ] Remove top-level `circuit_backoff` option - [ ] Remove use of `DYNO` for node name - [ ] Configure repo log level through `{Repo, opts}` ### Plugins - [ ] Remove `Repeater` plugin - [ ] Remove `Gossip` plugin ### Schema / Database - [ ] Collapse Postgres migrations - [ ] Use JSONB instead of arrays - [ ] Use UUIDv7 for ids ### Queue - [ ] Remove producer telemetry event ### Telemetry - [ ] Default to structured logs, not JSON in default logger - [ ] Include `crash_reason` in exception logs - [x] Set the log output domain to `oban` - [ ] Automatically attach logger on init (disable with `log` level) ⚠️ This is for tracking purposes as we have no intention of releasing 3.0 soon. Please do not send PRs!
To be changed before Oban 3.0:
Defaults
scheduled_atas unique timestamp by defaultpriorityto 1 rather than 0Normalization
drain_queue/1(discard => discarded, success => completed, etc.)Oban.MigrationsaliasWorker
:discardand{:discard, reason}return values:errortuple, not just{:error, reason}PerformErrorConfig
crontaboptionOban.Queue.BasicEnginenameOban.Plugins.StagerconfigOban.PostgresNotifiernameOban.Peers.Postgresnamecircuit_backoffoptionDYNOfor node name{Repo, opts}Plugins
RepeaterpluginGossippluginSchema / Database
Queue
Telemetry
crash_reasonin exception logsobanloglevel)