Skip to content

Releases: rhosocial/go-dag

v1.0.2 - bug fixes

15 Aug 06:36
c65967a
Compare
Choose a tag to compare

Compared with v1.0.1 (#10) , the current version does not introduce new features, but solves the following problems:

  • Bug #13: CloseWorkflow() blocks when BuildWorkflowInput() 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

10 May 02:48
4d15287
Compare
Choose a tag to compare

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 check ctx.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!

19 Feb 08:42
Compare
Choose a tag to compare

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

10 Feb 03:27
Compare
Choose a tag to compare
v1.0.0-beta.3 Pre-release
Pre-release

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

03 Feb 03:02
Compare
Choose a tag to compare
v1.0.0-beta.2 Pre-release
Pre-release

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

27 Jan 08:05
Compare
Choose a tag to compare
v1.0.0-beta.1 Pre-release
Pre-release

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

21 Jan 13:50
Compare
Choose a tag to compare
v1.0.0-alpha3 Pre-release
Pre-release

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

13 Jan 17:56
Compare
Choose a tag to compare
v1.0.0-alpha2 Pre-release
Pre-release

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

07 Jan 07:48
Compare
Choose a tag to compare
v1.0.0-alpha1 Pre-release
Pre-release

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.