diff --git a/README.md b/README.md
index 76171f35..9c0d40d0 100644
--- a/README.md
+++ b/README.md
@@ -51,7 +51,7 @@ Check out our project DevStats [here](https://serverlessworkflow.devstats.cncf.i
| | Latest release | Latest release branch | Working branch |
| --- | :---: | :---: | :---: |
| **Core Specification** | |
-| [Serverless Workflow](https://github.com/serverlessworkflow/specification) | [v0.7](https://github.com/serverlessworkflow/specification/releases) | [0.7.x](https://github.com/serverlessworkflow/specification/tree/0.7.x) | [main](https://github.com/serverlessworkflow/specification) |
+| [Serverless Workflow](https://github.com/serverlessworkflow/specification) | [v0.8](https://github.com/serverlessworkflow/specification/releases) | [0.8.x](https://github.com/serverlessworkflow/specification/tree/0.8.x) | [main](https://github.com/serverlessworkflow/specification) |
| **Additional Components** | |
| [Synapse](https://github.com/serverlessworkflow/synapse) | [0.1.0-alpha1](https://github.com/serverlessworkflow/synapse/releases) | | [main](https://github.com/serverlessworkflow/synapse) |
| [GO SDK](https://github.com/serverlessworkflow/sdk-go) | [v2.0.0](https://github.com/serverlessworkflow/sdk-go/releases) | [1.0.x](https://github.com/serverlessworkflow/sdk-go/tree/1.0.x) | [main](https://github.com/serverlessworkflow/sdk-go) |
diff --git a/comparisons/comparison-argo.md b/comparisons/comparison-argo.md
index 93d1f12e..532829b7 100644
--- a/comparisons/comparison-argo.md
+++ b/comparisons/comparison-argo.md
@@ -77,7 +77,7 @@ spec:
id: hello-world-parameters
name: Hello World with parameters
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: whalesay
functions:
- name: whalesayimage
@@ -156,7 +156,7 @@ spec:
id: hello-hello-hello
name: Multi Step Hello
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: hello1
functions:
- name: whalesayimage
@@ -258,7 +258,7 @@ spec:
id: dag-diamond-
name: DAG Diamond Example
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: A
functions:
- name: echo
@@ -377,7 +377,7 @@ spec:
id: scripts-bash-
name: Scripts and Results Example
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: generate
functions:
- name: gen-random-int-bash
@@ -473,7 +473,7 @@ spec:
id: loops-
name: Loop over data example
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: injectdata
functions:
- name: whalesay
@@ -568,7 +568,7 @@ spec:
id: coinflip-
name: Conditionals Example
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: flip-coin
functions:
- name: flip-coin-function
@@ -661,7 +661,7 @@ spec:
id: retry-backoff-
name: Retry Example
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: retry-backoff
functions:
- name: fail-function
@@ -747,7 +747,7 @@ spec:
id: coinflip-recursive-
name: Recursion Example
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: flip-coin-state
functions:
- name: heads-function
@@ -857,7 +857,7 @@ spec:
id: exit-handlers-
name: Exit/Error Handling Example
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
autoRetries: true
start: intentional-fail-state
functions:
diff --git a/comparisons/comparison-bpmn.md b/comparisons/comparison-bpmn.md
index 027531bf..167aeefa 100644
--- a/comparisons/comparison-bpmn.md
+++ b/comparisons/comparison-bpmn.md
@@ -52,7 +52,7 @@ For this reason, the event, function, retry, and data mapping defined in the ass
id: processfile
name: Process File Workflow
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: Process File
states:
- name: Process File
@@ -88,7 +88,7 @@ functions:
id: processapplication
name: Process Application
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: ProcessNewApplication
states:
- name: ProcessNewApplication
@@ -142,7 +142,7 @@ events:
id: simplecompensation
name: Simple Compensation
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: Step 1
states:
- name: Step 1
@@ -204,7 +204,7 @@ functions:
id: errorwithretries
name: Error Handling With Retries Workflow
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: Make Coffee
states:
- name: Make Coffee
@@ -268,7 +268,7 @@ functions:
id: executiontimeout
name: Execution Timeout Workflow
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: Purchase Parts
timeouts:
workflowExecTimeout:
@@ -322,7 +322,7 @@ functions:
id: foreachWorkflow
name: ForEach State Workflow
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: ForEachItem
states:
- name: ForEachItem
@@ -361,7 +361,7 @@ a starting "operation" state transitioning to an "event" state which waits for t
id: subflowloop
name: SubFlow Loop Workflow
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: SubflowRepeat
states:
- name: SubflowRepeat
@@ -411,7 +411,7 @@ control-flow logic to check email and make a decision to reply to it or wait an
id: approvereport
name: Approve Report Workflow
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: Approve Report
states:
- name: Approve Report
@@ -474,7 +474,7 @@ functions:
id: eventdecision
name: Event Decision workflow
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: A
states:
- name: A
diff --git a/comparisons/comparison-brigade.md b/comparisons/comparison-brigade.md
index a577f404..f5bb9f2d 100644
--- a/comparisons/comparison-brigade.md
+++ b/comparisons/comparison-brigade.md
@@ -65,7 +65,7 @@ function exec(e, p) {
id: greeting
name: Greeting Workflow
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: GreetingState
events:
- name: execEvent
@@ -145,7 +145,7 @@ async function exec(e, p) {
id: greetingwitherrorcheck
name: Greeting Workflow With Error Check
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
autoRetries: true
start: GreetingState
events:
@@ -240,7 +240,7 @@ events.on("push", () => {
id: multieventworkflow
name: Multiple Events Workflow
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: GreetingState
events:
- name: execEvent
@@ -325,7 +325,7 @@ events.on("exec", () => {
id: groupActionsWorkflow
name: Group Actions Workflow
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: FirstGreetGroup
events:
- name: execEvent
@@ -404,7 +404,7 @@ events.on("exec", (e, p) => {
id: eventDataWorkflow
name: Event Data Workflow
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: LogEventData
events:
- name: execEvent
@@ -481,7 +481,7 @@ events.on("exec", (e, p) => {
id: actionResultsWorkflow
name: Action Results Workflow
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: ExecActionsAndStoreResults
events:
- name: execEvent
@@ -572,7 +572,7 @@ events.on("next", (e) => {
id: eventDataWorkflow
name: Event Data Workflow
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: ExecEventState
events:
- name: execEvent
diff --git a/comparisons/comparison-google-cloud-workflows.md b/comparisons/comparison-google-cloud-workflows.md
index 023cbfce..fa8d3996 100644
--- a/comparisons/comparison-google-cloud-workflows.md
+++ b/comparisons/comparison-google-cloud-workflows.md
@@ -86,7 +86,7 @@ languages.
{
"id": "greetingwithargs",
"name": "Greeting With Args",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"start": "Set Output",
"states": [
{
@@ -195,7 +195,7 @@ instance is created. See the Serverless Workflow ["Workflow Data"](../specificat
"id": "concatarray",
"name": "Concatenating array values",
"start": "DoConcat",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"states": [
{
"name": "DoConcat",
@@ -285,7 +285,7 @@ array values, however it would just unnecessarily complicate things.
{
"id": "stopcomputeengine",
"name": "Stop Compute Engine",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"start": "DoStop",
"states": [
{
@@ -416,7 +416,7 @@ as service invocations, where as Google Workflow uses the "call" keyword.
{
"id": "publishtotopicwitherrorhandling",
"name": "Publish To Topic With Error Handling",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"start": "DoPublish",
"errors": [
{
@@ -577,7 +577,7 @@ to interested parties via events (CloudEvents specification format), which we ar
"id": "errorhandlingwithretries",
"name": "Error Handling with Retries",
"start": "ReadItem",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"states": [
{
"name": "ReadItem",
diff --git a/comparisons/comparison-temporal.md b/comparisons/comparison-temporal.md
index 9056e502..31f2029f 100644
--- a/comparisons/comparison-temporal.md
+++ b/comparisons/comparison-temporal.md
@@ -83,7 +83,7 @@ public static class GreetingWorkflowImpl implements GreetingWorkflow {
"id": "greetingworkflow",
"name": "Greeting Workflow",
"version": "1.0",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"autoRetries": true,
"states": [
{
@@ -165,7 +165,7 @@ WorkflowOptions workflowOptions =
"id": "greetingworkflow",
"name": "Greeting Workflow",
"version": "1.0",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"autoRetries": true,
"timeouts": {
"workflowExecTimeout": "PT10M"
@@ -269,7 +269,7 @@ WorkflowOptions workflowOptions =
"id": "HelloSaga",
"name": "Hello SAGA compensation Workflow",
"version": "1.0",
- "specVersion": "0.7"
+ "specVersion": "0.8",
"states": [
{
"name": "ExecuteState",
@@ -393,7 +393,7 @@ static class GreetingActivitiesImpl implements GreetingActivities {
"id": "HelloActivityRetry",
"name": "Hello Activity with Retries Workflow",
"version": "1.0",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"autoRetries": true,
"start": "GreetingState",
"states": [
diff --git a/examples/README.md b/examples/README.md
index 252383ca..a964cea0 100644
--- a/examples/README.md
+++ b/examples/README.md
@@ -68,7 +68,7 @@ data output, which is:
{
"id": "helloworld",
"version": "1.0",
-"specVersion": "0.7",
+"specVersion": "0.8",
"name": "Hello World Workflow",
"description": "Inject Hello World",
"start": "Hello State",
@@ -91,7 +91,7 @@ data output, which is:
```yaml
id: helloworld
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
name: Hello World Workflow
description: Inject Hello World
start: Hello State
@@ -152,7 +152,7 @@ Which is added to the states data and becomes the workflow data output.
{
"id": "greeting",
"version": "1.0",
-"specVersion": "0.7",
+"specVersion": "0.8",
"name": "Greeting Workflow",
"description": "Greet Someone",
"start": "Greet",
@@ -191,7 +191,7 @@ Which is added to the states data and becomes the workflow data output.
```yaml
id: greeting
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
name: Greeting Workflow
description: Greet Someone
start: Greet
@@ -297,7 +297,7 @@ filters what is selected to be the state data output which then becomes the work
{
"id": "eventbasedgreeting",
"version": "1.0",
-"specVersion": "0.7",
+"specVersion": "0.8",
"name": "Event Based Greeting Workflow",
"description": "Event Based Greeting",
"start": "Greet",
@@ -350,7 +350,7 @@ filters what is selected to be the state data output which then becomes the work
```yaml
id: eventbasedgreeting
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
name: Event Based Greeting Workflow
description: Event Based Greeting
start: Greet
@@ -425,7 +425,7 @@ result of the workflow execution.
{
"id": "solvemathproblems",
"version": "1.0",
-"specVersion": "0.7",
+"specVersion": "0.8",
"name": "Solve Math Problems Workflow",
"description": "Solve math problems",
"start": "Solve",
@@ -467,7 +467,7 @@ result of the workflow execution.
```yaml
id: solvemathproblems
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
name: Solve Math Problems Workflow
description: Solve math problems
start: Solve
@@ -522,7 +522,7 @@ to finish execution before it can transition (end workflow execution in this cas
{
"id": "parallelexec",
"version": "1.0",
-"specVersion": "0.7",
+"specVersion": "0.8",
"name": "Parallel Execution Workflow",
"description": "Executes two branches in parallel",
"start": "ParallelExec",
@@ -557,7 +557,7 @@ to finish execution before it can transition (end workflow execution in this cas
```yaml
id: parallelexec
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
name: Parallel Execution Workflow
description: Executes two branches in parallel
start: ParallelExec
@@ -612,7 +612,7 @@ does not wait for its results.
{
"id": "sendcustomeremail",
"version": "1.0",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"name": "Send customer email workflow",
"description": "Send email to a customer",
"start": "Send Email",
@@ -649,7 +649,7 @@ does not wait for its results.
```yaml
id: sendcustomeremail
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
name: Send customer email workflow
description: Send email to a customer
start: Send Email
@@ -703,7 +703,7 @@ property to `continue`.
{
"id": "onboardcustomer",
"version": "1.0",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"name": "Onboard Customer",
"description": "Onboard a Customer",
"start": "Onboard",
@@ -733,7 +733,7 @@ property to `continue`.
```yaml
id: onboardcustomer
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
name: Onboard Customer
description: Onboard a Customer
start: Onboard
@@ -785,7 +785,7 @@ period, the workflow transitions to the "HandleNoVisaDecision" state.
{
"id": "eventbasedswitchstate",
"version": "1.0",
-"specVersion": "0.7",
+"specVersion": "0.8",
"name": "Event Based Switch Transitions",
"description": "Event Based Switch Transitions",
"start": "CheckVisaStatus",
@@ -860,7 +860,7 @@ period, the workflow transitions to the "HandleNoVisaDecision" state.
```yaml
id: eventbasedswitchstate
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
name: Event Based Switch Transitions
description: Event Based Switch Transitions
start: CheckVisaStatus
@@ -944,7 +944,7 @@ If the applicants age is over 18 we start the application (subflow action). Othe
{
"id": "applicantrequest",
"version": "1.0",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"name": "Applicant Request Decision Workflow",
"description": "Determine if applicant request is valid",
"start": "CheckApplication",
@@ -1008,7 +1008,7 @@ If the applicants age is over 18 we start the application (subflow action). Othe
```yaml
id: applicantrequest
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
name: Applicant Request Decision Workflow
description: Determine if applicant request is valid
start: CheckApplication
@@ -1088,7 +1088,7 @@ The data output of the workflow contains the information of the exception caught
{
"id": "provisionorders",
"version": "1.0",
-"specVersion": "0.7",
+"specVersion": "0.8",
"name": "Provision Orders",
"description": "Provision Orders and handle errors thrown",
"start": "ProvisionOrder",
@@ -1193,7 +1193,7 @@ The data output of the workflow contains the information of the exception caught
```yaml
id: provisionorders
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
name: Provision Orders
description: Provision Orders and handle errors thrown
start: ProvisionOrder
@@ -1284,7 +1284,7 @@ In the case job submission raises a runtime error, we transition to an Operation
{
"id": "jobmonitoring",
"version": "1.0",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"name": "Job Monitoring",
"description": "Monitor finished execution of a submitted job",
"start": "SubmitJob",
@@ -1416,7 +1416,7 @@ In the case job submission raises a runtime error, we transition to an Operation
```yaml
id: jobmonitoring
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
name: Job Monitoring
description: Monitor finished execution of a submitted job
start: SubmitJob
@@ -1575,7 +1575,7 @@ CloudEvent upon completion of the workflow could look like:
{
"id": "sendcloudeventonprovision",
"version": "1.0",
-"specVersion": "0.7",
+"specVersion": "0.8",
"name": "Send CloudEvent on provision completion",
"start": "ProvisionOrdersState",
"events": [
@@ -1625,7 +1625,7 @@ CloudEvent upon completion of the workflow could look like:
```yaml
id: sendcloudeventonprovision
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
name: Send CloudEvent on provision completion
start: ProvisionOrdersState
events:
@@ -1709,7 +1709,7 @@ have the matching patient id.
"id": "patientVitalsWorkflow",
"name": "Monitor Patient Vitals",
"version": "1.0",
-"specVersion": "0.7",
+"specVersion": "0.8",
"start": "MonitorVitals",
"events": [
{
@@ -1810,7 +1810,7 @@ have the matching patient id.
id: patientVitalsWorkflow
name: Monitor Patient Vitals
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: MonitorVitals
events:
- name: HighBodyTemperature
@@ -1904,7 +1904,7 @@ when all three of these events happened (in no particular order).
"id": "finalizeCollegeApplication",
"name": "Finalize College Application",
"version": "1.0",
-"specVersion": "0.7",
+"specVersion": "0.8",
"start": "FinalizeApplication",
"events": [
{
@@ -1983,7 +1983,7 @@ when all three of these events happened (in no particular order).
id: finalizeCollegeApplication
name: Finalize College Application
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: FinalizeApplication
events:
- name: ApplicationSubmitted
@@ -2115,7 +2115,7 @@ And for denied credit check, for example:
{
"id": "customercreditcheck",
"version": "1.0",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"name": "Customer Credit Check Workflow",
"description": "Perform Customer Credit Check",
"start": "CheckCredit",
@@ -2212,7 +2212,7 @@ And for denied credit check, for example:
```yaml
id: customercreditcheck
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
name: Customer Credit Check Workflow
description: Perform Customer Credit Check
start: CheckCredit
@@ -2320,7 +2320,7 @@ Bidding is done via an online application and bids are received as events are as
{
"id": "handleCarAuctionBid",
"version": "1.0",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"name": "Car Auction Bidding Workflow",
"description": "Store a single bid whole the car auction is active",
"start": {
@@ -2370,7 +2370,7 @@ Bidding is done via an online application and bids are received as events are as
```yaml
id: handleCarAuctionBid
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
name: Car Auction Bidding Workflow
description: Store a single bid whole the car auction is active
start:
@@ -2450,7 +2450,7 @@ The results of the inbox service called is expected to be for example:
"id": "checkInbox",
"name": "Check Inbox Workflow",
"version": "1.0",
-"specVersion": "0.7",
+"specVersion": "0.8",
"description": "Periodically Check Inbox",
"start": {
"stateName": "CheckInbox",
@@ -2509,7 +2509,7 @@ id: checkInbox
name: Check Inbox Workflow
description: Periodically Check Inbox
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start:
stateName: CheckInbox
schedule:
@@ -2594,7 +2594,7 @@ For this example we assume that the workflow instance is started given the follo
"name": "Vet Appointment Workflow",
"description": "Vet service call via events",
"version": "1.0",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"start": "MakeVetAppointmentState",
"events": [
{
@@ -2644,7 +2644,7 @@ id: VetAppointmentWorkflow
name: Vet Appointment Workflow
description: Vet service call via events
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: MakeVetAppointmentState
events:
- name: MakeVetAppointment
@@ -2745,7 +2745,7 @@ In our workflow definition then we can reference these files rather than definin
{
"id": "paymentconfirmation",
"version": "1.0",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"name": "Payment Confirmation Workflow",
"description": "Performs Payment Confirmation",
"functions": "functiondefs.json",
@@ -2846,7 +2846,7 @@ In our workflow definition then we can reference these files rather than definin
```yaml
id: paymentconfirmation
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
name: Payment Confirmation Workflow
description: Performs Payment Confirmation
functions: functiondefs.json
@@ -2949,7 +2949,7 @@ If the retries are not successful, we want to just gracefully end workflow execu
"id": "patientonboarding",
"name": "Patient Onboarding Workflow",
"version": "1.0",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"start": "Onboard",
"states": [
{
@@ -3032,7 +3032,7 @@ If the retries are not successful, we want to just gracefully end workflow execu
id: patientonboarding
name: Patient Onboarding Workflow
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: Onboard
states:
- name: Onboard
@@ -3121,7 +3121,7 @@ This example shows the use of the workflow [execTimeout definition](../specifica
"id": "order",
"name": "Purchase Order Workflow",
"version": "1.0",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"start": "StartNewOrder",
"timeouts": {
"workflowExecTimeout": {
@@ -3282,7 +3282,7 @@ This example shows the use of the workflow [execTimeout definition](../specifica
id: order
name: Purchase Order Workflow
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: StartNewOrder
timeouts:
@@ -3405,7 +3405,7 @@ the data for an hour, send report, and so on.
"id": "roomreadings",
"name": "Room Temp and Humidity Workflow",
"version": "1.0",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"start": "ConsumeReading",
"timeouts": {
"workflowExecTimeout": {
@@ -3495,7 +3495,7 @@ the data for an hour, send report, and so on.
id: roomreadings
name: Room Temp and Humidity Workflow
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: ConsumeReading
timeouts:
workflowExecTimeout:
@@ -3579,7 +3579,7 @@ We fist define our top-level workflow for this example:
"id": "checkcarvitals",
"name": "Check Car Vitals Workflow",
"version": "1.0",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"start": "WhenCarIsOn",
"states": [
{
@@ -3642,7 +3642,7 @@ We fist define our top-level workflow for this example:
id: checkcarvitals
name: Check Car Vitals Workflow
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: WhenCarIsOn
states:
- name: WhenCarIsOn
@@ -3694,7 +3694,7 @@ And then our reusable sub-workflow which performs the checking of our car vitals
"id": "vitalscheck",
"name": "Car Vitals Check",
"version": "1.0",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"start": "CheckVitals",
"states": [
{
@@ -3753,7 +3753,7 @@ And then our reusable sub-workflow which performs the checking of our car vitals
id: vitalscheck
name: Car Vitals Check
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: CheckVitals
states:
- name: CheckVitals
@@ -3834,7 +3834,7 @@ For the sake of the example we assume the functions and event definitions are de
"id": "booklending",
"name": "Book Lending Workflow",
"version": "1.0",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"start": "Book Lending Request",
"states": [
{
@@ -3975,7 +3975,7 @@ For the sake of the example we assume the functions and event definitions are de
id: booklending
name: Book Lending Workflow
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: Book Lending Request
states:
- name: Book Lending Request
@@ -4101,7 +4101,7 @@ Its results are then merged back into the state data according to the "toStateDa
"id": "fillglassofwater",
"name": "Fill glass of water workflow",
"version": "1.0",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"start": "Check if full",
"functions": [
{
@@ -4154,7 +4154,7 @@ Its results are then merged back into the state data according to the "toStateDa
id: fillglassofwater
name: Fill glass of water workflow
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: Check if full
functions:
- name: Increment Current Count Function
@@ -4301,7 +4301,7 @@ With the function and event definitions in place we can now start writing our ma
id: foodorderworkflow
name: Food Order Workflow
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: Place Order
functions: file://orderfunctions.yml
events: file://orderevents.yml
@@ -4349,7 +4349,7 @@ With this in place we can start defining our sub-workflows:
id: placeorderworkflow
name: Place Order Workflow
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: Submit Order
states:
- name: Submit Order
@@ -4383,7 +4383,7 @@ states:
id: deliverorderworkflow
name: Deliver Order Workflow
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: Dispatch Courier
states:
- name: Dispatch Courier
@@ -4472,7 +4472,7 @@ We assume that our workflow input has the runtime-imposed quota:
"id":"notifycustomerworkflow",
"name":"Notify Customer",
"version":"1.0",
- "specVersion":"0.7",
+ "specVersion": "0.8",
"start":"WaitForCustomerEvent",
"states":[
{
@@ -4547,7 +4547,7 @@ We assume that our workflow input has the runtime-imposed quota:
id: notifycustomerworkflow
name: Notify Customer
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: WaitForCustomerEvent
states:
- name: WaitForCustomerEvent
@@ -4634,7 +4634,7 @@ decide which activity to perform based on the transaction value.
"id": "customerbankingtransactions",
"name": "Customer Banking Transactions Workflow",
"version": "1.0",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"autoRetries": true,
"constants": {
"largetxamount" : 5000
@@ -4682,7 +4682,7 @@ decide which activity to perform based on the transaction value.
id: bankingtransactions
name: Customer Banking Transactions Workflow
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
autoRetries: true
constants:
largetxamount: 5000
diff --git a/extensions/kpi.md b/extensions/kpi.md
index a3b68eca..c83d6c74 100644
--- a/extensions/kpi.md
+++ b/extensions/kpi.md
@@ -126,7 +126,7 @@ an associated sample KPIs extension definition on the right.
id: patientVitalsWorkflow
name: Monitor Patient Vitals
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: MonitorVitals
events:
- name: HighBodyTemperature
diff --git a/extensions/ratelimiting.md b/extensions/ratelimiting.md
index aad99d91..3f57c71c 100644
--- a/extensions/ratelimiting.md
+++ b/extensions/ratelimiting.md
@@ -60,7 +60,7 @@ an associated sample Rate Limiting extension definition on the right.
id: processapplication
name: Process Application
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: ProcessNewApplication
states:
- name: ProcessNewApplication
diff --git a/roadmap/README.md b/roadmap/README.md
index 04a85bb3..f576c9b0 100644
--- a/roadmap/README.md
+++ b/roadmap/README.md
@@ -12,34 +12,27 @@ _Status description:_
## Releases
-- [Roadmap for next planned release](#v8)
+- [v0.8 released Dec 2021](#v08)
- [v0.7 released Aug 2021](#v07)
- [v0.6 released March 2021](#v06)
- [v0.5 released November 2020](#v05)
- [v0.1 released April 2020](#v01)
-## Next planned release
+## Release Version 0.8
| Status | Description | Comments |
| --- | --- | --- |
-| ✔️| Support custom function `type` definition | [spec doc](https://github.com/serverlessworkflow/specification/blob/main/specification.md) |
-| ✔️| Workflow "name" no longer a required property | [spec doc](https://github.com/serverlessworkflow/specification/blob/main/specification.md) |
-| ✔️| Workflow "start" no longer a required property | [spec doc](https://github.com/serverlessworkflow/specification/blob/main/specification.md) |
-| ✔️| ForEach state "iterationParam" no longer a required property | [spec doc](https://github.com/serverlessworkflow/specification/blob/main/specification.md) |
-| ✔️| Added "useData" for eventDataFilter, and "useResults" for actionDataFilter | [spec doc](https://github.com/serverlessworkflow/specification/blob/main/specification.md) |
-| ✔️| Added "resultEventTimeout" for action eventref | [spec doc](https://github.com/serverlessworkflow/specification/blob/main/specification.md) |
-| ✔️| Added example for "continueAs" | [examples doc](https://github.com/serverlessworkflow/specification/blob/main/examples/README.md) |
-| ✔️️| Support for async action invocation | [spec doc](https://github.com/serverlessworkflow/specification/blob/main/specification.md) |
-| ✔️️| Support for action condition | [spec doc](https://github.com/serverlessworkflow/specification/blob/main/specification.md) |
-| ✏️️| Add "completedBy" functionality | |
-| ✏️️| Define workflow context | |
-| ✏️️| Start work on TCK | |
-| ✏️️| Add integration with open-source runtimes | |
-| ✏️️| Add SDKs for more languages (Python, PHP, Rust, etc) | |
-| ✏️️| Add more samples | |
-
-
-## v0.7
+| ✔️| Support custom function `type` definition | [spec doc](https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md) |
+| ✔️| Workflow "name" no longer a required property | [spec doc](https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md) |
+| ✔️| Workflow "start" no longer a required property | [spec doc](https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md) |
+| ✔️| ForEach state "iterationParam" no longer a required property | [spec doc](https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md) |
+| ✔️| Added "useData" for eventDataFilter, and "useResults" for actionDataFilter | [spec doc](https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md) |
+| ✔️| Added "resultEventTimeout" for action eventref | [spec doc](https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md) |
+| ✔️| Added example for "continueAs" | [examples doc](https://github.com/serverlessworkflow/specification/blob/0.8.x/examples/README.md) |
+| ✔️️| Support for async action invocation | [spec doc](https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md) |
+| ✔️️| Support for action condition | [spec doc](https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md) |
+
+## Release Version 0.7
| Status | Description | Comments |
| --- | --- | --- |
@@ -69,7 +62,7 @@ _Status description:_
| ✔️| Update to error handling and retries. Retries are now per action rather than per state. Added option of automatic retries for actions | [spec doc](https://github.com/serverlessworkflow/specification/blob/0.7.x/specification.md) |
| ✔️| Added "continueAs" property to end definitions | [spec doc](hhttps://github.com/serverlessworkflow/specification/blob/0.7.x/specification.md) |
-## v0.6
+## Release Version 0.6
| Status | Description | Comments |
| --- | --- | --- |
@@ -93,7 +86,7 @@ _Status description:_
| ✔️| Updated schedule definition | [spec doc](https://github.com/serverlessworkflow/specification/blob/0.6.x/specification.md) |
| ✔️| Update data filters | [spec doc](https://github.com/serverlessworkflow/specification/blob/0.6.x/specification.md) |
-## v0.5
+## Release Version 0.5
| Status | Description | Comments |
| --- | --- | --- |
@@ -126,7 +119,7 @@ _Status description:_
| ✔️| Enforce use of OpenAPI specification in function definitions for portability | [spec doc](https://github.com/serverlessworkflow/specification/blob/0.5.x/specification.md) |
| ✔️| Update workflow Error Handling | [spec doc](../specification.md) |
-## v0.1
+## Release Version 0.1
| Status | Description | Comments |
| :--: | --- | --- |
diff --git a/schema/auth.json b/schema/auth.json
index 8678bb91..896bbd3a 100644
--- a/schema/auth.json
+++ b/schema/auth.json
@@ -1,5 +1,5 @@
{
- "$id": "https://serverlessworkflow.io/schemas/0.7/auth.json",
+ "$id": "https://serverlessworkflow.io/schemas/0.8/auth.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "Serverless Workflow specification - auth schema",
"type": "object",
diff --git a/schema/common.json b/schema/common.json
index 60224c55..5a3593e1 100644
--- a/schema/common.json
+++ b/schema/common.json
@@ -1,5 +1,5 @@
{
- "$id": "https://serverlessworkflow.io/schemas/0.7/common.json",
+ "$id": "https://serverlessworkflow.io/schemas/0.8/common.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "Serverless Workflow specification - common schema",
"type": "object",
diff --git a/schema/errors.json b/schema/errors.json
index 2edacf1b..52088967 100644
--- a/schema/errors.json
+++ b/schema/errors.json
@@ -1,5 +1,5 @@
{
- "$id": "https://serverlessworkflow.io/schemas/0.7/errors.json",
+ "$id": "https://serverlessworkflow.io/schemas/0.8/errors.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "Serverless Workflow specification - errors schema",
"type": "object",
diff --git a/schema/events.json b/schema/events.json
index c5c72aee..61d16e1c 100644
--- a/schema/events.json
+++ b/schema/events.json
@@ -1,5 +1,5 @@
{
- "$id": "https://serverlessworkflow.io/schemas/0.7/events.json",
+ "$id": "https://serverlessworkflow.io/schemas/0.8/events.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "Serverless Workflow specification - events schema",
"type": "object",
diff --git a/schema/extensions/kpi.json b/schema/extensions/kpi.json
index 86a9464f..08a81382 100644
--- a/schema/extensions/kpi.json
+++ b/schema/extensions/kpi.json
@@ -1,5 +1,5 @@
{
- "$id": "https://serverlessworkflow.io/schemas/0.7/extensions/kpi.json",
+ "$id": "https://serverlessworkflow.io/schemas/0.8/extensions/kpi.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "Serverless Workflow specification - KPIs Extension Schema",
"type": "object",
diff --git a/schema/extensions/ratelimiting.json b/schema/extensions/ratelimiting.json
index 930ba0cf..a7bc6f2c 100644
--- a/schema/extensions/ratelimiting.json
+++ b/schema/extensions/ratelimiting.json
@@ -1,5 +1,5 @@
{
- "$id": "https://serverlessworkflow.io/schemas/0.7/extensions/ratelimiting.json",
+ "$id": "https://serverlessworkflow.io/schemas/0.8/extensions/ratelimiting.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "Serverless Workflow specification - Various workflow rate limiting settings",
"type": "object",
diff --git a/schema/functions.json b/schema/functions.json
index 85d70b5a..08f3b345 100644
--- a/schema/functions.json
+++ b/schema/functions.json
@@ -1,5 +1,5 @@
{
- "$id": "https://serverlessworkflow.io/schemas/0.7/functions.json",
+ "$id": "https://serverlessworkflow.io/schemas/0.8/functions.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "Serverless Workflow specification - functions schema",
"type": "object",
diff --git a/schema/odata.json b/schema/odata.json
index 27febab9..958cd99c 100644
--- a/schema/odata.json
+++ b/schema/odata.json
@@ -1,5 +1,5 @@
{
- "$id": "https://serverlessworkflow.io/schemas/0.7/odata.json",
+ "$id": "https://serverlessworkflow.io/schemas/0.8/odata.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "Serverless Workflow specification - OData command options schema",
"type": "object",
diff --git a/schema/retries.json b/schema/retries.json
index ba1fd35c..1690abd7 100644
--- a/schema/retries.json
+++ b/schema/retries.json
@@ -1,5 +1,5 @@
{
- "$id": "https://serverlessworkflow.io/schemas/0.7/retries.json",
+ "$id": "https://serverlessworkflow.io/schemas/0.8/retries.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "Serverless Workflow specification - retries schema",
"type": "object",
diff --git a/schema/secrets.json b/schema/secrets.json
index 427d68ed..dc553cc1 100644
--- a/schema/secrets.json
+++ b/schema/secrets.json
@@ -1,5 +1,5 @@
{
- "$id": "https://serverlessworkflow.io/schemas/0.7/secrets.json",
+ "$id": "https://serverlessworkflow.io/schemas/0.8/secrets.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "Serverless Workflow specification - secrets schema",
"type": "object",
diff --git a/schema/timeouts.json b/schema/timeouts.json
index c99ef6b2..0e0e1b2d 100644
--- a/schema/timeouts.json
+++ b/schema/timeouts.json
@@ -1,5 +1,5 @@
{
- "$id": "https://serverlessworkflow.io/schemas/0.7/timeouts.json",
+ "$id": "https://serverlessworkflow.io/schemas/0.8/timeouts.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "Serverless Workflow specification - functions schema",
"type": "object",
diff --git a/schema/workflow.json b/schema/workflow.json
index 4d89f7e6..2d11730a 100644
--- a/schema/workflow.json
+++ b/schema/workflow.json
@@ -1,5 +1,5 @@
{
- "$id": "https://serverlessworkflow.io/schemas/0.7/workflow.json",
+ "$id": "https://serverlessworkflow.io/schemas/0.8/workflow.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "Serverless Workflow specification - workflow schema",
"type": "object",
diff --git a/specification.md b/specification.md
index 656a4713..fc683170 100644
--- a/specification.md
+++ b/specification.md
@@ -1,4 +1,4 @@
-# Serverless Workflow Specification
+# Serverless Workflow Specification - Version 0.8
## Table of Contents
@@ -642,7 +642,7 @@ a workflow with a single event state and show how data filters can be combined.
"id": "GreetCustomersWorkflow",
"name": "Greet Customers when they arrive",
"version": "1.0",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"start": "WaitForCustomerToArrive",
"states":[
{
@@ -1808,7 +1808,7 @@ we can use this expression in the workflow "version" parameter:
"id": "MySampleWorkflow",
"name": "Sample Workflow",
"version": "${ .inputVersion }",
- "specVersion": "0.7"
+ "specVersion": "0.8"
}
```
@@ -1858,7 +1858,7 @@ definition "id" must be a constant value.
{
"id": "sampleWorkflow",
"version": "1.0",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"name": "Sample Workflow",
"description": "Sample Workflow",
"start": "MyStartingState",
@@ -1876,7 +1876,7 @@ definition "id" must be a constant value.
```yaml
id: sampleWorkflow
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
name: Sample Workflow
description: Sample Workflow
start: MyStartingState
@@ -1990,8 +1990,8 @@ the very first state defined in the [workflow states array](#Workflow-States).
The `specVersion` property is used to set the Serverless Workflow specification release version
the workflow markup adheres to.
It has to follow the specification release versions (excluding the leading "v"), meaning that for
-the [release version v0.7](https://github.com/serverlessworkflow/specification/releases/tag/v0.7)
-its value should be set to `"0.7"`.
+the [release version v0.8](https://github.com/serverlessworkflow/specification/releases/tag/v0.8)
+its value should be set to `"0.8"`.
The `expressionLang` property can be used to identify the expression language used for all expressions in
the workflow definition. The default value of this property is ["jq"](https://stedolan.github.io/jq/).
@@ -2039,7 +2039,7 @@ Here is an example of using external resource for function definitions:
{
"id": "sampleWorkflow",
"version": "1.0",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"name": "Sample Workflow",
"description": "Sample Workflow",
"start": "MyStartingState",
@@ -2076,7 +2076,7 @@ Here is an example of using external resource for event definitions:
{
"id": "sampleWorkflow",
"version": "1.0",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"name": "Sample Workflow",
"description": "Sample Workflow",
"start": "MyStartingState",
@@ -3010,7 +3010,7 @@ and our workflow is defined as:
"id": "sendConfirmWorkflow",
"name": "SendConfirmationForCompletedOrders",
"version": "1.0",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"start": "SendConfirmState",
"functions": [
{
@@ -3047,7 +3047,7 @@ and our workflow is defined as:
id: sendConfirmWorkflow
name: SendConfirmationForCompletedOrders
version: '1.0'
-specVersion: '0.7'
+specVersion: '0.8'
start: SendConfirmState
functions:
- name: sendConfirmationFunction
@@ -4941,7 +4941,7 @@ Let's take a look at an example of additional properties:
{
"id": "myworkflow",
"version": "1.0",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"name": "My Test Workflow",
"start": "My First State",
"loglevel": "Info",
@@ -4959,7 +4959,7 @@ Note the same can be also specified using workflow metadata, which is the prefer
{
"id": "myworkflow",
"version": "1.0",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"name": "Py Test Workflow",
"start": "My First State",
"metadata": {
@@ -6127,7 +6127,7 @@ Here is an example of metadata attached to the core workflow definition:
"id": "processSalesOrders",
"name": "Process Sales Orders",
"version": "1.0",
- "specVersion": "0.7",
+ "specVersion": "0.8",
"start": "MyStartingState",
"metadata": {
"loglevel": "Info",