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.
Pull Requests
* 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
**Full Changelog**: https://github.com/arcalot/arcaflow-engine/compare/v0.19.1...v0.20.0-beta.1