Releases

Synapse 1.0.0-alpha5.2 release

Introducing Light theme in Synapse 1.0.0-alpha5.2

We’re thriller to introduce Synapse 1.0.0-alpha5.2, the latest version of our official Serverless Workflow runtime. This release comes with a brand-new light theme that brings a fresh, modern look to your workflow management.

Whether you’re building complex workflows or experimenting with serverless architectures, Synapse 1.0.0-alpha5.2 is here to make the process seamless and visually appealing.

Check out the Synapse repo on GitHub to get started with the latest release!

Serverless Workflow 1.0.0-alpha5

Introducing Catalog Support!

We’re excited to announce the release of Serverless Workflow Specification 1.0.0-alpha5, introducing a powerful new feature: Catalogs. A catalog is a shared space where resources like custom functions can be defined and reused.

Why Catalogs Matter

Catalogs simplify workflow creation by promoting reusability and consistency. By storing frequently used resources in a catalog, developers can create cleaner, more modular workflows while reducing maintenance overhead.

We look forward to seeing how you’ll use this new feature! Join the discussion on GitHub to share your feedback.

Serverless Workflow 1.0.0-alpha4

Announcing Serverless Workflow Specification 1.0.0-alpha4: Critical Validation Fixes

We’re excited to announce the release of Serverless Workflow Specification 1.0.0-alpha4! This update is critical as it addresses a key issue that has impacted the community: the schema’s URI template. With this release, validation hurdles that developers previously encountered have been effectively resolved.

Why This Fix Matters

Validation is a cornerstone of the Serverless Workflow Specification. Accurate validation ensures that workflows adhere to defined rules and standards, making development predictable and dependable. The bug in the URI template previously led to false validation failures or confusion over accepted formats. With 1.0.0-alpha4, these issues are behind us.

Getting Started with 1.0.0-alpha4

To start using the new release, you can access the updated documentation and schema through the official Serverless Workflow GitHub repository. Follow the setup guide to integrate the updated specification into your environment.

What’s Next?

The Serverless Workflow community is committed to continual improvement. This release lays the groundwork for more exciting features and enhancements in the future. Keep an eye out for updates, as the team is actively working on further refinements and new functionalities to make Serverless Workflows even more powerful and developer-friendly.

Join the Community

As always, your feedback is invaluable! Join the discussion on GitHub or connect with other users in the Serverless Workflow community. Share your thoughts, report issues, and contribute to the ongoing evolution of the specification.

Thank you for your continued support, and happy workflow building!

Serverless Workflow 1.0.0-alpha3

A Closer Look at Serverless Workflow v1.0.0-alpha3: Major Fixes and Performance Boosts

We’re excited to announce the release of v1.0.0-alpha3 for the Serverless Workflow project! This release includes several impactful improvements and bug fixes, making the platform more stable and feature-rich. Below are the most notable issues we’ve resolved in this version:

  • #907: Improved handling of export expressions in workflow schemas, ensuring smoother transitions and reliable exports of specific expressions and data during workflow execution. This enhancement enhances the overall flow and usability.

  • #908: Enhanced clarity in referencing authentication policies within workflows. This improvement simplifies the management of secure service calls by allowing clearer references and reuse of authentication policies across different states.

  • #938: Introduced support for expressions in formatted strings, enabling users to dynamically insert expressions into string literals. This feature enhances flexibility in defining dynamic values, allowing workflows to adapt based on runtime data.

  • #953: Resolved issues with the definition of task and workflow properties, allowing for more specific attributes that improve clarity and usability. This refinement leads to better-defined workflows and easier implementation.

  • #956: Added support for query parameters in HTTP task definitions, enabling users to specify parameters directly within their HTTP tasks. This enhancement improves usability and flexibility in constructing rich API requests.

  • #960: Introduced the capability to add arguments to script processes, allowing users to pass specific arguments during script execution. This flexibility enables workflows to adapt dynamically to varying conditions.

  • #963: Addressed semantic inconsistencies between listen and emit tasks, clarifying their definitions and expected behaviors. This standardization facilitates clearer logic and better integration within event-driven workflows.

  • #973: Refactored OAuth2 authentication and introduced OIDC authentication support, broadening the range of authentication strategies available. This improvement enhances security and usability when integrating with various identity providers.

  • #995: A new property has been added to determine whether to await the execution of a process, allowing for precise control over workflow execution flow. This flexibility helps in accommodating various execution scenarios effectively.

  • #996: Introduced support for adding metadata to workflow documents and tasks, allowing users to embed additional contextual information. This enhancement improves documentation and discoverability, facilitating better integration with external systems.


