v1.24.3 - 2026-06-17
Removed
- Removed the unused
_isV1field andisV1getter fromHatchetClient. The getter always returned a hardcoded value and was not referenced anywhere in the codebase.
v1.24.2 - 2026-06-15
Fixed
- Fixed a bug where the durable event listener’s request iterator could survive a stream reconnect and drain items from the new queue into the dead stream, causing durable tasks to hang indefinitely after an engine restart. The iterator now captures its queue and abort signal at creation time and terminates cleanly when the connection is replaced.
v1.24.1 - 2026-06-12
Fixed
- Fixed an issue where errors raised by child tasks spawned inside a durable parent task were not propagated back to the parent. The parent can now catch the child’s error and handle it gracefully.
v1.24.0 - 2026-06-11
Added
- Added a
getDetailsmethod tohatchet.runsto retrieve task details.
v1.23.1 - 2026-06-09
Added
- Added an
individualRunSpansForBulkRunOpenTelemetry config option. When enabled, a childhatchet.run_workflowspan is created for each item in a bulk run (runWorkflows), nested under the parenthatchet.run_workflowsspan, with each item’s traceparent pointing at its own span. Defaults tofalseto preserve the existing span structure.
Fixed
WorkflowsClient.get()now finds the exact workflow name match from list results instead of taking the first result, preventing incorrect workflow ID resolution when a name prefix-match returns multiple workflows.
v1.23.0 - 2026-05-27
Added
- Fixes
cancellation_grace_periodandcancellation_warning_thresholdnot being propagated from client config to Hatchet config. - Adds
grpc_max_recv_message_lengthandgrpc_max_send_message_lengthto client config, also configurable via env vars. Defaults to 4MB.
Fixed
- SDK import deprecation warnings to route via
process.emitWarningwith codeHATCHET_V0_REMOVED. EventClient.BulkPushcall usesoptionsargument as fallback when noinputis present.
v1.22.4 - 2026-05-22
Fixed
- Bumped
@anthropic-ai/claude-agent-sdkto^0.3.148so Claude agent SDK integrations resolve the correct Linux native binary on glibc systems. - Updated the TypeScript Claude agent example to load the ESM-only Claude Agent SDK dynamically.
v1.22.3 - 2026-05-18
Fixed
- Fixed
@openai/agentsimport that was not inside try block and caused errors when installing with Bun.
v1.22.2 - 2026-05-13
Fixed
- Fixed
DurableContext.waitForEventoverload ordering so calls without a payload schema infer the untyped event payload return type.
v1.22.1 - 2026-05-05
Fixed
Moved optional dependencies from optionalDependencies to peerDependencies.
v1.22.0 - 2026-04-28
Added
- Adds
mcpToolmethod to Workflow objects for integration with Claude and OpenAI agent SDKs. Requires Zod v4. - Bumps minimum Zod version to
3.25.0. Zod schemas provided to the SDK must be Zod 4 schemas, but you can still use Zod 3 in your application code.
v1.21.2 - 2026-04-22
Added
- Adds
triggeringEventIdandtriggeringEventKeyto theContext
v1.21.1 - 2026-04-21
Fixed
- Adds an optional
labelon durable event waits, which will propagate through to the dashboard
v1.21.0 - 2026-04-08
Added
- runMany and runManyNoWait APIs for workflows and standalone tasks to support bulk runs with per-run options.
- RunManyOpt input shape containing an input object and an options object.
Changed
- Bulk docs to include runMany and runManyNoWait examples.
v1.20.1 - 2026-04-07
Fixed
- Fixed duplicate child run deduplication when mixing
ctx.runChild()andworkflow.runNoWait()(or deeply nested recursive spawns).Context.spawnIndexandParentRunContextManager.childIndexwere tracked independently, causing both APIs to emit overlappingchildIndexvalues and silently deduplicate children that should have been unique. The two counters now share a single source of truth viaAsyncLocalStorage, andincrementChildIndexmutates the context object in place instead of replacing it withenterWith, which lost updates acrossawaitboundaries.
v1.20.0 - 2026-04-07
Added
- Adds
scopeandlookbackWindowarguments for theDurableContext.waitForEvent, which allows durable tasks to look back in time for events that may have been emitted before the task started.
v1.19.1 - 2026-03-25
Changed
- Event source info (
hatchet__source_workflow_run_id,hatchet__source_step_run_id) is now injected into event metadata at theEventClientlevel, so cross-workflow trace linking works even without the OTel instrumentor enabled.
v1.19.0 - 2026-03-25
Fixed
- Fixed OpenTelemetry version mismatch causing
TypeError: Cannot read properties of undefined (reading 'name')when exporting spans. The SDK now requires OpenTelemetry JS SDK 2.x (@opentelemetry/sdk-trace-base@^2.0.0,@opentelemetry/core@^2.0.0) to match the@opentelemetry/exporter-trace-otlp-grpc@^0.208.0dependency.
Changed
- Updated OpenTelemetry optional dependencies to the unified 2.x release set.
v1.18.0 - 2026-03-18
Added
- OpenTelemetry instrumentation via
HatchetInstrumentorwith automatic tracing for workflow runs, event pushes, and step executions - OpenTelemetry example demonstrating automatic and custom span instrumentation (
examples/opentelemetry_instrumentation)
v1.17.2 - 2026-03-17
Added
- Added
getTaskStatsandscrapePrometheusMetricsmethods to the metrics client.
v1.17.1 - 2026-03-17
Changed
- Updates the
DurableTaskRunAckEntryResultinterface to includeworkflowRunExternalIdfield, to enable spawning children from durable tasks fire-and-forget style.
v1.17.0 - 2026-03-16
Added
- Added a
DurableContext.waitForEventhelper which returns the payload of the awaited event. - Added an
EvictionPolicy, which allows durable tasks to be evicted from the worker when idle.
Changed
- Makes a bunch of internal-facing changes for new durable execution features
v1.16.0 - 2026-03-11
Added
- Added logs client for retrieving task run logs.
v1.15.2 - 2026-03-06
Fixed
waitForand task conditions (e.g. user event keys) are correctly namespaced when using a non-default namespace.- Cron expressions now support an optional leading seconds field (6-part expressions), e.g.
30 * * * * *to trigger at 30 seconds past every minute.
v1.15.1 - 2026-03-04
Fixed
- Fix npm publish so the package includes compiled JavaScript at the correct paths.
v1.15.0 - 2026-03-03
Added
- Adds a
desiredWorkerLabelsoption toRunOptsto allow dynamically routing task runs to a specific worker at trigger time
v1.14.0 - 2026-02-28
Deprecated
- v0 SDK is now deprecated. Migrate to the v1 API for ongoing support.
Added
- Internal legacy transformer for backwards compatibility with existing v0 workflows and workers.
v1.13.1 - 2026-02-27
Changed
- Updated internal dependencies to address security advisories.
v1.13.0 - 2026-02-23
Added
- Introduced client middleware support with composable
before/afterhooks to customize request handling and response processing. - Added middleware examples and recipes to demonstrate practical client-side patterns.
v1.12.1 - 2026-02-18
Fixed
- Restored
ctx.taskRunId()as a deprecated alias forctx.taskRunExternalId()on both v0 and v1 worker contexts, so existing code callingctx.taskRunId()continues to work after the proto naming changes in 1.11.0.
v1.12.0 - 2026-02-13
Added
- Webhooks client for managing incoming webhooks: create, list, get, update, and delete methods for webhooks, so external systems (e.g. GitHub, Stripe) can trigger workflows via HTTP.
v1.11.0 - 2026-02-05
Internal Only
- Updated gRPC/REST contract field names to lowerCamelCase for consistency across SDKs.
v1.11.0 - 2026-02-04
Changed
- Updated the metrics client for the latest server metrics APIs (including adding
getTaskStatusMetricsfor tenant task/run status counts). - Removes deprecated metrics methods.
v1.10.8 - 2026-02-02
Changed
- Improved cancellation log messages: cancellation-related logs now use
debuglevel instead oferrorlevel since cancellation is expected behavior, not a failure. - Updated terminology in log messages from “step run” to “task run” for consistency.
- Added link to cancellation docs (https://docs.hatchet.run/home/cancellation) in error messages when task completion fails.
v1.10.7 - 2026-01-27
Added
- Adds support for an
inputValidatorprop on the various workflow definitions, e.g.hatchet.workflowandhatchet.task, which accepts a Zod schema to validate the input to the workflow or task. Used on the dashboard to provide autocomplete on the trigger workflow form.
v1.10.6 - 2026-01-27
Changed
- Improves handling of cancellations for tasks to limit how often tasks receive a cancellation but then are marked as succeeded anyways.