{"slug":"workflow-orchestration","name":"Background Jobs & Orchestration","description":"Durable workflows, queues, and retries that survive failures and restarts.","isFeatured":false,"members":[{"kind":"org","slug":"temporal","name":"Temporal","domain":"temporal.io","avatarUrl":"https://media.releases.sh/orgs/temporal.png","githubHandle":"temporalio","description":null},{"kind":"org","slug":"trigger-dev","name":"Trigger.dev","domain":"trigger.dev","avatarUrl":"https://media.releases.sh/orgs/trigger-dev.jpg","githubHandle":"triggerdotdev","description":null},{"kind":"org","slug":"inngest","name":"Inngest","domain":"inngest.com","avatarUrl":"https://media.releases.sh/orgs/inngest.png","githubHandle":"inngest","description":null},{"kind":"org","slug":"n8n","name":"n8n","domain":"n8n.io","avatarUrl":"https://media.releases.sh/orgs/n8n.png","githubHandle":"n8n-io","description":null},{"kind":"product","slug":"qstash","name":"QStash","description":"Serverless message queue and task scheduler for serverless functions","org":{"slug":"upstash","name":"Upstash","domain":"upstash.com","avatarUrl":"https://media.releases.sh/orgs/upstash.png","githubHandle":"upstash"}},{"kind":"product","slug":"upstash-workflow","name":"Upstash Workflow","description":"Durable, reliable serverless workflow SDK built on QStash","org":{"slug":"upstash","name":"Upstash","domain":"upstash.com","avatarUrl":"https://media.releases.sh/orgs/upstash.png","githubHandle":"upstash"}}],"orgs":[{"slug":"temporal","name":"Temporal","domain":"temporal.io","avatarUrl":"https://media.releases.sh/orgs/temporal.png","githubHandle":"temporalio","description":null},{"slug":"trigger-dev","name":"Trigger.dev","domain":"trigger.dev","avatarUrl":"https://media.releases.sh/orgs/trigger-dev.jpg","githubHandle":"triggerdotdev","description":null},{"slug":"inngest","name":"Inngest","domain":"inngest.com","avatarUrl":"https://media.releases.sh/orgs/inngest.png","githubHandle":"inngest","description":null},{"slug":"n8n","name":"n8n","domain":"n8n.io","avatarUrl":"https://media.releases.sh/orgs/n8n.png","githubHandle":"n8n-io","description":null}],"releases":[{"id":"rel_DckYKg0_xYcrGUTRVGJV0","version":"n8n@2.23.3","type":"feature","title":"n8n@2.23.3","summary":"## [2.23.3](https://github.com/n8n-io/n8n/compare/n8n@2.23.2...n8n@2.23.3) (2026-06-04)\n\n\n### Bug Fixes\n\n* **core:** Prevent evaluation executions fro...","titleGenerated":null,"titleShort":null,"content":"## [2.23.3](https://github.com/n8n-io/n8n/compare/n8n@2.23.2...n8n@2.23.3) (2026-06-04)\n\n\n### Bug Fixes\n\n* **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))","publishedAt":"2026-06-04T10:11:58.000Z","url":"https://github.com/n8n-io/n8n/releases/tag/n8n%402.23.3","media":[],"prerelease":false,"source":{"slug":"n8n","name":"n8n","type":"github"},"org":{"slug":"n8n","name":"n8n"},"product":null,"groupSlug":"n8n","groupName":"n8n","coverageCount":0,"composition":null},{"id":"rel_lAFggLR7UHCKcBH2cGv1n","version":"n8n@1.123.52","type":"feature","title":"n8n@1.123.52","summary":"## [1.123.52](https://github.com/n8n-io/n8n/compare/n8n@1.123.51...n8n@1.123.52) (2026-06-04)\n\n\n### Bug Fixes\n\n* **core:** Reject unsafe property toke...","titleGenerated":null,"titleShort":null,"content":"## [1.123.52](https://github.com/n8n-io/n8n/compare/n8n@1.123.51...n8n@1.123.52) (2026-06-04)\n\n\n### Bug Fixes\n\n* **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))\n* **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))","publishedAt":"2026-06-04T10:07:35.000Z","url":"https://github.com/n8n-io/n8n/releases/tag/n8n%401.123.52","media":[],"prerelease":false,"source":{"slug":"n8n","name":"n8n","type":"github"},"org":{"slug":"n8n","name":"n8n"},"product":null,"groupSlug":"n8n","groupName":"n8n","coverageCount":0,"composition":null},{"id":"rel_rkZsrsd5M51MlfNpmod0o","version":"v1.25.0","type":"feature","title":"v1.25.0","summary":"## Release Notes\n\n- [#4283](https://github.com/inngest/inngest/pull/4283) feat: add event runs v2 api contract and implementation\n\n  Adds a v2 REST en...","titleGenerated":null,"titleShort":null,"content":"## Release Notes\n\n- [#4283](https://github.com/inngest/inngest/pull/4283) feat: add event runs v2 api contract and implementation\n\n  Adds a v2 REST endpoint for listing function runs by event id:\n\n  `GET /v2/events/{event_id}/runs?includeOutput=true&limit=20&cursor={cursor}`\n\n  ```\n  npx inngest-cli@latest alpha api get-event-runs <event-id> \\\n    --include-output \\\n    --limit 20\n  ```\n\n- [#4297](https://github.com/inngest/inngest/pull/4297) feat: EXE-1837: Add a few Open Inference attributes to Metadata\n\n  Adds support for processing a handful of Open Inference attributes into step metadata\n\n- [#4307](https://github.com/inngest/inngest/pull/4307) feat: EXE-1918: Parse total tokens from AI Metadata\n\n  Step AI metadata sources total tokens from span attributes when provided\n\n- [#4309](https://github.com/inngest/inngest/pull/4309) fix(realtime): websocket memory leak\n\n  Fix memory leak in realtime websocket connections.\n\n- [#4312](https://github.com/inngest/inngest/pull/4312) feat: EXE-1913: Add support for parsing span attribute data from Vercel's AI SDK\n\n  Add support for parsing span attribute data from Vercel's AI SDK\n\n## Changelog\n\n### 🚀 Features\n\n- EXE-1837: Add a few Open Inference attributes to Metadata (#4297)\n- EXE-1918: Parse total tokens from AI Metadata (#4307)\n- Add Group ID & Request ID attributes to most execution spans (#4304)\n- EXE-1918: Add Response Model, Response ID, and finish reasons to extracted AI Metadata (#4311)\n- Use queue item timestamps for traces (#4316)\n- Add event runs query for v2 api (#4282)\n- Add event runs v2 api contract and implementation (#4283)\n- EXE-1913: Add support for parsing span attribute data from Vercel's AI SDK (#4312)\n\n### 🐛 Bug Fixes\n\n- *(queue)* Log queue role acquire and loss (#4300)\n- *(realtime)* Websocket memory leak (#4309)\n- Add app name to run spans (#4314)\n\n### ⚙️ Miscellaneous Tasks\n\n- Add function metadata to run spans (#4287)\n- Improve usability on deferred runs (#4320)\n\n","publishedAt":"2026-06-03T22:11:27.000Z","url":"https://github.com/inngest/inngest/releases/tag/v1.25.0","media":[],"prerelease":false,"source":{"slug":"inngest-server","name":"Inngest Server","type":"github"},"org":{"slug":"inngest","name":"Inngest"},"product":null,"groupSlug":"inngest-server","groupName":"Inngest Server","coverageCount":0,"composition":null},{"id":"rel_7OyTW4TIQ8On6JYLIKvAM","version":"n8n@1.123.51","type":"feature","title":"n8n@1.123.51","summary":"## [1.123.51](https://github.com/n8n-io/n8n/compare/n8n@1.123.50...n8n@1.123.51) (2026-06-03)\n\n\n### Bug Fixes\n\n* **core:** Quiet VM expression engine ...","titleGenerated":null,"titleShort":null,"content":"## [1.123.51](https://github.com/n8n-io/n8n/compare/n8n@1.123.50...n8n@1.123.51) (2026-06-03)\n\n\n### Bug Fixes\n\n* **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))\n* **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))","publishedAt":"2026-06-03T10:21:34.000Z","url":"https://github.com/n8n-io/n8n/releases/tag/n8n%401.123.51","media":[],"prerelease":false,"source":{"slug":"n8n","name":"n8n","type":"github"},"org":{"slug":"n8n","name":"n8n"},"product":null,"groupSlug":"n8n","groupName":"n8n","coverageCount":0,"composition":null},{"id":"rel_BORcJmJEZ7BHa4UK3Omiv","version":"v1.24.0","type":"feature","title":"v1.24.0","summary":"## Changelog\n\n### 🚀 Features\n\n- Surface deferred runs in run details (#4290)\n\n### 🐛 Bug Fixes\n\n- *(queue)* Quarantine deleted account partitions (#4...","titleGenerated":null,"titleShort":null,"content":"## Changelog\n\n### 🚀 Features\n\n- Surface deferred runs in run details (#4290)\n\n### 🐛 Bug Fixes\n\n- *(queue)* Quarantine deleted account partitions (#4281)\n- Properly calculate discover step (#4280)\n- Prevent duplicate function.finished on overlapping finalize (#4242)\n- Validate dispatch generation on async checkpoints (#4140)\n\n### 🚜 Refactor\n\n- *(queue)* Introduce queue roles (#4289)\n\n","publishedAt":"2026-06-01T18:26:35.000Z","url":"https://github.com/inngest/inngest/releases/tag/v1.24.0","media":[],"prerelease":false,"source":{"slug":"inngest-server","name":"Inngest Server","type":"github"},"org":{"slug":"inngest","name":"Inngest"},"product":null,"groupSlug":"inngest-server","groupName":"Inngest Server","coverageCount":0,"composition":null},{"id":"rel_3qyVAF_s-QVTylnR3rwf5","version":"n8n@2.22.6","type":"feature","title":"n8n@2.22.6","summary":"## [2.22.6](https://github.com/n8n-io/n8n/compare/n8n@2.22.5...n8n@2.22.6) (2026-06-01)\n\n\n### Bug Fixes\n\n* **core:** Insights page shows license paywa...","titleGenerated":null,"titleShort":null,"content":"## [2.22.6](https://github.com/n8n-io/n8n/compare/n8n@2.22.5...n8n@2.22.6) (2026-06-01)\n\n\n### Bug Fixes\n\n* **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))\n* **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))\n* **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))\n* **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))\n* **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))\n* 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))","publishedAt":"2026-06-01T10:37:23.000Z","url":"https://github.com/n8n-io/n8n/releases/tag/n8n%402.22.6","media":[],"prerelease":false,"source":{"slug":"n8n","name":"n8n","type":"github"},"org":{"slug":"n8n","name":"n8n"},"product":null,"groupSlug":"n8n","groupName":"n8n","coverageCount":0,"composition":null},{"id":"rel_4UEkVn8P8CVdHBuuu9LmM","version":"n8n@1.123.50","type":"feature","title":"n8n@1.123.50","summary":"## [1.123.50](https://github.com/n8n-io/n8n/compare/n8n@1.123.49...n8n@1.123.50) (2026-06-01)\n\n\n### Bug Fixes\n\n* **core:** Add configurable retries an...","titleGenerated":null,"titleShort":null,"content":"## [1.123.50](https://github.com/n8n-io/n8n/compare/n8n@1.123.49...n8n@1.123.50) (2026-06-01)\n\n\n### Bug Fixes\n\n* **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))","publishedAt":"2026-06-01T10:33:56.000Z","url":"https://github.com/n8n-io/n8n/releases/tag/n8n%401.123.50","media":[],"prerelease":false,"source":{"slug":"n8n","name":"n8n","type":"github"},"org":{"slug":"n8n","name":"n8n"},"product":null,"groupSlug":"n8n","groupName":"n8n","coverageCount":0,"composition":null},{"id":"rel_x76sWyRz7u3jm7kjXFXBT","version":"v1.44.1","type":"feature","title":"v1.44.1","summary":"## Graceful worker shutdown now drains already-polled tasks when supported by the server.\r\n\r\nWhen the namespace supports worker poll completion on shu...","titleGenerated":null,"titleShort":null,"content":"## Graceful worker shutdown now drains already-polled tasks when supported by the server.\r\n\r\nWhen 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\r\n  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.\r\n\r\n> Server deployments can enable this capability with frontend.enableCancelWorkerPollsOnShutdown=true.\r\n\r\n## What's Changed\r\n* Disable gomod version-bump PRs, keep security alerts by @picatz in https://github.com/temporalio/sdk-go/pull/2361\r\n* Shutdown refactor by @yuandrew in https://github.com/temporalio/sdk-go/pull/2368\r\n* remove dead omes job by @THardy98 in https://github.com/temporalio/sdk-go/pull/2372\r\n* Fix shutdown test flake - ensure activity has started by @yuandrew in https://github.com/temporalio/sdk-go/pull/2375\r\n\r\n\r\n**Full Changelog**: https://github.com/temporalio/sdk-go/compare/v1.44.0...v1.44.1","publishedAt":"2026-05-28T19:45:44.000Z","url":"https://github.com/temporalio/sdk-go/releases/tag/v1.44.1","media":[],"prerelease":false,"source":{"slug":"temporal-go-sdk","name":"Go SDK","type":"github"},"org":{"slug":"temporal","name":"Temporal"},"product":null,"groupSlug":"temporal-go-sdk","groupName":"Go SDK","coverageCount":0,"composition":null},{"id":"rel_TeKQJZD3v_Kxje8KjtACX","version":"v1.23.0","type":"feature","title":"v1.23.0","summary":"## Release Notes\n\n- [#4246](https://github.com/inngest/inngest/pull/4246) feat: accept positional path params in agentic cli\n\n  Inngest's agentic cli ...","titleGenerated":null,"titleShort":null,"content":"## Release Notes\n\n- [#4246](https://github.com/inngest/inngest/pull/4246) feat: accept positional path params in agentic cli\n\n  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`.\n\n## Migration Notes\n\n- [#4267](https://github.com/inngest/inngest/pull/4267) fix(queue): handle renewed item lease during processing\n\n  None\n\n  ## Validation\n\n  - `go test -count=1 -run TestQueueItemProcessCleanupUsesRenewedLease ./pkg/execution/state/redis_state`\n  - `go test -race -count=1 -run TestQueueItemProcessCleanupUsesRenewedLease ./pkg/execution/state/redis_state`\n  - `go test -count=1 -run TestQueueItemProcess ./pkg/execution/state/redis_state`\n\n## Changelog\n\n### 🚀 Features\n\n- *(queue)* Allow EnqueueItem on other shard types (#4263)\n- Accept positional path params in agentic cli (#4246)\n\n### 🐛 Bug Fixes\n\n- *(executor)* Initialize synthetic cancel metadata config (#4261)\n- *(queue)* Handle renewed item lease during processing (#4267)\n- Get outputs working again with v2 runs (#4273)\n\n### 🚜 Refactor\n\n- *(connect)* Gate gateway routing by connection phase (#4241)\n- *(queue)* Add Scope to more queue methods (#4271)\n\n### ⚙️ Miscellaneous Tasks\n\n- Update go sdk (#4264)\n- Improve agentic api cli help  (#4245)\n\n### ◀️ Revert\n\n- \"chore: add a concurrency safe marshal to state configs\" (#4257)\n\n","publishedAt":"2026-05-28T17:25:53.000Z","url":"https://github.com/inngest/inngest/releases/tag/v1.23.0","media":[],"prerelease":false,"source":{"slug":"inngest-server","name":"Inngest Server","type":"github"},"org":{"slug":"inngest","name":"Inngest"},"product":null,"groupSlug":"inngest-server","groupName":"Inngest Server","coverageCount":0,"composition":null},{"id":"rel_Lle44V5F51p_q79zjHKu9","version":"inngest@4.5.0","type":"feature","title":"inngest@4.5.0","summary":"### Minor Changes\n\n-   [#1522](https://github.com/inngest/inngest-js/pull/1522) [`ebeb4516`](https://github.com/inngest/inngest-js/commit/ebeb45160370...","titleGenerated":null,"titleShort":null,"content":"### Minor Changes\n\n-   [#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\n    [GHSA-q7rr-3cgh-j5r3](https://github.com/advisories/GHSA-q7rr-3cgh-j5r3) in the\n    transitive `@opentelemetry/sdk-node` / `@opentelemetry/exporter-prometheus` packages.\n\n    Note that upstream `auto-instrumentations-node@0.72.0` dropped bundled Fastify,\n    instrumentation, so if you relied on it for tracing your Fastify routes, add\n    `@opentelemetry/instrumentation-fastify` directly.\n\n### Patch Changes\n\n-   [#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\n\n-   [#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.\n\n-   [#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\n\n-   [#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\n","publishedAt":"2026-05-28T13:47:44.000Z","url":"https://github.com/inngest/inngest-js/releases/tag/inngest%404.5.0","media":[],"prerelease":false,"source":{"slug":"inngest-js-sdk","name":"JS SDK","type":"github"},"org":{"slug":"inngest","name":"Inngest"},"product":null,"groupSlug":"inngest-js-sdk","groupName":"JS SDK","coverageCount":0,"composition":null},{"id":"rel_ER-6LqaRw2lccP802R_z1","version":"n8n@1.123.49","type":"feature","title":"n8n@1.123.49","summary":"## [1.123.49](https://github.com/n8n-io/n8n/compare/n8n@1.123.48...n8n@1.123.49) (2026-05-28)\n\n\n### Bug Fixes\n\n* **core:** Drain webhook close functio...","titleGenerated":null,"titleShort":null,"content":"## [1.123.49](https://github.com/n8n-io/n8n/compare/n8n@1.123.48...n8n@1.123.49) (2026-05-28)\n\n\n### Bug Fixes\n\n* **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))","publishedAt":"2026-05-28T09:52:58.000Z","url":"https://github.com/n8n-io/n8n/releases/tag/n8n%401.123.49","media":[],"prerelease":false,"source":{"slug":"n8n","name":"n8n","type":"github"},"org":{"slug":"n8n","name":"n8n"},"product":null,"groupSlug":"n8n","groupName":"n8n","coverageCount":0,"composition":null},{"id":"rel_iMa1VX6KgmRSJN_xD3aU0","version":"n8n@2.22.5","type":"feature","title":"n8n@2.22.5","summary":"## [2.22.5](https://github.com/n8n-io/n8n/compare/n8n@2.22.4...n8n@2.22.5) (2026-05-28)","titleGenerated":null,"titleShort":null,"content":"## [2.22.5](https://github.com/n8n-io/n8n/compare/n8n@2.22.4...n8n@2.22.5) (2026-05-28)","publishedAt":"2026-05-28T08:20:49.000Z","url":"https://github.com/n8n-io/n8n/releases/tag/n8n%402.22.5","media":[],"prerelease":false,"source":{"slug":"n8n","name":"n8n","type":"github"},"org":{"slug":"n8n","name":"n8n"},"product":null,"groupSlug":"n8n","groupName":"n8n","coverageCount":0,"composition":null},{"id":"rel_Got2S2DSai8vmydK_kOKU","version":"n8n@2.22.4","type":"feature","title":"n8n@2.22.4","summary":"## [2.22.4](https://github.com/n8n-io/n8n/compare/n8n@2.22.3...n8n@2.22.4) (2026-05-27)\n\n\n### Bug Fixes\n\n* **core:** Remove aggressive temp directory ...","titleGenerated":null,"titleShort":null,"content":"## [2.22.4](https://github.com/n8n-io/n8n/compare/n8n@2.22.3...n8n@2.22.4) (2026-05-27)\n\n\n### Bug Fixes\n\n* **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))","publishedAt":"2026-05-27T07:15:31.000Z","url":"https://github.com/n8n-io/n8n/releases/tag/n8n%402.22.4","media":[],"prerelease":false,"source":{"slug":"n8n","name":"n8n","type":"github"},"org":{"slug":"n8n","name":"n8n"},"product":null,"groupSlug":"n8n","groupName":"n8n","coverageCount":0,"composition":null},{"id":"rel_dHFByBWWj8h2HeDc-3_C1","version":"n8n@2.21.8","type":"feature","title":"n8n@2.21.8","summary":"## [2.21.8](https://github.com/n8n-io/n8n/compare/n8n@2.21.7...n8n@2.21.8) (2026-05-27)","titleGenerated":null,"titleShort":null,"content":"## [2.21.8](https://github.com/n8n-io/n8n/compare/n8n@2.21.7...n8n@2.21.8) (2026-05-27)","publishedAt":"2026-05-27T07:12:05.000Z","url":"https://github.com/n8n-io/n8n/releases/tag/n8n%402.21.8","media":[],"prerelease":false,"source":{"slug":"n8n","name":"n8n","type":"github"},"org":{"slug":"n8n","name":"n8n"},"product":null,"groupSlug":"n8n","groupName":"n8n","coverageCount":0,"composition":null},{"id":"rel_xvlXCsmB-wK5K8KPdSARh","version":"n8n@1.123.48","type":"feature","title":"n8n@1.123.48","summary":"## [1.123.48](https://github.com/n8n-io/n8n/compare/n8n@1.123.47...n8n@1.123.48) (2026-05-27)","titleGenerated":null,"titleShort":null,"content":"## [1.123.48](https://github.com/n8n-io/n8n/compare/n8n@1.123.47...n8n@1.123.48) (2026-05-27)","publishedAt":"2026-05-27T07:04:18.000Z","url":"https://github.com/n8n-io/n8n/releases/tag/n8n%401.123.48","media":[],"prerelease":false,"source":{"slug":"n8n","name":"n8n","type":"github"},"org":{"slug":"n8n","name":"n8n"},"product":null,"groupSlug":"n8n","groupName":"n8n","coverageCount":0,"composition":null},{"id":"rel_J8a6uaZq9jpOTsXI7rKqY","version":"n8n@1.123.47","type":"feature","title":"n8n@1.123.47","summary":"## [1.123.47](https://github.com/n8n-io/n8n/compare/n8n@1.123.46...n8n@1.123.47) (2026-05-25)\n\n\n### Bug Fixes\n\n* Fix 16 security issues in vm2, ws, pr...","titleGenerated":null,"titleShort":null,"content":"## [1.123.47](https://github.com/n8n-io/n8n/compare/n8n@1.123.46...n8n@1.123.47) (2026-05-25)\n\n\n### Bug Fixes\n\n* 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))\n* 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))","publishedAt":"2026-05-25T10:04:27.000Z","url":"https://github.com/n8n-io/n8n/releases/tag/n8n%401.123.47","media":[],"prerelease":false,"source":{"slug":"n8n","name":"n8n","type":"github"},"org":{"slug":"n8n","name":"n8n"},"product":null,"groupSlug":"n8n","groupName":"n8n","coverageCount":0,"composition":null},{"id":"rel_7fhWM9ork9aJyHXD3nyFi","version":"v1.22.0","type":"feature","title":"v1.22.0","summary":"## Release Notes\n\n- [#3871](https://github.com/inngest/inngest/pull/3871) fix(batching): Enforce batch size limits in the in-memory batching path.\n\n  ...","titleGenerated":null,"titleShort":null,"content":"## Release Notes\n\n- [#3871](https://github.com/inngest/inngest/pull/3871) fix(batching): Enforce batch size limits in the in-memory batching path.\n\n  Enforce batch size limits in the in-memory batching.\n\n- [#4143](https://github.com/inngest/inngest/pull/4143) fix(syncs): fix function orphaning on app resync after <v1.15 upgrade\n\n  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.\n\n- [#4185](https://github.com/inngest/inngest/pull/4185) feat: Add update notifier to select commands\n\n  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.\n\n## Migration Notes\n\n- [#4143](https://github.com/inngest/inngest/pull/4143) fix(syncs): fix function orphaning on app resync after <v1.15 upgrade\n\n  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.\n\n## Changelog\n\n### 🚀 Features\n\n- Insights: Add stubs for new insights API endpoints (#4189)\n- Add update notifier to select commands (#4185)\n- Phase 1 scoring (#4170)\n\n### 🐛 Bug Fixes\n\n- *(syncs)* Fix function orphaning on app resync after <v1.15 upgrade (#4143)\n- *(pauses)* Retry enqueueing edge after consuming pause (#4228)\n- *(batching)* Enforce batch size limits in the in-memory batching path. (#3871)\n- Add feature flag for enforcing state size limits (#4251)\n- Bulk canel bug (#4255)\n\n### 💼 Other\n\n- *(deps)* Update pgx and goose (#4248)\n- *(deps)* Remove vulnerable docker module (#4249)\n\n### ⚡ Performance\n\n- *(batch)* Split batch partition into workspace-scoped partitions (#4236)\n\n### 🧪 Testing\n\n- *(connect)* Forward regression test (#4214)\n\n### ⚙️ Miscellaneous Tasks\n\n- Add a concurrency safe marshal to state configs (#4256)\n\n### 🛡️ Security\n\n- *(npm)* Address vulnerable npm dependencies (#4250)\n\n","publishedAt":"2026-05-22T17:48:41.000Z","url":"https://github.com/inngest/inngest/releases/tag/v1.22.0","media":[],"prerelease":false,"source":{"slug":"inngest-server","name":"Inngest Server","type":"github"},"org":{"slug":"inngest","name":"Inngest"},"product":null,"groupSlug":"inngest-server","groupName":"Inngest Server","coverageCount":0,"composition":null},{"id":"rel_F_DORzKtMYAGEPb7JJdzo","version":"v1.44.0","type":"feature","title":"v1.44.0","summary":"## (Experimental) Stand Alone Nexus Operations\r\n\r\nNOTE: Stand Alone Nexus Operation Support is experimental and currently only supported on pre-releas...","titleGenerated":null,"titleShort":null,"content":"## (Experimental) Stand Alone Nexus Operations\r\n\r\nNOTE: 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). \r\n\r\nAdded support for Stand Alone Nexus Operations, allowing clients to\r\nstart 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`,\r\n`CountNexusOperations`, and `GetNexusOperationHandle` for discovering\r\nand reattaching to running operations.\r\n\r\nDocumentation, Samples, and instructions to request enablement in Temporal Cloud will be linked here when available.\r\n\r\n## SDK Flag SDKFlagMemoUserDCEncode has been enabled by default\r\n\r\nMemo'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.\r\n\r\nNote that old histories before this flag was flipped on will continue to use the old code path of not using the user DC.\r\n\r\n## What's Changed\r\n* Bump go-m1cpu to v0.2.1 to fix SIGSEGV on Apple M5 by @dplyukhin in https://github.com/temporalio/sdk-go/pull/2327\r\n* Set time to 10 minutes not 60 seconds by @yuandrew in https://github.com/temporalio/sdk-go/pull/2321\r\n* Remove dead links by @yuandrew in https://github.com/temporalio/sdk-go/pull/2322\r\n* Enable SDKFlagMemoUserDCEncode flag by default by @yuandrew in https://github.com/temporalio/sdk-go/pull/2332\r\n* Add missing Describe() method to external storage s3driver docs by @Ozoniuss in https://github.com/temporalio/sdk-go/pull/2338\r\n* feat: expose `ExecuteNexusOperationParams` for external SDKs by @xepozz in https://github.com/temporalio/sdk-go/pull/2309\r\n* Fix Worker Deployment test flakes by @yuandrew in https://github.com/temporalio/sdk-go/pull/2333\r\n* Document default for ChildWorkflowOptions.WorkflowIDReusePolicy by @yuandrew in https://github.com/temporalio/sdk-go/pull/2339\r\n* fix(logs): change WFT duration to trace level by @jmaeagle99 in https://github.com/temporalio/sdk-go/pull/2347\r\n* Remove vendored ExternalStorageReference, use go.temporal.io/api v1.62.12 by @denniszag in https://github.com/temporalio/sdk-go/pull/2343\r\n* remove stale nightly tps omes test by @THardy98 in https://github.com/temporalio/sdk-go/pull/2351\r\n* Add support for Stand Alone Nexus Operations by @Quinn-With-Two-Ns in https://github.com/temporalio/sdk-go/pull/2280\r\n* Add banner like other SDKs have by @Sushisource in https://github.com/temporalio/sdk-go/pull/2348\r\n* Fix unsupported link log by @Quinn-With-Two-Ns in https://github.com/temporalio/sdk-go/pull/2354\r\n* VLN-1344: remediate missing-dependency-cooldown by @picatz in https://github.com/temporalio/sdk-go/pull/2346\r\n* Add doc comments to new struct fields for serialization context by @yuandrew in https://github.com/temporalio/sdk-go/pull/2324\r\n\r\n## New Contributors\r\n* @dplyukhin made their first contribution in https://github.com/temporalio/sdk-go/pull/2327\r\n* @xepozz made their first contribution in https://github.com/temporalio/sdk-go/pull/2309\r\n* @denniszag made their first contribution in https://github.com/temporalio/sdk-go/pull/2343\r\n\r\n**Full Changelog**: https://github.com/temporalio/sdk-go/compare/v1.43.0...v1.44.0","publishedAt":"2026-05-21T19:55:20.000Z","url":"https://github.com/temporalio/sdk-go/releases/tag/v1.44.0","media":[],"prerelease":false,"source":{"slug":"temporal-go-sdk","name":"Go SDK","type":"github"},"org":{"slug":"temporal","name":"Temporal"},"product":null,"groupSlug":"temporal-go-sdk","groupName":"Go SDK","coverageCount":0,"composition":null},{"id":"rel_9UeS_R06CjUn20SEryVGA","version":"n8n@2.21.7","type":"feature","title":"n8n@2.21.7","summary":"## [2.21.7](https://github.com/n8n-io/n8n/compare/n8n@2.21.5...n8n@2.21.7) (2026-05-21)\n\n\n### Bug Fixes\n\n* **core:** Acquire expression isolate for sc...","titleGenerated":null,"titleShort":null,"content":"## [2.21.7](https://github.com/n8n-io/n8n/compare/n8n@2.21.5...n8n@2.21.7) (2026-05-21)\n\n\n### Bug Fixes\n\n* **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))\n* **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))\n* **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))\n* **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))","publishedAt":"2026-05-21T14:13:02.000Z","url":"https://github.com/n8n-io/n8n/releases/tag/n8n%402.21.7","media":[],"prerelease":false,"source":{"slug":"n8n","name":"n8n","type":"github"},"org":{"slug":"n8n","name":"n8n"},"product":null,"groupSlug":"n8n","groupName":"n8n","coverageCount":0,"composition":null},{"id":"rel_kpqH3IaQ4xfvPiIhzW3Rp","version":"n8n@2.21.6-exp.0","type":"feature","title":"n8n@2.21.6-exp.0","summary":"## [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)","titleGenerated":null,"titleShort":null,"content":"## [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)","publishedAt":"2026-05-21T11:42:50.000Z","url":"https://github.com/n8n-io/n8n/releases/tag/n8n%402.21.6-exp.0","media":[],"prerelease":false,"source":{"slug":"n8n","name":"n8n","type":"github"},"org":{"slug":"n8n","name":"n8n"},"product":null,"groupSlug":"n8n","groupName":"n8n","coverageCount":0,"composition":null}],"pagination":{"nextCursor":"2026-05-21T11:42:50.000Z|2026-05-21T14:01:49.878Z|rel_kpqH3IaQ4xfvPiIhzW3Rp","limit":20}}