---
name: Background Jobs & Orchestration
slug: workflow-orchestration
description: Durable workflows, queues, and retries that survive failures and restarts.
member_count: 6
canonical: https://releases.sh/collections/workflow-orchestration
---

# Background Jobs & Orchestration

Durable workflows, queues, and retries that survive failures and restarts.

## Members (6)

- [Temporal](https://releases.sh/temporal) — temporal.io
- [Trigger.dev](https://releases.sh/trigger-dev) — trigger.dev
- [Inngest](https://releases.sh/inngest) — inngest.com
- [n8n](https://releases.sh/n8n) — n8n.io
- [QStash](https://releases.sh/upstash/qstash) (product · Upstash)
- [Upstash Workflow](https://releases.sh/upstash/upstash-workflow) (product · Upstash)

## Fetching more

Append `.md` (markdown), `.json` (raw data), or `.atom` (feed) to any URL on this page.

- Aggregated release feed: `https://releases.sh/collections/workflow-orchestration.atom`

## Recent Releases

---
collection: workflow-orchestration
collection_name: Background Jobs & Orchestration
release_count: 20
has_more: true
canonical: https://releases.sh/collections/workflow-orchestration
---

<Release version="n8n@2.23.3" date="June 4, 2026" published="2026-06-04T10:11:58.000Z" url="https://github.com/n8n-io/n8n/releases/tag/n8n%402.23.3" org="n8n" source="n8n">
## [2.23.3](https://github.com/n8n-io/n8n/compare/n8n@2.23.2...n8n@2.23.3) (2026-06-04)


### Bug Fixes

* **core:** Prevent evaluation executions from stalling in status new ([#31702](https://github.com/n8n-io/n8n/issues/31702)) ([fde615b](https://github.com/n8n-io/n8n/commit/fde615b6fe3050fe1acb9d520df5af66508abc74))
</Release>

<Release version="n8n@1.123.52" date="June 4, 2026" published="2026-06-04T10:07:35.000Z" url="https://github.com/n8n-io/n8n/releases/tag/n8n%401.123.52" org="n8n" source="n8n">
## [1.123.52](https://github.com/n8n-io/n8n/compare/n8n@1.123.51...n8n@1.123.52) (2026-06-04)


### Bug Fixes

* **core:** Reject unsafe property tokens in in-isolate $jmespath ([#31643](https://github.com/n8n-io/n8n/issues/31643)) ([08de252](https://github.com/n8n-io/n8n/commit/08de252a0f49d452cbceb916370ab705ad08155f))
* **core:** Report only error class and stack for unhandled node errors ([#31640](https://github.com/n8n-io/n8n/issues/31640)) ([fbb9005](https://github.com/n8n-io/n8n/commit/fbb90050c160ef51184e9676bffb8cf0f1ba5be8))
</Release>

<Release version="v1.25.0" date="June 3, 2026" published="2026-06-03T22:11:27.000Z" url="https://github.com/inngest/inngest/releases/tag/v1.25.0" org="inngest" source="inngest-server">
## Release Notes

- [#4283](https://github.com/inngest/inngest/pull/4283) feat: add event runs v2 api contract and implementation

  Adds a v2 REST endpoint for listing function runs by event id:

  `GET /v2/events/{event_id}/runs?includeOutput=true&limit=20&cursor={cursor}`

  ```
  npx inngest-cli@latest alpha api get-event-runs <event-id> \
    --include-output \
    --limit 20
  ```

- [#4297](https://github.com/inngest/inngest/pull/4297) feat: EXE-1837: Add a few Open Inference attributes to Metadata

  Adds support for processing a handful of Open Inference attributes into step metadata

- [#4307](https://github.com/inngest/inngest/pull/4307) feat: EXE-1918: Parse total tokens from AI Metadata

  Step AI metadata sources total tokens from span attributes when provided

- [#4309](https://github.com/inngest/inngest/pull/4309) fix(realtime): websocket memory leak

  Fix memory leak in realtime websocket connections.

- [#4312](https://github.com/inngest/inngest/pull/4312) feat: EXE-1913: Add support for parsing span attribute data from Vercel's AI SDK

  Add support for parsing span attribute data from Vercel's AI SDK

## Changelog

### 🚀 Features

- EXE-1837: Add a few Open Inference attributes to Metadata (#4297)
- EXE-1918: Parse total tokens from AI Metadata (#4307)
- Add Group ID & Request ID attributes to most execution spans (#4304)
- EXE-1918: Add Response Model, Response ID, and finish reasons to extracted AI Metadata (#4311)
- Use queue item timestamps for traces (#4316)
- Add event runs query for v2 api (#4282)
- Add event runs v2 api contract and implementation (#4283)
- EXE-1913: Add support for parsing span attribute data from Vercel's AI SDK (#4312)

### 🐛 Bug Fixes

- *(queue)* Log queue role acquire and loss (#4300)
- *(realtime)* Websocket memory leak (#4309)
- Add app name to run spans (#4314)

### ⚙️ Miscellaneous Tasks

- Add function metadata to run spans (#4287)
- Improve usability on deferred runs (#4320)


</Release>

<Release version="n8n@1.123.51" date="June 3, 2026" published="2026-06-03T10:21:34.000Z" url="https://github.com/n8n-io/n8n/releases/tag/n8n%401.123.51" org="n8n" source="n8n">
## [1.123.51](https://github.com/n8n-io/n8n/compare/n8n@1.123.50...n8n@1.123.51) (2026-06-03)


### Bug Fixes

* **core:** Quiet VM expression engine logs on the happy path ([#31566](https://github.com/n8n-io/n8n/issues/31566)) ([1c35031](https://github.com/n8n-io/n8n/commit/1c350312abbef4312507c9d0990f271f2da9f6a9))
* **core:** Re-register expression metrics after Prometheus registry reset ([#31567](https://github.com/n8n-io/n8n/issues/31567)) ([497bf6b](https://github.com/n8n-io/n8n/commit/497bf6b6e130d504c42bdd7b1d35b25961b16db6))
</Release>

<Release version="v1.24.0" date="June 1, 2026" published="2026-06-01T18:26:35.000Z" url="https://github.com/inngest/inngest/releases/tag/v1.24.0" org="inngest" source="inngest-server">
## Changelog

### 🚀 Features

- Surface deferred runs in run details (#4290)

### 🐛 Bug Fixes

- *(queue)* Quarantine deleted account partitions (#4281)
- Properly calculate discover step (#4280)
- Prevent duplicate function.finished on overlapping finalize (#4242)
- Validate dispatch generation on async checkpoints (#4140)

### 🚜 Refactor

- *(queue)* Introduce queue roles (#4289)


</Release>

<Release version="n8n@2.22.6" date="June 1, 2026" published="2026-06-01T10:37:23.000Z" url="https://github.com/n8n-io/n8n/releases/tag/n8n%402.22.6" org="n8n" source="n8n">
## [2.22.6](https://github.com/n8n-io/n8n/compare/n8n@2.22.5...n8n@2.22.6) (2026-06-01)


### Bug Fixes

* **core:** Insights page shows license paywall for licensed users ([#31453](https://github.com/n8n-io/n8n/issues/31453)) ([41db3cd](https://github.com/n8n-io/n8n/commit/41db3cded4117eb62b613b660e6ae3f0e02ffda0))
* **core:** Preserve code-builder thread suffix when parsing session ([#31309](https://github.com/n8n-io/n8n/issues/31309)) ([e062c20](https://github.com/n8n-io/n8n/commit/e062c2064f936cd8af300c510e35da937d02d078))
* **core:** Use slugs instead of ids to identify MCP registry servers ([#31302](https://github.com/n8n-io/n8n/issues/31302)) ([fbd18aa](https://github.com/n8n-io/n8n/commit/fbd18aa32ed8b04455dd83b06610a2ca95721100))
* **core:** Use timestamptz for data table date columns ([#31455](https://github.com/n8n-io/n8n/issues/31455)) ([909b509](https://github.com/n8n-io/n8n/commit/909b509d677db9eda0a09a90c24840ce683ef400))
* **editor:** Clear pin data on workspace initialization of production execution ([#31259](https://github.com/n8n-io/n8n/issues/31259)) ([4e8903f](https://github.com/n8n-io/n8n/commit/4e8903f2d65f5c7795fdd43ab1c8c19a756912cd))
* Revert 'Input validation for workflow and data table names' (PR 30594) ([#31368](https://github.com/n8n-io/n8n/issues/31368)) ([3368789](https://github.com/n8n-io/n8n/commit/33687890b9a54e099cfb11c18feaf7113e409d4d))
</Release>

<Release version="n8n@1.123.50" date="June 1, 2026" published="2026-06-01T10:33:56.000Z" url="https://github.com/n8n-io/n8n/releases/tag/n8n%401.123.50" org="n8n" source="n8n">
## [1.123.50](https://github.com/n8n-io/n8n/compare/n8n@1.123.49...n8n@1.123.50) (2026-06-01)


### Bug Fixes

* **core:** Add configurable retries and error details to S3 ([#29810](https://github.com/n8n-io/n8n/issues/29810)) ([83023cc](https://github.com/n8n-io/n8n/commit/83023cce28ecec4baa6ca499635cd4ecd9c4d88b))
</Release>

<Release version="v1.44.1" date="May 28, 2026" published="2026-05-28T19:45:44.000Z" url="https://github.com/temporalio/sdk-go/releases/tag/v1.44.1" org="temporal" source="temporal-go-sdk">
## Graceful worker shutdown now drains already-polled tasks when supported by the server.

When the namespace supports worker poll completion on shutdown, workers now notify the server during shutdown and allow already-polled Workflow, Activity, and Nexus tasks to finish within WorkerStopTimeout. Previously, worker shutdown
  immediately canceled in-flight polls and could abandon tasks that had already been delivered to the SDK, causing those tasks to be retried or, for workflow tasks, to time out before another worker could continue. Existing shutdown timeout behavior still applies: if work does not complete before WorkerStopTimeout, shutdown proceeds and unfinished work may still be retried by another worker.

> Server deployments can enable this capability with frontend.enableCancelWorkerPollsOnShutdown=true.

## What's Changed
* Disable gomod version-bump PRs, keep security alerts by @picatz in https://github.com/temporalio/sdk-go/pull/2361
* Shutdown refactor by @yuandrew in https://github.com/temporalio/sdk-go/pull/2368
* remove dead omes job by @THardy98 in https://github.com/temporalio/sdk-go/pull/2372
* Fix shutdown test flake - ensure activity has started by @yuandrew in https://github.com/temporalio/sdk-go/pull/2375


**Full Changelog**: https://github.com/temporalio/sdk-go/compare/v1.44.0...v1.44.1
</Release>

<Release version="v1.23.0" date="May 28, 2026" published="2026-05-28T17:25:53.000Z" url="https://github.com/inngest/inngest/releases/tag/v1.23.0" org="inngest" source="inngest-server">
## Release Notes

- [#4246](https://github.com/inngest/inngest/pull/4246) feat: accept positional path params in agentic cli

  Inngest's agentic cli now accepts path parameters as positional arguments in addition to flags. For example, `npx inngest-cli@latest alpha api invoke-function my-app hello/world --data '{...}'` is equivalent to passing `--app-id my-app --function-id hello/world`.

## Migration Notes

- [#4267](https://github.com/inngest/inngest/pull/4267) fix(queue): handle renewed item lease during processing

  None

  ## Validation

  - `go test -count=1 -run TestQueueItemProcessCleanupUsesRenewedLease ./pkg/execution/state/redis_state`
  - `go test -race -count=1 -run TestQueueItemProcessCleanupUsesRenewedLease ./pkg/execution/state/redis_state`
  - `go test -count=1 -run TestQueueItemProcess ./pkg/execution/state/redis_state`

## Changelog

### 🚀 Features

- *(queue)* Allow EnqueueItem on other shard types (#4263)
- Accept positional path params in agentic cli (#4246)

### 🐛 Bug Fixes

- *(executor)* Initialize synthetic cancel metadata config (#4261)
- *(queue)* Handle renewed item lease during processing (#4267)
- Get outputs working again with v2 runs (#4273)

### 🚜 Refactor

- *(connect)* Gate gateway routing by connection phase (#4241)
- *(queue)* Add Scope to more queue methods (#4271)

### ⚙️ Miscellaneous Tasks

- Update go sdk (#4264)
- Improve agentic api cli help  (#4245)

### ◀️ Revert

- "chore: add a concurrency safe marshal to state configs" (#4257)


</Release>

<Release version="inngest@4.5.0" date="May 28, 2026" published="2026-05-28T13:47:44.000Z" url="https://github.com/inngest/inngest-js/releases/tag/inngest%404.5.0" org="inngest" source="inngest-js-sdk">
### Minor Changes

-   [#1522](https://github.com/inngest/inngest-js/pull/1522) [`ebeb4516`](https://github.com/inngest/inngest-js/commit/ebeb4516037015c0e6f1d417be55009f4a64fb89) Thanks [@Linell](https://github.com/Linell)! - Bump minimum `@opentelemetry/auto-instrumentations-node` to `0.75.0` to address
    [GHSA-q7rr-3cgh-j5r3](https://github.com/advisories/GHSA-q7rr-3cgh-j5r3) in the
    transitive `@opentelemetry/sdk-node` / `@opentelemetry/exporter-prometheus` packages.

    Note that upstream `auto-instrumentations-node@0.72.0` dropped bundled Fastify,
    instrumentation, so if you relied on it for tracing your Fastify routes, add
    `@opentelemetry/instrumentation-fastify` directly.

### Patch Changes

-   [#1540](https://github.com/inngest/inngest-js/pull/1540) [`10dad398`](https://github.com/inngest/inngest-js/commit/10dad39891b99303d75576c7c53cd8339dac53f5) Thanks [@amh4r](https://github.com/amh4r)! - Fix attempt count not resetting during checkpointing

-   [#1544](https://github.com/inngest/inngest-js/pull/1544) [`f1ee6f34`](https://github.com/inngest/inngest-js/commit/f1ee6f3464705b2c80c0f03ff9e4483296cc60e4) Thanks [@jacobheric](https://github.com/jacobheric)! - Allow `useRealtime` to accept direct client subscription tokens from `getClientSubscriptionToken()` when `channel` and `topics` are provided as hook options, and avoid reconnecting solely because an inline token factory or token object gets a new render identity.

-   [#1506](https://github.com/inngest/inngest-js/pull/1506) [`342a7369`](https://github.com/inngest/inngest-js/commit/342a7369b757c5dd34f009eabcb6642cd207a721) Thanks [@amh4r](https://github.com/amh4r)! - Add option to disable unauthed PUT requests

-   [#1518](https://github.com/inngest/inngest-js/pull/1518) [`fd71a95b`](https://github.com/inngest/inngest-js/commit/fd71a95bc2a5a1cbc20ae8d80a97a6e12955ce9c) Thanks [@Linell](https://github.com/Linell)! - Fix RetryAfterError not respected

</Release>

<Release version="n8n@1.123.49" date="May 28, 2026" published="2026-05-28T09:52:58.000Z" url="https://github.com/n8n-io/n8n/releases/tag/n8n%401.123.49" org="n8n" source="n8n">
## [1.123.49](https://github.com/n8n-io/n8n/compare/n8n@1.123.48...n8n@1.123.49) (2026-05-28)


### Bug Fixes

* **core:** Drain webhook close functions to prevent MCP connection leaks ([#31188](https://github.com/n8n-io/n8n/issues/31188)) ([69b2fbd](https://github.com/n8n-io/n8n/commit/69b2fbd1027691c7aa723d1a31db16a74ec5fb91))
</Release>

<Release version="n8n@2.22.5" date="May 28, 2026" published="2026-05-28T08:20:49.000Z" url="https://github.com/n8n-io/n8n/releases/tag/n8n%402.22.5" org="n8n" source="n8n">
## [2.22.5](https://github.com/n8n-io/n8n/compare/n8n@2.22.4...n8n@2.22.5) (2026-05-28)
</Release>

<Release version="n8n@2.22.4" date="May 27, 2026" published="2026-05-27T07:15:31.000Z" url="https://github.com/n8n-io/n8n/releases/tag/n8n%402.22.4" org="n8n" source="n8n">
## [2.22.4](https://github.com/n8n-io/n8n/compare/n8n@2.22.3...n8n@2.22.4) (2026-05-27)


### Bug Fixes

* **core:** Remove aggressive temp directory cleanup in binary data rename ([#31165](https://github.com/n8n-io/n8n/issues/31165)) ([978840d](https://github.com/n8n-io/n8n/commit/978840db54cb6c27596b661fafe6af8bb734180b))
</Release>

<Release version="n8n@2.21.8" date="May 27, 2026" published="2026-05-27T07:12:05.000Z" url="https://github.com/n8n-io/n8n/releases/tag/n8n%402.21.8" org="n8n" source="n8n">
## [2.21.8](https://github.com/n8n-io/n8n/compare/n8n@2.21.7...n8n@2.21.8) (2026-05-27)
</Release>

<Release version="n8n@1.123.48" date="May 27, 2026" published="2026-05-27T07:04:18.000Z" url="https://github.com/n8n-io/n8n/releases/tag/n8n%401.123.48" org="n8n" source="n8n">
## [1.123.48](https://github.com/n8n-io/n8n/compare/n8n@1.123.47...n8n@1.123.48) (2026-05-27)
</Release>

<Release version="n8n@1.123.47" date="May 25, 2026" published="2026-05-25T10:04:27.000Z" url="https://github.com/n8n-io/n8n/releases/tag/n8n%401.123.47" org="n8n" source="n8n">
## [1.123.47](https://github.com/n8n-io/n8n/compare/n8n@1.123.46...n8n@1.123.47) (2026-05-25)


### Bug Fixes

* Fix 16 security issues in vm2, ws, protobufjs and 4 more ([#30852](https://github.com/n8n-io/n8n/issues/30852)) ([0ec59b6](https://github.com/n8n-io/n8n/commit/0ec59b6e43e0411f5af174e8cccd356de7f3be85))
* Fix security issue in urllib3 via minor version upgrade from 2.6.3 to 2.7.0 in packages ([#31058](https://github.com/n8n-io/n8n/issues/31058)) ([7ac1341](https://github.com/n8n-io/n8n/commit/7ac134188eb3331a348050dcc6ba68d57f155fa4))
</Release>

<Release version="v1.22.0" date="May 22, 2026" published="2026-05-22T17:48:41.000Z" url="https://github.com/inngest/inngest/releases/tag/v1.22.0" org="inngest" source="inngest-server">
## Release Notes

- [#3871](https://github.com/inngest/inngest/pull/3871) fix(batching): Enforce batch size limits in the in-memory batching path.

  Enforce batch size limits in the in-memory batching.

- [#4143](https://github.com/inngest/inngest/pull/4143) fix(syncs): fix function orphaning on app resync after <v1.15 upgrade

  Inngest server: fix functions being orphaned (and runs/history pointing at a now-archived app) when re-syncing after upgrading from pre-v1.15. Legacy URL-keyed app rows are adopted in place by name on first re-sync.

- [#4185](https://github.com/inngest/inngest/pull/4185) feat: Add update notifier to select commands

  The CLI now automatically checks and notifies the user when there is an updated version available. The check will not run if any of the following environment variables are set to a truthy value (e.g. `=1`): `INNGEST_NO_UPDATE_NOTIFIER`, `NO_UPDATE_NOTIFIER`, `DO_NOT_TRACK`, `CI`. The update does not print when using the `start` or `doctor` commands or when using a non TTY input.

## Migration Notes

- [#4143](https://github.com/inngest/inngest/pull/4143) fix(syncs): fix function orphaning on app resync after <v1.15 upgrade

  Goose database migration `000004_apps_unique_active_name.sql` (sqlite) / `000006_apps_unique_active_name.sql` (postgres) adds the partial unique index and pre-archives any pre-existing same-name duplicates (active row or row with most functions wins, losers get their name suffixed with their id so they remain reachable for manual recovery). No action required for clean installs. This cleanup should also remove classes of bugs that were possible before.

## Changelog

### 🚀 Features

- Insights: Add stubs for new insights API endpoints (#4189)
- Add update notifier to select commands (#4185)
- Phase 1 scoring (#4170)

### 🐛 Bug Fixes

- *(syncs)* Fix function orphaning on app resync after <v1.15 upgrade (#4143)
- *(pauses)* Retry enqueueing edge after consuming pause (#4228)
- *(batching)* Enforce batch size limits in the in-memory batching path. (#3871)
- Add feature flag for enforcing state size limits (#4251)
- Bulk canel bug (#4255)

### 💼 Other

- *(deps)* Update pgx and goose (#4248)
- *(deps)* Remove vulnerable docker module (#4249)

### ⚡ Performance

- *(batch)* Split batch partition into workspace-scoped partitions (#4236)

### 🧪 Testing

- *(connect)* Forward regression test (#4214)

### ⚙️ Miscellaneous Tasks

- Add a concurrency safe marshal to state configs (#4256)

### 🛡️ Security

- *(npm)* Address vulnerable npm dependencies (#4250)


</Release>

<Release version="v1.44.0" date="May 21, 2026" published="2026-05-21T19:55:20.000Z" url="https://github.com/temporalio/sdk-go/releases/tag/v1.44.0" org="temporal" source="temporal-go-sdk">
## (Experimental) Stand Alone Nexus Operations

NOTE: Stand Alone Nexus Operation Support is experimental and currently only supported on pre-release versions of the [[dev server](https://github.com/temporalio/cli/releases/tag/v1.7.1-standalone-nexus-operations)](https://github.com/temporalio/cli/releases/tag/v1.7.1-standalone-nexus-operations). 

Added support for Stand Alone Nexus Operations, allowing clients to
start and manage Nexus operations directly outside of a Workflow. Operations can be tracked through a `NexusOperationHandle` that supports getting results, describing, cancelling, and terminating executions. The client also exposes `ListNexusOperations`,
`CountNexusOperations`, and `GetNexusOperationHandle` for discovering
and reattaching to running operations.

Documentation, Samples, and instructions to request enablement in Temporal Cloud will be linked here when available.

## SDK Flag SDKFlagMemoUserDCEncode has been enabled by default

Memo's previously didn't use the user data converter, now the SDK will first use the user data converter, and if user DC errors out, the default DC will be used as a fallback. If that also returns an error, the user DC error will be returned to the caller.

Note that old histories before this flag was flipped on will continue to use the old code path of not using the user DC.

## What's Changed
* Bump go-m1cpu to v0.2.1 to fix SIGSEGV on Apple M5 by @dplyukhin in https://github.com/temporalio/sdk-go/pull/2327
* Set time to 10 minutes not 60 seconds by @yuandrew in https://github.com/temporalio/sdk-go/pull/2321
* Remove dead links by @yuandrew in https://github.com/temporalio/sdk-go/pull/2322
* Enable SDKFlagMemoUserDCEncode flag by default by @yuandrew in https://github.com/temporalio/sdk-go/pull/2332
* Add missing Describe() method to external storage s3driver docs by @Ozoniuss in https://github.com/temporalio/sdk-go/pull/2338
* feat: expose `ExecuteNexusOperationParams` for external SDKs by @xepozz in https://github.com/temporalio/sdk-go/pull/2309
* Fix Worker Deployment test flakes by @yuandrew in https://github.com/temporalio/sdk-go/pull/2333
* Document default for ChildWorkflowOptions.WorkflowIDReusePolicy by @yuandrew in https://github.com/temporalio/sdk-go/pull/2339
* fix(logs): change WFT duration to trace level by @jmaeagle99 in https://github.com/temporalio/sdk-go/pull/2347
* Remove vendored ExternalStorageReference, use go.temporal.io/api v1.62.12 by @denniszag in https://github.com/temporalio/sdk-go/pull/2343
* remove stale nightly tps omes test by @THardy98 in https://github.com/temporalio/sdk-go/pull/2351
* Add support for Stand Alone Nexus Operations by @Quinn-With-Two-Ns in https://github.com/temporalio/sdk-go/pull/2280
* Add banner like other SDKs have by @Sushisource in https://github.com/temporalio/sdk-go/pull/2348
* Fix unsupported link log by @Quinn-With-Two-Ns in https://github.com/temporalio/sdk-go/pull/2354
* VLN-1344: remediate missing-dependency-cooldown by @picatz in https://github.com/temporalio/sdk-go/pull/2346
* Add doc comments to new struct fields for serialization context by @yuandrew in https://github.com/temporalio/sdk-go/pull/2324

## New Contributors
* @dplyukhin made their first contribution in https://github.com/temporalio/sdk-go/pull/2327
* @xepozz made their first contribution in https://github.com/temporalio/sdk-go/pull/2309
* @denniszag made their first contribution in https://github.com/temporalio/sdk-go/pull/2343

**Full Changelog**: https://github.com/temporalio/sdk-go/compare/v1.43.0...v1.44.0
</Release>

<Release version="n8n@2.21.7" date="May 21, 2026" published="2026-05-21T14:13:02.000Z" url="https://github.com/n8n-io/n8n/releases/tag/n8n%402.21.7" org="n8n" source="n8n">
## [2.21.7](https://github.com/n8n-io/n8n/compare/n8n@2.21.5...n8n@2.21.7) (2026-05-21)


### Bug Fixes

* **core:** Acquire expression isolate for scheduled polls ([#30742](https://github.com/n8n-io/n8n/issues/30742)) ([6167d4a](https://github.com/n8n-io/n8n/commit/6167d4a3623d1a7ac73922737b71fb840b69ac9f))
* **core:** Populate manual user id on webhook execution data path ([#30781](https://github.com/n8n-io/n8n/issues/30781)) ([50c55aa](https://github.com/n8n-io/n8n/commit/50c55aa94b7d8605854d323ae527b7dc354b2448))
* **core:** Report scheduled-poll isolate acquisition failures via __emitError ([#30792](https://github.com/n8n-io/n8n/issues/30792)) ([6321390](https://github.com/n8n-io/n8n/commit/6321390a361d53c2322f047a943153e45c5846a0))
* **core:** Validate non-empty prompts in AI vendor nodes before API calls ([#30820](https://github.com/n8n-io/n8n/issues/30820)) ([15d0dbb](https://github.com/n8n-io/n8n/commit/15d0dbbcaf5899f33b1e3c49005a37e7ef565aae))
</Release>

<Release version="n8n@2.21.6-exp.0" date="May 21, 2026" published="2026-05-21T11:42:50.000Z" url="https://github.com/n8n-io/n8n/releases/tag/n8n%402.21.6-exp.0" org="n8n" source="n8n">
## [2.21.6-exp.0](https://github.com/n8n-io/n8n/compare/n8n@2.21.6...n8n@2.21.6-exp.0) (2026-05-21)
</Release>

<Pagination cursor="2026-05-21T11:42:50.000Z|2026-05-21T14:01:49.878Z|rel_kpqH3IaQ4xfvPiIhzW3Rp" next="https://releases.sh/collections/workflow-orchestration/releases?cursor=2026-05-21T11%3A42%3A50.000Z%7C2026-05-21T14%3A01%3A49.878Z%7Crel_kpqH3IaQ4xfvPiIhzW3Rp&limit=20" />
