Releases: rhosocial/go-dag
v1.0.2 - bug fixes
Compared with v1.0.1 (#10) , the current version does not introduce new features, but solves the following problems:
- Bug #13:
CloseWorkflow()
blocks whenBuildWorkflowInput()
is still running
Full Changelog: v1.0.1...v1.0.2
v1.0.1 (#10) and the earlier versions are not recommended to use.
v1.0.1 - bug fixes
Compared with v1.0.0 (#9) , the current version does not introduce new features, but solves the following problems:
- Bug #10:
BuildWorkflowInput()
blocks because it does not checkctx.Done()
when sending data to the channel
Full Changelog: v1.0.0...v1.0.1
v1.0.0 (#9) and the earlier versions are not recommended to use.
v1.0.0 - simple.DAG released!
v1.0.0
The first official release version: including simple.DAG
.
simple.DAG
- Workflow:
- No limit to the complexity of a directed acyclic graph.
- Single input and single output.
- Canceled at any time during execution.
- Shipped with any loggers.
- Transit:
- TransitInterface: Allow custom transits.
- Any inputs and outputs(except the initial input and final output).
- The worker accepts the incoming context parameter and allows receiving
Done()
signal. - Any worker error will terminate the execution and notify all the loggers to record events, including
panic()
and recover from it.
- Logger:
- LoggerInterface: Allow custom loggers.
- Predefined four log levels.
- Default logger: Log events are output to the standard output and standard error.
- Error collector: Collect errors generated during workflow execution.
No new changes against the previous version(#8).
v1.0.0-beta.3
v1.0.0-beta.3
The third beta release version: including simple.DAG
.
simple.DAG
- Workflow:
- No limit to the complexity of a directed acyclic graph.
- Single input and single output.
- Canceled at any time during execution.
- Shipped with any loggers.
- Transit:
- TransitInterface: Allow custom transits.
- Any inputs and outputs(except the initial input and final output).
- The worker accepts the incoming context parameter and allows receiving
Done()
signal. - Any worker error will terminate the execution and notify all the loggers to record events, including
panic()
and recover from it.
- Logger:
- LoggerInterface: Allow custom loggers.
- Predefined four log levels.
- Default logger: Log events are output to the standard output and standard error.
- Error collector: Collect errors generated during workflow execution.
Changes against the previous version:
- [add]supports Go 1.22.
v1.0.0-beta.2 and the earlier versions are not recommended to use.
Happy Chinese New Year of Loong! 龙年快乐!
v1.0.0-beta.2
v1.0.0-beta.2
The second beta release version: including simple.DAG
.
simple.DAG
- Workflow:
- No limit to the complexity of a directed acyclic graph.
- Single input and single output.
- Canceled at any time during execution.
- Shipped with any loggers.
- Transit:
- TransitInterface: Allow custom transits.
- Any inputs and outputs(except the initial input and final output).
- The worker accepts the incoming context parameter and allows receiving
Done()
signal. - Any worker error will terminate the execution and notify all the loggers to record events, including
panic()
and recover from it.
- Logger:
- LoggerInterface: Allow custom loggers.
- Predefined four log levels.
- Default logger: Log events are output to the standard output and standard error.
- Error collector: Collect errors generated during workflow execution.
Changes against the previous version:
- [chg]Instantiating workflows no longer requires specifying channels in advance, but can be obtained from the definition of the transit.
- [chg]Change the call to the
Log()
method of each logger to be non-blocking (go
).
v1.0.0-beta.1 and the earlier versions are not recommended to use.
v1.0.0-beta.1
v1.0.0-beta.1
The first beta release version: including simple.DAG
.
Starting from this version, no new features will be added, only bug fixes and documentation (including use cases) will be made. After releasing no less than three beta versions and no defects are found, the official version will be released.
simple.DAG
- Workflow:
- No limit to the complexity of a directed acyclic graph.
- Single input and single output.
- Canceled at any time during execution.
- Shipped with any loggers.
- Transit:
- TransitInterface: Allow custom transits.
- Any inputs and outputs(except the initial input and final output).
- The worker accepts the incoming context parameter and allows receiving
Done()
signal. - Any worker error will terminate the execution and notify all the loggers to record events, including
panic()
and recover from it.
- Logger:
- LoggerInterface: Allow custom loggers.
- Predefined four log levels.
- Default logger: Log events are output to the standard output and standard error.
- Error collector: Collect errors generated during workflow execution.
Notice:
Features not yet available:
- Check if there is a loop.
- Check that all channels are used and only used once.
v1.0.0-alpha3 and the earlier versions are not recommended to use.
v1.0.0-alpha3
v1.0.0-alpha3
The third alpha release version: including simple.DAG
.
During the next week of testing, if no serious defects are found, this version will be the last alpha. From now on, all features will be frozen, no new features will be added, and beta versions will begin to be released.
simple.DAG
- Workflow:
- No limit to the complexity of a directed acyclic graph.
- Single input and single output.
- Canceled at any time during execution.
- Shipped with any loggers.
- Transit:
- TransitInterface: Allow custom transits.
- Any inputs and outputs(except the initial input and final output).
- The worker accepts the incoming context parameter and allows receiving
Done()
signal. - Any worker error will terminate the execution and notify all the loggers to record events, including
panic()
and recover from it.
- Logger:
- LoggerInterface: Allow custom loggers.
- Predefined four log levels.
- Default logger: Log events are output to the standard output and standard error.
- Error collector: Collect errors generated during workflow execution.
Notice:
Features not yet available:
- Check if there is a loop.
- Check that all channels are used and only used once.
v1.0.0-alpha2 and the earlier version are not recommended to use.
v1.0.0-alpha2
v1.0.0-alpha2
The second alpha release version: including simple.DAG
.
simple.DAG
- Workflow:
- No limit to the complexity of a directed acyclic graph.
- Single input and single output.
- Canceled at any time during execution.
- Shipped with any loggers.
- Transit:
- Any inputs and outputs(except the initial input and final output).
- The worker accepts the incoming context parameter and allows receiving
Done()
signal. - Any worker error will terminate the execution and notify all the loggers to record events, including
panic()
and recover from it.
- Logger:
- LoggerInterface: Allow custom loggers.
- Predefined four log levels.
- Default logger: Log events are output to the standard output and standard error.
- Error collector: Collect errors generated during workflow execution.
Notice:
Features not yet available:
- Check if there is a loop.
- Check that all channels are used and only used once.
v1.0.0-alpha1 is not recommended to use.
v1.0.0-alpha1
v1.0.0-alpha1
A first release version: including SimpleDAG
.
SimpleDAG
Features:
- Supports describing and executing a workflow of arbitrary complexity as a directed acyclic graph.
- Supports tracing and logging interfaces(
SimpleDAGLogger
), including default logger(SimpleDAGJSONLogger
).
Notice:
You need to ensure that
- your workflow does not form a loop.
- each channel is used and only used once.
SimpleDAG
does not check for the above issues.