This release significantly improves the usability of Arcaflow.
The graceful handling of disabled steps changes make it so that you can disable steps without causing workflow failure. There are multiple methods to find tune to each use case.
Changes
* Graceful handling of disabled steps (documentation: [arcalot.io](https://arcalot.io/arcaflow/workflows/flow-control/#graceful-handling-of-disabled-steps))
* Added `!oneof` for OR dependencies in inferred outputs.
* Added `!ordisabled` for convenience OR dependency on success and disabled outputs.
* Added `!wait-optional` for optional dependencies that resolve whenever something succeeds, but waits for success or failure, with the field being left out when the dependency fails.
* Added `!soft-optional` for optional dependencies that should not block output resolution. Not recommended for most use cases.
* Made generated schema IDs not enforced
* Inferred output schemas will not need to have the ID match
* Inferred step input objects will not need to have the ID match
* Bind constants function output will not need to have the ID match.
PRs
* Add random numbering to the loadfile test by jaredoconnell in https://github.com/arcalot/arcaflow-engine/pull/203
* Use unenforced id feature by jaredoconnell in https://github.com/arcalot/arcaflow-engine/pull/204
* Oneof Outputs for Graceful Handling of Disabled Steps by jaredoconnell in https://github.com/arcalot/arcaflow-engine/pull/207
* Skip tests that require pulling container images by jaredoconnell in https://github.com/arcalot/arcaflow-engine/pull/209
* Add unit tests for buildOneOfExpressions by jaredoconnell in https://github.com/arcalot/arcaflow-engine/pull/208
* Added shorthand disable tag by jaredoconnell in https://github.com/arcalot/arcaflow-engine/pull/211
* Added optional expression tags by jaredoconnell in https://github.com/arcalot/arcaflow-engine/pull/212
* Added code to disable a foreach step by jaredoconnell in https://github.com/arcalot/arcaflow-engine/pull/213
* Reduce unnecessary warnings by jaredoconnell in https://github.com/arcalot/arcaflow-engine/pull/214
* Use local access for renovate config by webbnh in https://github.com/arcalot/arcaflow-engine/pull/215
* Update go updates by redhat-renovate-bot in https://github.com/arcalot/arcaflow-engine/pull/217
* Attempt to make TestEarlyStepCancellation test more reliable by jaredoconnell in https://github.com/arcalot/arcaflow-engine/pull/220
* Update go updates by redhat-renovate-bot in https://github.com/arcalot/arcaflow-engine/pull/222
* Update go updates by redhat-renovate-bot in https://github.com/arcalot/arcaflow-engine/pull/223
* Update go updates by redhat-renovate-bot in https://github.com/arcalot/arcaflow-engine/pull/226
* Update go updates by redhat-renovate-bot in https://github.com/arcalot/arcaflow-engine/pull/227
* Update go updates by redhat-renovate-bot in https://github.com/arcalot/arcaflow-engine/pull/229
* Update go updates by redhat-renovate-bot in https://github.com/arcalot/arcaflow-engine/pull/231
* switch from wait plugin to utilities plugin for wait step by dustinblack in https://github.com/arcalot/arcaflow-engine/pull/230
* Update go updates by redhat-renovate-bot in https://github.com/arcalot/arcaflow-engine/pull/232
* Move parallelism input to stage input by jaredoconnell in https://github.com/arcalot/arcaflow-engine/pull/233
* Update go updates by redhat-renovate-bot in https://github.com/arcalot/arcaflow-engine/pull/234
* Allow oneof in wait_for by jaredoconnell in https://github.com/arcalot/arcaflow-engine/pull/236
* Add support and test multiple wait_for dependencies by jaredoconnell in https://github.com/arcalot/arcaflow-engine/pull/237
* Fix error handling when aborting a workflow by jaredoconnell in https://github.com/arcalot/arcaflow-engine/pull/239
* Update go updates by redhat-renovate-bot in https://github.com/arcalot/arcaflow-engine/pull/235
* Update go updates by redhat-renovate-bot in https://github.com/arcalot/arcaflow-engine/pull/241
* Update go updates by redhat-renovate-bot in https://github.com/arcalot/arcaflow-engine/pull/243
* Update go updates by redhat-renovate-bot in https://github.com/arcalot/arcaflow-engine/pull/244
* Dependency updates by jaredoconnell in https://github.com/arcalot/arcaflow-engine/pull/249
* Update go updates to v5 by renovate in https://github.com/arcalot/arcaflow-engine/pull/248
New Contributors
* redhat-renovate-bot made their first contribution in https://github.com/arcalot/arcaflow-engine/pull/217
* renovate made their first contribution in https://github.com/arcalot/arcaflow-engine/pull/248
**Full Changelog**: https://github.com/arcalot/arcaflow-engine/compare/v0.19.1...v0.20.0