CHANGELOG.md

# Change Log

All notable changes to this project will be documented in this file.
See [Conventional Commits](Https://conventionalcommits.org) for commit guidelines.

<!-- changelog -->

## [v0.4.12](https://github.com/ash-project/ash_oban/compare/v0.4.11...v0.4.12) (2025-08-31)




### Bug Fixes:

* ensure ash_domains is set to a value when installing by Zach Daniel

## [v0.4.11](https://github.com/ash-project/ash_oban/compare/v0.4.10...v0.4.11) (2025-08-07)




### Improvements:

* support passing action_arguments to AshOban.schedule/3 (#180) by infinitis

## [v0.4.10](https://github.com/ash-project/ash_oban/compare/v0.4.9...v0.4.10) (2025-07-17)




### Improvements:

* support backoff + timeout options (#176) by Roberts Guļāns

## [v0.4.9](https://github.com/ash-project/ash_oban/compare/v0.4.8...v0.4.9) (2025-06-02)




### Bug Fixes:

* solve dialyzer error for on_error_fails_job

## [v0.4.8](https://github.com/ash-project/ash_oban/compare/v0.4.7...v0.4.8) (2025-05-30)




### Improvements:

* Add :on_error_fails_job? option for triggers (#159)

## [v0.4.7](https://github.com/ash-project/ash_oban/compare/v0.4.6...v0.4.7) (2025-05-22)




### Improvements:

* add usage-rules.md file

## [v0.4.6](https://github.com/ash-project/ash_oban/compare/v0.4.5...v0.4.6) (2025-04-29)




### Bug Fixes:

* don't add schedulers to cron when not defined

## [v0.4.5](https://github.com/ash-project/ash_oban/compare/v0.4.4...v0.4.5) (2025-04-15)




### Bug Fixes:

* handle empty batch in after_batch

## [v0.4.4](https://github.com/ash-project/ash_oban/compare/v0.4.3...v0.4.4) (2025-04-14)




### Bug Fixes:

* only define igniter code if igniter is loaded

## [v0.4.3](https://github.com/ash-project/ash_oban/compare/v0.4.2...v0.4.3) (2025-04-13)




### Improvements:

* add `AshOban.Igniter`

## [v0.4.2](https://github.com/ash-project/ash_oban/compare/v0.4.1...v0.4.2) (2025-04-09)




### Bug Fixes:

* only check sync mode for cron plugin (#149)

* check the proper location of `sync_mode`

* add correct cron plugin (#147)

* fix typing error for queries

### Improvements:

* add `actor_persister` trigger/scheduled action config

* allow both atomic and stream strategies (#148)

* add cron plugin to oban config (#146)

## [v0.4.1](https://github.com/ash-project/ash_oban/compare/v0.4.0...v0.4.1) (2025-03-18)




### Bug Fixes:

* pass tenant through Ash.ToTenant in run_oban_trigger (#138)

* don't warn on sync_mode when not using oban pro

## [v0.4.0](https://github.com/ash-project/ash_oban/compare/v0.3.5...v0.4.0) (2025-03-11)




### Features:

* after_batch for RunObanTrigger (#130)

### Bug Fixes:

* use proper name for scheduled actions in name setter task

* detect constructors w/ no do blocks in name setter task

* add missing tenant in handle_error query (#131)

* make sure to pass literal opts to use worker

### Improvements:

* add module name configurations deprecate not using them

* add `mix ash_oban.set_default_module_names`

* add upgrader for setting default module names in 0.4.0

## [v0.3.5](https://github.com/ash-project/ash_oban/compare/v0.3.4...v0.3.5) (2025-03-04)




### Improvements:

* add atomic callback for `run_oban_trigger`

## [v0.3.4](https://github.com/ash-project/ash_oban/compare/v0.3.3...v0.3.4) (2025-02-25)




### Improvements:

* add worker_opts for triggers (#126)

## [v0.3.3](https://github.com/ash-project/ash_oban/compare/v0.3.2...v0.3.3) (2025-02-17)




### Bug Fixes:

* pass `error` in bulk variants of error handler

* don't lock on atomic operation

* include `:executing` in the unique job states

* Ensure `run_oban_trigger` and scheduler are aware of the tenant in context-driven multi tenancy (#122)

* if we get and lock, do it before anything else

### Improvements:

* add trigger_once? option (#123)

* do error handling atomically as well

* avoid duplicative reads when working in a transaction

## [v0.3.2](https://github.com/ash-project/ash_oban/compare/v0.3.1...v0.3.2) (2025-02-11)




### Improvements:

* Import ash_oban in formatter dep (#119)

## [v0.3.1](https://github.com/ash-project/ash_oban/compare/v0.3.0...v0.3.1) (2025-01-27)




### Bug Fixes:

* properly parse code before installing

## [v0.3.0](https://github.com/ash-project/ash_oban/compare/v0.2.6...v0.3.0) (2025-01-27)




### Features:

* add list tenants option (#109)

* extra args (#107)

* add sort option

* better error message for scheduling a non existing trigger

* allow custom sort for scheduler read

### Bug Fixes:

* set necessary context on generic actions

### Improvements:

* add igniter installer (#113)

* Support triggering a job that uses a generic action (#99)

## [v0.2.6](https://github.com/ash-project/ash_oban/compare/v0.2.5...v0.2.6) (2024-11-04)




### Improvements:

* add `lock_for_update?` to the oban trigger DSL

* upgrade

## [v0.2.5](https://github.com/ash-project/ash_oban/compare/v0.2.4...v0.2.5) (2024-09-20)




### Improvements:

* support `action_arguments` option to `run_trigger`

* support fully atomic actions

* add `args` option for setting custom job arguments

## [v0.2.4](https://github.com/ash-project/ash_oban/compare/v0.2.3...v0.2.4) (2024-07-19)




### Improvements:

* loosen postgrex version requirement

## [v0.2.3](https://github.com/ash-project/ash_oban/compare/v0.2.3-rc.1...v0.2.3) (2024-05-10)




### Bug Fixes:

* plugins can just be modules

## [v0.2.3-rc.1](https://github.com/ash-project/ash_oban/compare/v0.2.3-rc.0...v0.2.3-rc.1) (2024-04-03)




### Bug Fixes:

* use `skip_unknown_inputs` to avoid unnecessary errors

* oban pro state active (#22)

* detect oban pro plugin usage and support dynamic queues (#20)

## [v0.2.3-rc.0](https://github.com/ash-project/ash_oban/compare/v0.2.2...v0.2.3-rc.0) (2024-03-29)




### Improvements:

* update to ash 3.0

## [v0.2.2](https://github.com/ash-project/ash_oban/compare/v0.2.1...v0.2.2) (2024-03-05)




### Bug Fixes:

* properly catch when trigger no longer applies

### Improvements:

* validate primary keys provided for job scheduling

* builds_trigger/3 to enable job composition without execution (#18)

## [v0.2.1](https://github.com/ash-project/ash_oban/compare/v0.2.0...v0.2.1) (2024-02-28)




### Bug Fixes:

* only drain queues when oban is in testing mode

* properly discard all non applicable jobs

### Improvements:

* support `Oban.Pro.Testing.drain_jobs`

## [v0.2.0](https://github.com/ash-project/ash_oban/compare/v0.1.14...v0.2.0) (2024-02-20)
### Breaking Changes:

* authorize always by default



### Improvements:

* allow turning new authorization behavior off

* add `actor_persister`, and use it automatically

* authorize?: true always

## [v0.1.14](https://github.com/ash-project/ash_oban/compare/v0.1.13...v0.1.14) (2024-02-16)




### Improvements:

* properly schedule scheduled actions

## [v0.1.13](https://github.com/ash-project/ash_oban/compare/v0.1.12...v0.1.13) (2024-01-12)




### Bug Fixes:

* Do not wrap `paused` and `delete` Cron options into `events` (#15)

* properly honor the `drain_queues?` option

## [v0.1.12](https://github.com/ash-project/ash_oban/compare/v0.1.11...v0.1.12) (2023-12-12)




### Improvements:

* make draining queues optional for `AshOban.schedule_and_run_triggers`

## [v0.1.11](https://github.com/ash-project/ash_oban/compare/v0.1.10...v0.1.11) (2023-12-12)




### Improvements:

* move schedule_and_run_triggers to `AshOban`

## [v0.1.10](https://github.com/ash-project/ash_oban/compare/v0.1.9...v0.1.10) (2023-12-07)




### Bug Fixes:

* fallback clause to match valid configurations

* add `cron` to opt schema

* reverted part of refactor in 82cb0f90d9c0550c98ca5a8081ef8bd581c66e0d (#14)

* nested pausing states under `events` option

* only supply metadata if `read_metadata` is set

* pass metadata argument on the udpate action

### Improvements:

* make `AshOban.Test` more configurable for scheduled actions

* add `scheduled_action` for scheduling create/generic actions

* log all errors by default, using `log_errors?` config

* expose drain options to AshOban.Test.schedule_and_run_triggers (#12)

* add `log_final_error?` and default it to `true`

* don't log on raised exception, for consistency

* support `require?: false` option on `config/3`.

* support `action_input` on triggers

## [v0.1.9](https://github.com/ash-project/ash_oban/compare/v0.1.8...v0.1.9) (2023-10-04)




### Improvements:

* more granular & more broad testing helpers

* more debug logs, make debugging opt-in

## [v0.1.8](https://github.com/ash-project/ash_oban/compare/v0.1.7...v0.1.8) (2023-09-16)




### Improvements:

* still validate queues even when no schedulers present

## [v0.1.7](https://github.com/ash-project/ash_oban/compare/v0.1.6...v0.1.7) (2023-09-16)




### Bug Fixes:

* don't schedule triggers with no scheduler

* make override job options optional (#8)

### Improvements:

* support providing an otp app to schedule and run triggers

* support apis/resources for ash_oban

* support overriding job opts in run_trigger (#7)

* support destroy actions in the trigger action

* debug logs

## [v0.1.6](https://github.com/ash-project/ash_oban/compare/v0.1.5...v0.1.6) (2023-08-29)




### Bug Fixes:

* verify trigger action exists in transformer

### Improvements:

* use read_metadata when manually scheduling

* allow `false` as the value for `scheduler_cron`

* add worker/scheduler priorities

## [v0.1.5](https://github.com/ash-project/ash_oban/compare/v0.1.4...v0.1.5) (2023-08-15)




### Bug Fixes:

* use same read_action in handle_error and in work

* another syntax issue with `drain_queue/2`

* drain_queue syntax issue

* Update base engine to support rename Oban.Pro.Engines.Smart

### Improvements:

* only invoke error handler on last attempt

* drain each queue twice

* add test helper for running triggers

* trigger_read_action, defaulting to read action

* read with primary read for trigger

* log error on scheduler failure

## [v0.1.4](https://github.com/ash-project/ash_oban/compare/v0.1.3...v0.1.4) (2023-06-10)




### Improvements:

* support `record_limit` to limit max processed records

## [v0.1.3](https://github.com/ash-project/ash_oban/compare/v0.1.2...v0.1.3) (2023-05-18)




### Bug Fixes:

* properly raise errors instead of swallowing them

* don't use `authorize?: false` for operations.

## [v0.1.2](https://github.com/ash-project/ash_oban/compare/v0.1.1...v0.1.2) (2023-05-08)




### Improvements:

* make scheduler default queue the same as worker

## [v0.1.1](https://github.com/ash-project/ash_oban/compare/v0.1.0...v0.1.1) (2023-05-01)




### Bug Fixes:

* add_error/1 does not exist

* `insert_all/1` not `insert_all!/1`

### Improvements:

* handle actions w/ before_transaction/after_transaction hooks better

## [v0.1.0](https://github.com/ash-project/ash_oban/compare/v0.1.0...v0.1.0) (2023-04-28)




### Features:

* initial feature set