We believe these changes will make Serverless Workflow even more powerful and flexible for developers. Check out the release notes for the full list of updates. As always, we’re grateful for the continued support from our community and welcome feedback on this release!

Serverless Workflow Java SDK 7.0.0-alpha1

Heads up, community! We have released a new Java SDK version compatible with Specification 1.0.0.

Announcing the Release of Serverless Workflow Java SDK 7.0.0-alpha1

Hello, Serverless Workflow community!

We’re excited to announce the release of the latest Java SDK, version 7.0.0-alpha1, now compatible with the upcoming Serverless Workflow Specification 1.0.0. You can dive right in by using one of the examples available in the specification repository. Here’s a quick example to get you started:

Java SDK Example

// Make sure simple.yaml is in your src/main/resources folder
try (InputStream in = new FileInputStream("simple.yaml")) {
   Workflow workflow = WorkflowReader.readWorkflow (in, WorkflowFormat.YAML);
    // Once you have the Workflow instance, you can use its API to inspect it
}

To install the SDK, simply add it as a dependency to your Maven project:

Maven Dependency

<dependency>
    <groupId>io.serverlessworkflow</groupId>
    <artifactId>serverlessworkflow-api</artifactId>
    <version>7.0.0-alpha1</version>
</dependency>

With this release, the Java SDK fully supports serializing and deserializing workflows according to the new specification version.

We’re also thrilled to share that new features are in the pipeline, and we’ll be releasing another alpha version soon. You can track our progress towards the 7.0.0.Final version here.

Previous Versions and Support for the Specification 0.8

As we move forward, if you encounter any issues with the 5.x series, which supports Specification 0.8, please open an issue in our repository so we can track it. While we may release patch versions to address critical issues, please note that no new features will be added, and our resources for maintaining this branch are limited.

For those interested in contributing to the 6.x series, which supports the legacy 0.9 version of the specification, we welcome your efforts. However, we want to emphasize that our primary focus and resources are dedicated to the new 1.0.0 specification, which aligns with the 7.x stream of the Java SDK.

Happy coding!

Serverless Workflow TypeScript SDK Legacy

Legacy Branch & Release for the TypeScript SDK

Announcing the Legacy Branch & release for Serverless Workflow TypeScript SDK

Hello, Serverless Workflow community!

I’m excited to share some important updates regarding the TypeScript SDK for the Serverless Workflow specification. As many of you know, our specification underwent a significant rewrite after version 0.9, culminating in the anticipated release of version 1.0.0-alpha. This update will bring many improvements and changes, aligning the spec with the latest needs and trends in serverless architectures.

Introducing the Legacy Branch

For those of you who have been working with version 0.9 of the spec and wish to continue using it, we’ve created a legacy branch in our GitHub repository. This branch is for developers who want to maintain the older version, even though our organization will not officially support it moving forward.

You can find the legacy branch here: Serverless Workflow TypeScript SDK - Legacy spec 0.9 Branch

NPM Package for the Legacy Version

The legacy branch is published under the previously erroneous organization name @severlessworkflow. This package is available for those needing the older version for compatibility reasons and is aligned with version 0.9 of the specification.

To install the legacy package, you can use:

npm install @severlessworkflow/sdk-typescript@4.0.0-rc1

This package will retain the older naming and organizational structure to maintain backward compatibility for existing projects.

Upcoming Packages with Correct Naming

Moving forward, all new packages will be released under the correct (organization) name @serverlessworkflow/sdk. This change not only corrects a previous error but also aligns with the updated versioning of the spec.

The version 1.0.0-alpha is still a work in progress. It will be released once it is ready and will feature all the enhancements and updates introduced with the rewritten specification.

Why This Matters

These changes ensure consistency and alignment with our community’s expectations and standards. Maintaining a legacy branch provides a bridge for developers needing more time to transition to the new specification. At the same time, the correct naming and versioning for new packages help streamline our offerings and reduce confusion.

Moving Forward

