Skip to content

Releases: chevere/workflow

3.0.7

16 Mar 13:42
fd95001

Choose a tag to compare

  • Added support for generating Mermaid graphs
  • Improved support for type int run if conditions

Full Changelog: 3.0.6...3.0.7

3.0.6

12 Mar 12:28
b310afc

Choose a tag to compare

  • Added support for any invokable class
  • Dependencies now resolve before runIf* conditions
  • Variable now supports any string but empty
  • Run if conditions now support type int (0 false, anything else true)

Full Changelog: 3.0.5...3.0.6

3.0.5

11 Mar 13:23
5dd2559

Choose a tag to compare

  • Implemented Kahn's topo sort

Full Changelog: 3.0.4...3.0.5

3.0.4

06 Mar 16:40
d227bb1

Choose a tag to compare

  • Fixed variable single char support

Full Changelog: 3.0.3...3.0.4

3.0.3

04 Mar 10:02
4db2c0c

Choose a tag to compare

  • Fixed graph sorting

Full Changelog: 3.0.2...3.0.3

3.0.2

03 Mar 15:35
7ccaa6b

Choose a tag to compare

  • Fix PSR-11 Container compatibility #68

Full Changelog: 3.0.1...3.0.2

3.0.1

01 Mar 13:13
3a9456e

Choose a tag to compare

  • Added support for type callable job #65
  • Added support for type object property response() reference

Full Changelog: 3.0.0...3.0.1

3.0.0

21 Feb 14:37
e8360ee

Choose a tag to compare

  • Added support for PHP 8.5
  • Added support for dependency container
  • Added support for Closure on Job definition #63
  • Added support for Action class name on Job definition #62
  • Added support for true-async job runner
  • Added support for type bool on runIf/runIfNot conditions
  • Added support for Job retry (timeout, attempts, delay) #60
  • Added Job method withRunIfNot which works the opposite as withRunIf
  • Added support for chevere/parameter 2.0
  • Added support for chevere/action 3.0
  • Improved positional argument handling
  • Removed parallel run execution support

Full Changelog: 2.0.0...3.0.0

This one was derived from the work at Chevereto Cloud where we implemented several workflows for defining complex processes for HTTP, Background and Commands.

Added support for Action class name Job declaration, which support a Container for injecting the Job object at runtime. By doing this we can define static workflows that are dependency collected on worker spawn and auto-injected when needed.

Added Closure for building small artifacts, it enables to transform arguments or build bags, by not requiring an Action you can prototype really fast. It was a pain to create single use artifacts as full qualified classes.

Added true async runner, deprecated parallel runner. Funny thing is that both runners are provided by the phpamp project, but parallel running on PHP is a pain in the ass to work with, don't go there.

As we needed to keep several systems in sync, I noticed that Workflow needed a retry behavior to avoid missing synchronization. Added a simple retry policy with timeout, max retries and delay which enable us to automatically retry failing steps.

Finally, several QoL improvements have been made like a negated "runIf" condition. We had this system where we needed to ping a server and from there either install or sync, with the withRunIfNot the DSL looks clean without needing to pollute variable('wea')->eq(false) which looks horrible and make a double type check.

🎉 2.0.0

13 Sep 18:22
4d50b73

Choose a tag to compare

Full Changelog: 1.0.9...2.0.0

1.0.9

29 Aug 19:56
fe1e571

Choose a tag to compare

  • Implements #49

Full Changelog: 1.0.8...1.0.9