Skip to content

v2.2.0

Choose a tag to compare

@EugeneKisel-sm EugeneKisel-sm released this 27 Oct 11:12
· 34 commits to main since this release
d15580a

🔍 Overview

This release focuses on modernizing the SDK architecture, improving Node.js performance and maintainability, and introducing several developer-experience enhancements — including optional tasks, event handler metadata, HTTP/2 support, and a complete refactor of the OpenAPI integration layer.

🧩 Highlights

  • Clients enhancements
    • All clients now updated to the latest Orkes API version, ensuring full compatibility with new backend endpoints and structures.
    • Added support for optional tasks in workflow definitions (isOptional: true), allowing workflows to continue even if specific tasks fail or are skipped.
    • Event handlers now include description and tags fields to improve organization and discoverability.

  • SDK Architecture Refactor
    • Fully separated the custom SDK logic from the OpenAPI-generated layer, eliminating manual edits.
    • Added HTTP/2 support for Node.js via Undici, while keeping native fetch for browser environments.
    • Environment variables now automatically override config values (no useEnvVars flag needed).
    • Added the ability to provide a custom fetch implementation, enabling compatibility with older Node.js versions.
    • Simplified regeneration of OpenAPI services for future backend updates.

  • Build & CI Improvements
    • Migrated from Yarn v1 to npm, updated Jest, and added per-line test annotations in GitHub Actions.
    • Expanded CI/CD matrix to cover Node.js 20, 22, and 24 (LTS releases).
    • Introduced a retry mechanism for HTTP 429 (rate-limit) responses and improved test parallelization.

  • Documentation & Generator Updates
    • Switched to the openapi-ts code generator, resulting in cleaner, type-safe definitions and simplified maintenance.
    • Updated documentation and examples to reflect the new environment-variable behavior, HTTP/2 support, and SDK structure.
    • Fixed linter issues for consistent style compliance.

⚠️ Deprecation Notice

The SDK now marks several types and legacy APIs as deprecated. They remain available in this release but will be removed in the future versions. Migration is strongly recommended.

  • Avoid using any Deprecated* types — replace them with their modern equivalents.
  • Environment variables now override config by default, so the useEnvVars: true flag can be safely removed.
  • Refer to the official documentation for detailed examples:
    README.md
    API Reference

What's Changed

Full Changelog: v2.1.5...v2.2.0