Skip to content

v1.0.0-alpha1

Compare
Choose a tag to compare
@cdavernas cdavernas released this 22 May 15:27
· 391 commits to main since this release
2d79abe

The version 1.0.0-alpha1 is one of the most impacting release of the history of the Serverless Workflow DSL. It aims at both drastically simplify the DSL and at completing it with many new features.

It is intended to be the last release containing breaking changes before the Serverless Workflow DSL 1.0.0 can see the day.

What's new?

  • Total refactor of grammar and semantics. See motivation.
    Addresses #672.
  • Moved all descriptive properties into the document top level property. Adds a new (required) namespace DNS Label property.
    Addresses #838.
  • Complex objects use maps instead of arrays, thus enabling more intelligible JSON pointers.
    Addresses #831.
  • All workflow components are now referencable. This allows getting rid of many cumbersome 'oneOf' definitions.
    Partially addresses #691.
  • Merged the state and action concepts into task, getting rid of state nesting limitations. See tasks.
  • Merged end and transition into flow directives.
    Addresses #684.
  • Got rid of the concept of compensation. Compensation can easily be designed by branching and/or chaining tasks.
  • Support task nesting, thanks to composite tasks.
    Addresses #413.
  • Allows calling functions over HTTP, GRPC, OpenAPI and AsyncAPI. See calls.
    Addresses #828.
  • Allows running custom processes, using containers, shell commands, scripts or workflows. See processes.
  • Supports both sequential and concurrent task execution modes. See execution strategy.
  • Offers fault tolerance features, using try task to catch and handle errors raised during execution.
  • Enables retrying on specific errors. See retry policy.
    Addresses #681 and #772.
  • Supports timeouts, used to define a duration after which to raise a new timeout error, possibly faulting the task/workflow. See timeouts.
  • Allows raising errors. See errors.
    Addresses #771.
  • Added a serie of Gherkin features used for both conformance testing and Behavior Driven Design (BDD).
    Addresses #324.
  • Supports concurrent event correlations.
    Addresses #679 and #680.
  • Enables extending and overriding the DSL, in a runtime agnostic and fully portable fashion, without writting a single line of code. See extensions.