Skip to content

Releases: conductor-oss/javascript-sdk

v2.4.1

01 Dec 15:45
e32a1cb

Choose a tag to compare

✅ Project Structure Aligned with Logical Layers

This release reorganizes the SDK around clear logical layers, isolating OpenAPI-generated code from SDK abstractions and streamlining tests. Functionality, build behavior, and public APIs remain unchanged for end users; all changes are internal structure, imports/exports, and test layout.

🛠 Improvements

  • All generated code is now isolated under src/open-api/generated, with manual rewrites, extensions, and export control layered in src/open-api as a cohesive OpenAPI layer.
  • SDK abstractions previously under orkes, core, task, and common have been reorganized into sdk/clients, sdk/createConductorClient, sdk/generators, and sdk/builders, reflecting their actual responsibilities.
  • Monolithic files have been split into helper modules and shared type definitions, placed at appropriate levels based on reuse, improving readability and maintainability.
  • Import and export paths were updated to match the new structure, without changing public APIs, runtime behavior, or build output for end users.
  • The v5-only test folder was removed; tests are now colocated with domain-specific code, and version-specific selection is handled via environment variables and updated package.json test scripts.

What's Changed

Full Changelog: v2.4.0...v2.4.1

v2.4.1-beta

01 Dec 15:18
e32a1cb

Choose a tag to compare

v2.4.1-beta Pre-release
Pre-release

📣 Project Structure Aligned with Logical Layers

This release reorganizes the SDK around clear logical layers, isolating OpenAPI-generated code from SDK abstractions and streamlining tests. Functionality, build behavior, and public APIs remain unchanged for end users; all changes are internal structure, imports/exports, and test layout.

🛠 Improvements

  • All generated code is now isolated under src/open-api/generated, with manual rewrites, extensions, and export control layered in src/open-api as a cohesive OpenAPI layer.
  • SDK abstractions previously under orkes, core, task, and common have been reorganized into sdk/clients, sdk/createConductorClient, sdk/generators, and sdk/builders, reflecting their actual responsibilities.
  • Monolithic files have been split into helper modules and shared type definitions, placed at appropriate levels based on reuse, improving readability and maintainability.
  • Import and export paths were updated to match the new structure, without changing public APIs, runtime behavior, or build output for end users.
  • The v5-only test folder was removed; tests are now colocated with domain-specific code, and version-specific selection is handled via environment variables and updated package.json test scripts.

What's Changed

Full Changelog: v2.4.0...v2.4.1-beta

v2.4.0

24 Nov 16:50
f0c6daa

Choose a tag to compare

📣 Application Client Introduced

This release expands the JavaScript SDK with a dedicated ApplicationClient, making it easier to manage applications end-to-end and ensuring the ServiceRegistryClient is properly exposed from the public API.

✨ New Features

  • Introduced ApplicationClient for managing applications through the SDK
  • Added ApplicationClient documentation with usage guidance and examples

🐞 Bug Fixes

  • Included missing export for ServiceRegistryClient

What's Changed

Full Changelog: v2.3.0...v2.4.0

v2.3.0

13 Nov 12:58
cfa3dba

Choose a tag to compare

📣 Event Client Introduced

This release expands the JavaScript SDK with native support for event-driven capabilities, enabling clients to work directly with events and handlers through a dedicated API.

✨ New Features

  • Introduced EventClient for interacting with events
  • Added methods to publish events and fetch event handlers
  • Included TypeScript definitions and basic usage examples

What's Changed

Full Changelog: v2.2.1...v2.3.0

v2.2.1

29 Oct 13:23
0fe7d3f

Choose a tag to compare

🚨 Backward compatibility fix - Upgrade Recommended

Retained autogenerated methods that were previously accessible via the low-level client to ensure smooth migration for existing users.

⚠️ Deprecation Notice

Direct access to resources on the raw client object is deprecated. This functionality should be accessed through facade clients, which are manually written and officially supported. Deprecated methods will be removed in future versions.

What's Changed

Full Changelog: v2.2.0...v2.2.1

v2.2.0

27 Oct 11:12
d15580a

Choose a tag to compare

🔍 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

v2.1.5

04 Sep 11:10
56b1414

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2.1.4...v2.1.5

v2.1.4

16 Jan 17:23
6042c12

Choose a tag to compare

What's Changed

Full Changelog: v2.1.3...v2.1.4

v2.1.3

14 Nov 14:05
d324604

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2.1.2...v2.1.3

v2.1.2

08 Aug 13:17
0c07a54

Choose a tag to compare

What's Changed

  • fix:add withTemplate query to claimTask-humanTaskService by @najeebkp in #68

Full Changelog: v2.1.1...v2.1.2