We encourage all developers to explore the new features and improvements of the upcoming SDK version once it is released. For those who need to stick with the older version for now, the legacy branch is there for your convenience.

Thank you for your continued support and contributions to the Serverless Workflow community. As always, your feedback is invaluable, and we look forward to hearing your thoughts on these changes.

Happy coding!

Serverless Workflow 1.0.0-alpha1

Exciting News! Serverless Workflow DSL v1.0.0-alpha1 Released!

Exciting News! Serverless Workflow DSL v1.0.0-alpha1 Released!

We’re thrilled to announce the release of Serverless Workflow DSL version 1.0.0-alpha1! This is a major milestone, introducing numerous features and a significant refactor to simplify and enhance the DSL.

What’s New?

  • Total Refactor: Overhauled grammar and semantics.
  • Unified Descriptive Properties: Now at the document top level with a new namespace property. Addresses #838
  • Improved JSON Pointers: Complex objects now use maps instead of arrays. Addresses #831
  • Referencable Workflow Components: Eliminates cumbersome ‘oneOf’ definitions. Partially addresses #691
  • Unified Task Concept: Merged state and action into task.
  • Flow Directives: Merged end and transition into flow directives. Addresses #684
  • Simplified Compensation: Designed via task branching/chaining.
  • Composite Tasks: Support for nested tasks. Addresses #413
  • Flexible Function Calls: Supports HTTP, GRPC, OpenAPI, and AsyncAPI. Addresses #828
  • Custom Processes: Run containers, shell commands, scripts, or workflows.
  • Execution Strategies: Sequential and concurrent task execution modes.
  • Fault Tolerance: Use try tasks to catch and handle errors.
  • Retry Policy: Retry on specific errors. Addresses #681 and #772
  • Timeouts: Define durations to raise timeout errors.
  • Error Handling: Raise and manage errors effectively. Addresses #771
  • Gherkin Features: For conformance testing and Behavior Driven Design (BDD). Addresses #324
  • Concurrent Event Correlations: Enhanced event handling. Addresses #679 and #680
  • Extensions: Extend and override the DSL without writing code.

This release aims to be the final version with breaking changes before the stable Serverless Workflow DSL 1.0.0 release.

Check out the full details and start exploring the new features today!

Serverless Workflow Java SDK 7.0.0-alpha1

Heads up, community! We have released a new Java SDK version compatible with Specification 1.0.0.

Announcing the Release of Serverless Workflow Java SDK 7.0.0-alpha1

Hello, Serverless Workflow community!

We’re excited to announce the release of the latest Java SDK, version 7.0.0-alpha5, now compatible with the upcoming Serverless Workflow Specification 1.0.0. You can dive right in by using one of the examples available in the specification repository. Here’s a quick example to get you started:

Java SDK Example

// Make sure simple.yaml is in your src/main/resources folder
try (InputStream in = new FileInputStream("simple.yaml")) {
   Workflow workflow = WorkflowReader.readWorkflow (in, WorkflowFormat.YAML);
    // Once you have the Workflow instance, you can use its API to inspect it
}

To install the SDK, simply add it as a dependency to your Maven project:

Maven Dependency

<dependency>
    <groupId>io.serverlessworkflow</groupId>
    <artifactId>serverlessworkflow-api</artifactId>
    <version>7.0.0-alpha5</version>
</dependency>

With this release,

  • We update to the latest schema.
  • We improve POJO generation from specification schema by:
    • creating proper union classes when the one of the union members is a string
    • assigning meaningful names by using schema titles.
  • We start the development of a reference implementation, that will be properly documented when it reaches a more stable state.

We’re also thrilled to share that new features are in the pipeline, and we’ll be releasing another alpha version soon. You can track our progress towards the 7.0.0.Final version here.

Previous Versions and Support for the Specification 0.8

As we move forward, if you encounter any issues with the 5.x series, which supports Specification 0.8, please open an issue in our repository so we can track it. While we may release patch versions to address critical issues, please note that no new features will be added, and our resources for maintaining this branch are limited.

For those interested in contributing to the 6.x series, which supports the legacy 0.9 version of the specification, we welcome your efforts. However, we want to emphasize that our primary focus and resources are dedicated to the new 1.0.0 specification, which aligns with the 7.x stream of the Java SDK.

Happy coding!