Changelog
Unreleased
Added
-
#233 Added support for loading
.envfiles via python-dotenv. A newsettings.dot_envsub-section controls the behavior:dot_env.load(defaulttrue) enables loading, anddot_env.file(default.env) sets the filename, resolved relative to the config file. Both can be overridden at run time with-s dot_env.load=falseor-s dot_env.file=.custom-env. -
#247 Added a
settingssection to the configuration file with atimestampssub-section.timestamps.sub_second_digits(0-6, default 0) controls how many sub-second digits appear in timestamps, andtimestamps.include_date(default false) prepends the date to timestamps. Settings can also be overridden on the command line via-s/--settingusing dotted paths (e.g.-s timestamps.sub_second_digits=3).
Changed
- #244
Updated the recommended installation method from
pipxtouv tool install, with alternatives foruvxanduv add --dev. - #246
Renamed
target/targetstorecipe/recipesin the configuration schema, matching the terminology used byjust.
0.0.6
Added
- #126
If no more work can be done in a flow,
synthwill exit. If all recipes ran and succeeded, the exit code will be0. Otherwise, the exit code will be1. - #126
Added the
--onceoption, which replaces all "repeating" triggers (likewatchorrestart) withonce. This allows an existing flow to be run as a "single shot", and when combined with the exit behavior change described above potentially useful for using Snyth workflows in CI or other automation.
Changed
- #128 The separator rule is now red when any node has failed, and a status summary is printed when exiting.
- #131
Flows can no longer have cycles in them (via the
aftertrigger).
Fixed
- #129 Ensured that the async tasks that trigger restarts don't get garbage-collected.
0.0.5
Released 2025-02-12
Fixed
- #112 Fix a crash that could happen when a process outputs too much data without a newline.
0.0.4
Released 2024-10-24
Fixed
- #79 Fix a crash that could happen when a process exits while we are trying to terminate it.
0.0.3
Released 2024-07-07
Added
- #3 Added PyPI classifiers and other metadata.
- #33 #40 Allow injecting arguments (via Jinja2 templates) and environment variables into recipe commands. Arguments and environment variables can be specified at either the flow, node, or recipe level, with the most specific taking precedence.
- #43
Mermaid diagrams can be generated for a flow using the
--mermaidoption.
Changed
- #30 Reorganized configuration to separate recipes, triggers (formerly "lifecycles"), and flows (graphs of recipes and triggers).
- #41 Execution duration is printed in the completion message.
- #49 Flow nodes can now have multiple triggers.
Fixed
- #45
Restarttriggers now allow for the node's children to run again after the node completes.
0.0.2
Released 2023-02-12