Arcaflow

Latest version: v0.20.0

Safety actively analyzes 726393 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 9

0.20.0beta.1

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

0.19.1

Critical Fixes
Upgrading `github.com/docker/docker v26.1.5` to fix [CVE-2024-41110](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-41110).

New Features
getEnvVar()
A simple builtin function for a workflow to get the value of an environment variable on the arcaflow engine's host computing environment. The first parameter is your environment variable's identifier, and the second parameter is the value used if your environment variable is not found.

`workflow.yaml`
yaml
steps:
stressng:
input:
stressors:
stressor: cpu
workers: !expr 'getEnvVar(QTY_WORKERS_CPU, 1)'


Get Object Namespaces
Use the `--get-namespaces` option at the cli to get the objects and their namespaces from a workflow and present them as a table.

shell
❯ ./arcaflow --get-namespaces --workflow workflow.yaml --config config.yaml --input input.yaml
OBJECT NAMESPACE
HogCpuInput $.steps.hog_cpu_wf.execute.inputs.items
KubernetesTarget $.steps.hog_cpu_wf.execute.inputs.items
ThirdObject $.steps.hog_cpu_wf.execute.inputs.items
StressNGParams $.steps.hog_cpu_wf.execute.inputs.items.stressng_params
error $.steps.hog_cpu_wf.failed.outputs.error
data $.steps.hog_cpu_wf.outputs.outputs.success


given `workflow.yaml`
yaml

0.19.0beta.1

What's Changed
* Update the CI's use of the common Go reusable workflows by webbnh in https://github.com/arcalot/arcaflow-engine/pull/194
* Use dependency system: Part 1 by jaredoconnell in https://github.com/arcalot/arcaflow-engine/pull/193
* Added function getEnvVar() by jaredoconnell in https://github.com/arcalot/arcaflow-engine/pull/196
* Make Namespace Behavior Public by mfleader in https://github.com/arcalot/arcaflow-engine/pull/199
* CLI Show Workflow Namespaces Option by mfleader in https://github.com/arcalot/arcaflow-engine/pull/200
* Use dependency System: Part 2; Marking as unresolvable by jaredoconnell in https://github.com/arcalot/arcaflow-engine/pull/197


**Full Changelog**: https://github.com/arcalot/arcaflow-engine/compare/v0.18.1...v0.19.0-beta.1

0.18.1

What's Changed
* change method of setting config defaults by dustinblack in https://github.com/arcalot/arcaflow-engine/pull/192


**Full Changelog**: https://github.com/arcalot/arcaflow-engine/compare/v0.18.0...v0.18.1

0.18.0

What's Changed
* Version and flags by dustinblack in https://github.com/arcalot/arcaflow-engine/pull/182


**Full Changelog**: https://github.com/arcalot/arcaflow-engine/compare/v0.17.2...v0.18.0

0.17.2

The CI now uses the organization-wide GO version variable, which as of the time of this release is set to 1.21.11.
This should result in 1.21.11 being used for the build artifacts, including the Python library.

What's Changed
* Refactor build workflow by webbnh in https://github.com/arcalot/arcaflow-engine/pull/187
* Updated dependencies by jaredoconnell in https://github.com/arcalot/arcaflow-engine/pull/188


**Full Changelog**: https://github.com/arcalot/arcaflow-engine/compare/v0.17.1...v0.17.2

Page 2 of 9

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.