This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Blog

This is the blog section. It has two categories: News and Releases.

Files in these directories will be listed in reverse chronological order.

Releases

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!