2023-04-19 14:13:34 +12:00
|
|
|
# Change Log
|
|
|
|
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
See [Conventional Commits](Https://conventionalcommits.org) for commit guidelines.
|
|
|
|
|
|
|
|
<!-- changelog -->
|
|
|
|
|
2024-05-08 19:24:46 +12:00
|
|
|
## [v0.8.2](https://github.com/ash-project/reactor/compare/v0.8.1...v0.8.2) (2024-05-08)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Bug Fixes:
|
|
|
|
|
|
|
|
* initialisation issue with middlewares.
|
|
|
|
|
2024-03-21 10:47:21 +13:00
|
|
|
## [v0.8.1](https://github.com/ash-project/reactor/compare/v0.8.0...v0.8.1) (2024-03-20)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Bug Fixes:
|
|
|
|
|
|
|
|
* RunStepError: pass entire step struct instead of just name when raising.
|
|
|
|
|
2024-03-19 10:46:55 +13:00
|
|
|
## [v0.8.0](https://github.com/ash-project/reactor/compare/v0.7.0...v0.8.0) (2024-03-18)
|
|
|
|
### Breaking Changes:
|
|
|
|
|
|
|
|
* Use `Splode` for managing errors. (#97)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Bug Fixes:
|
|
|
|
|
|
|
|
* Don't assume `UndefinedFunctionError` means the module is not a Reactor.
|
|
|
|
|
|
|
|
### Improvements:
|
|
|
|
|
|
|
|
* Add template guards.
|
|
|
|
|
2024-02-29 09:28:25 +13:00
|
|
|
## [v0.7.0](https://github.com/ash-project/reactor/compare/v0.6.0...v0.7.0) (2024-02-28)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Features:
|
|
|
|
|
|
|
|
* Add telemetry middleware. (#93)
|
|
|
|
|
|
|
|
* Add a middleware which emits telemetry events about Reactor.
|
|
|
|
|
|
|
|
### Bug Fixes:
|
|
|
|
|
|
|
|
* incorrect function arity for `Group.after_fun` DSL.
|
|
|
|
|
|
|
|
### Improvements:
|
|
|
|
|
|
|
|
* don't incur compile-time dependencies on middleware.
|
|
|
|
|
2024-02-26 16:26:07 +13:00
|
|
|
## [v0.6.0](https://github.com/ash-project/reactor/compare/v0.5.2...v0.6.0) (2024-02-26)
|
|
|
|
### Breaking Changes:
|
|
|
|
|
|
|
|
* Remove hooks and replace with middleware behaviour. (#90)
|
|
|
|
|
|
|
|
* Remove hooks and replace with middleware behaviour.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Improvements:
|
|
|
|
|
|
|
|
* Middleware: Add `get_process_context/0` and `set_process_context/1` middleware hooks.
|
|
|
|
|
|
|
|
* Add step event callback to middleware.
|
|
|
|
|
2024-02-19 10:46:22 +13:00
|
|
|
## [v0.5.2](https://github.com/ash-project/reactor/compare/v0.5.1...v0.5.2) (2024-02-18)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Bug Fixes:
|
|
|
|
|
|
|
|
* callback spec for `Reactor.Step.async?/1`.
|
|
|
|
|
|
|
|
### Performance Improvements:
|
|
|
|
|
|
|
|
* Don't iterate the entire graph every time through the loop. (#88)
|
|
|
|
|
2024-02-15 11:28:57 +13:00
|
|
|
## [v0.5.1](https://github.com/ash-project/reactor/compare/v0.5.0...v0.5.1) (2024-02-14)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Improvements:
|
|
|
|
|
|
|
|
* Move `can?/2` and `async?/1` into `Reactor.Step` behaviour. (#87)
|
|
|
|
|
2024-02-08 12:33:36 +13:00
|
|
|
## [v0.5.0](https://github.com/ash-project/reactor/compare/v0.4.1...v0.5.0) (2024-02-07)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Features:
|
|
|
|
|
|
|
|
* Add lifecycle hooks to Reactor (#83)
|
|
|
|
|
|
|
|
### Bug Fixes:
|
|
|
|
|
|
|
|
* don't deadlock when lots of async reactors are sharing a concurrency pool. (#36)
|
|
|
|
|
|
|
|
* weird issue with aliases sometimes not being expanded in generated reactors. (#58)
|
|
|
|
|
|
|
|
### Improvements:
|
|
|
|
|
|
|
|
* Add ability for steps to decide at runtime whether they should be run asyncronously. (#84)
|
|
|
|
|
2023-09-26 15:58:43 +13:00
|
|
|
## [v0.4.1](https://github.com/ash-project/reactor/compare/v0.4.0...v0.4.1) (2023-09-26)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Bug Fixes:
|
|
|
|
|
|
|
|
* weird issue with aliases sometimes not being expanded in generated reactors.
|
|
|
|
|
2023-09-11 12:07:39 +12:00
|
|
|
## [v0.4.0](https://github.com/ash-project/reactor/compare/v0.3.5...v0.4.0) (2023-09-11)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Features:
|
|
|
|
|
|
|
|
* Add `collect` step entity. (#53)
|
|
|
|
|
2023-09-06 12:36:47 +12:00
|
|
|
## [v0.3.5](https://github.com/ash-project/reactor/compare/v0.3.4...v0.3.5) (2023-09-06)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Improvements:
|
|
|
|
|
|
|
|
* Template: Abstract template type so that it can be used by extensions.
|
|
|
|
|
2023-09-04 13:36:06 +12:00
|
|
|
## [v0.3.4](https://github.com/ash-project/reactor/compare/v0.3.3...v0.3.4) (2023-09-04)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Bug Fixes:
|
|
|
|
|
|
|
|
* Allow `reactor` DSL section to be patched.
|
|
|
|
|
|
|
|
* Reactor: fix call to `use Spark.Dsl`.
|
|
|
|
|
2023-09-01 13:51:08 +12:00
|
|
|
## [v0.3.3](https://github.com/ash-project/reactor/compare/v0.3.2...v0.3.3) (2023-09-01)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Improvements:
|
|
|
|
|
|
|
|
* Dsl: Extract DSL entities into their target modules. (#50)
|
|
|
|
|
2023-07-27 15:22:03 +12:00
|
|
|
## [v0.3.2](https://github.com/ash-project/reactor/compare/v0.3.1...v0.3.2) (2023-07-27)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Bug Fixes:
|
|
|
|
|
|
|
|
* Don't swallow errors when a step runs out of retries. (#41)
|
|
|
|
|
2023-07-25 11:08:47 +12:00
|
|
|
## [v0.3.1](https://github.com/ash-project/reactor/compare/v0.3.0...v0.3.1) (2023-07-24)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Improvements:
|
|
|
|
|
|
|
|
* Add `wait_for` DSL. (#39)
|
|
|
|
|
|
|
|
* Add "subpaths" to templates. (#31)
|
|
|
|
|
|
|
|
* Step.Debug: Add `debug` step and DSL. (#30)
|
|
|
|
|
|
|
|
* Step.Switch: Add `switch` DSL and step type. (#29)
|
|
|
|
|
2023-07-04 09:41:51 +12:00
|
|
|
## [v0.3.0](https://github.com/ash-project/reactor/compare/v0.2.4...v0.3.0) (2023-07-03)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Features:
|
|
|
|
|
|
|
|
* Step.Around: Add ability to wrap a function around a group of steps. (#24)
|
|
|
|
|
|
|
|
### Bug Fixes:
|
|
|
|
|
|
|
|
* Executor: don't double-iterate the graph each time through the loop.
|
|
|
|
|
|
|
|
### Improvements:
|
|
|
|
|
|
|
|
* Add `group` DSL entity and `Reactor.Step.Group`. (#27)
|
|
|
|
|
|
|
|
* Reactor.Executor: track concurrent process usage across multiple reactors. (#26)
|
|
|
|
|
|
|
|
* Support `timeout` and `async?` Reactor options. (#20)
|
|
|
|
|
|
|
|
* Invert DSL entity building. (#19)
|
|
|
|
|
|
|
|
* Allow entire step behaviour to be defined in the DSL. (#18)
|
|
|
|
|
|
|
|
### Performance Improvements:
|
|
|
|
|
|
|
|
* Dsl: Build and pre-plan DSL reactors.
|
|
|
|
|
|
|
|
* Builder: build transformation steps as synchronous.
|
|
|
|
|
2023-06-15 16:40:20 +12:00
|
|
|
## [v0.2.4](https://github.com/ash-project/reactor/compare/v0.2.3...v0.2.4) (2023-06-15)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Improvements:
|
|
|
|
|
|
|
|
* Add ability to compose reactors.
|
|
|
|
|
|
|
|
* Builder: rename internally generated steps to start with `:__reactor__`. (#10)
|
|
|
|
|
2023-06-08 11:45:51 +12:00
|
|
|
## [v0.2.3](https://github.com/ash-project/reactor/compare/v0.2.2...v0.2.3) (2023-06-07)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Improvements:
|
|
|
|
|
|
|
|
* Add step-wide argument transforms. (#9)
|
|
|
|
|
|
|
|
* Add step-wide argument transforms.
|
|
|
|
|
2023-05-15 17:14:56 +12:00
|
|
|
## [v0.2.2](https://github.com/ash-project/reactor/compare/v0.2.1...v0.2.2) (2023-05-15)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Bug Fixes:
|
|
|
|
|
|
|
|
* Reactor.Argument: Remove spurious `is_atom` constraint on `Argument.from_input/2..3`.
|
|
|
|
|
2023-05-12 15:55:18 +12:00
|
|
|
## [v0.2.1](https://github.com/ash-project/reactor/compare/v0.2.0...v0.2.1) (2023-05-12)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Improvements:
|
|
|
|
|
|
|
|
* Reactor.Step: remove `can?/1` and replace with optional callbacks. (#6)
|
|
|
|
|
2023-05-10 16:32:55 +12:00
|
|
|
## [v0.2.0](https://github.com/ash-project/reactor/compare/v0.1.0...v0.2.0) (2023-05-10)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Features:
|
|
|
|
|
|
|
|
* implement basic reactor behaviour. (#1)
|
|
|
|
|
2023-04-19 14:13:34 +12:00
|
|
|
## [v0.1.0](https://github.com/ash-project/reactor/compare/v0.1.0...v0.1.0) (2023-04-19)
|
|
|
|
|
|
|
|
|
|
|
|
|