# Inngest changelog > A durable execution platform for queues, background jobs and AI workflows. - Vendor: Inngest - Category: Developer Tools - Official site: https://www.inngest.com - Tracked by: What's New (https://whatsnew.fyi/product/inngest) - Harvested from: GitHub (inngest/inngest) - Entries below: 10 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## Releases ### v1.41.1 - Date: 2026-08-05 - Version: v1.41.1 - Original notes: https://github.com/inngest/inngest/releases/tag/v1.41.1 - Permalink: https://whatsnew.fyi/product/inngest/releases/v1.41.1 ###### ⚙️ Miscellaneous Tasks - *(support)* Add graphql-codegen to support app (#4701) - *(e2e)* Run more tests on Depot (#4710) ### v1.41.0 - Date: 2026-08-03 - Version: v1.41.0 - Original notes: https://github.com/inngest/inngest/releases/tag/v1.41.0 - Permalink: https://whatsnew.fyi/product/inngest/releases/v1.41.0 - **added** — Add insights-backed AI dashboard - **changed** — Nudge metadata usage in run details - **fixed** — Prevent connection state regression during gateway draining - **fixed** — Queue operations spanning multiple shards now tolerate unavailable shards and continue returning results from healthy shards - **fixed** — Shard-group workers continue trying healthy lease candidates when another shard is unavailable - **fixed** — Make lease renewal idempotent after lost ACKs ##### Release Notes - [#4688](https://github.com/inngest/inngest/pull/4688) fix(queue): isolate unavailable shards Queue operations spanning multiple shards now tolerate unavailable shards and continue returning results from healthy shards. Shard-group workers also continue trying healthy lease candidates when another shard is unavailable. ##### Changelog ###### 🚀 Features - *(ai-overview)* Add insights-backed AI dashboard (#4662) - *(ui)* Nudge metadata usage in run details (#4683) ###### 🐛 Bug Fixes - *(connect)* Prevent connection state regression during gateway draining (#4685) - *(queue)* Isolate unavailable shards (#4688) - *(connect)* Make lease renewal idempotent after lost ACKs (#4687) ### v1.40.0 - Date: 2026-07-30 - Version: v1.40.0 - Original notes: https://github.com/inngest/inngest/releases/tag/v1.40.0 - Permalink: https://whatsnew.fyi/product/inngest/releases/v1.40.0 - **added** — Generate mcp tools from rest api v2 to expose more tools that align closely with the v2 rest api and cli - **added** — Add v2 apps list endpoint - **fixed** — Add support for falsy terns in expressions - **fixed** — Correct reversed errors.Is arguments for ErrQueueItemNotFound ##### Release Notes - [#4674](https://github.com/inngest/inngest/pull/4674) feat(mcp): generate mcp tools from rest api v2 Updates dev server mcp tools list to expose more tools that align more closely with the v2 rest api and cli ##### Changelog ###### 🚀 Features - *(mcp)* Generate mcp tools from rest api v2 (#4674) - *(api)* Add v2 apps list endpoint (#4657) ###### 🐛 Bug Fixes - *(epxressions)* Add support for falsy terns (#4676) - *(queue)* Correct reversed errors.Is arguments for ErrQueueItemNotFound (#4679) ### v1.39.0 - Date: 2026-07-28 - Version: v1.39.0 - Original notes: https://github.com/inngest/inngest/releases/tag/v1.39.0 - Permalink: https://whatsnew.fyi/product/inngest/releases/v1.39.0 - **added** — Add cancel run to the v2 REST API and CLI with POST /api/v2/runs/{run_id}/cancel - **added** — Add REST v2 rerun from step endpoint POST /v2/runs/{run_id}/rerun with fromStep payload support - **added** — Augment incoming AI metadata with cost estimates - **fixed** — Improve CLI timestamp argument handling - **fixed** — Use snapshots to handle map race access - **fixed** — Skip constraint lease on missing account - **fixed** — Fix race condition when creating workflow and checkpointing durable endpoint step - **fixed** — Recover from panics in event lifecycle listeners - **changed** — Add shard scanner boundary to queue refactoring - **changed** — Add scanner runtime to queue refactoring with updated Run signature and LeaseItem/ProcessItem interfaces - **changed** — Expose available worker count in queue - **added** — Add logging middleware for API - **changed** — Make cancellation deadline configurable - **added** — Add primitives for cross-backend run state migration ##### Release Notes - [#4638](https://github.com/inngest/inngest/pull/4638) feat(api): v2 api cancel run Adds cancel run to the v2 rest api and cli. `POST /api/v2/runs/{run_id}/cancel` `inngest api POST /api/v2/runs/{run_id}/cancel` - [#4645](https://github.com/inngest/inngest/pull/4645) feat(api): rest v2 rerun from step `POST /v2/runs/{run_id}/rerun` with payload: ```json { "fromStep": { "stepId": "fetch-user", "input": [ { "userId": "user_123" } ] } } ``` CLI equivalent: ``` inngest api --prod rerun \ --from-step "step 2" \ --input '[{"foo":"bar"}]' ``` ##### Migration Notes - [#4655](https://github.com/inngest/inngest/pull/4655) refactor(queue): add shard scanner boundary None ## Validation - go test -count=1 ./pkg/execution/queue - go test -run '^$' ./pkg/execution/state/redis_state - [#4665](https://github.com/inngest/inngest/pull/4665) refactor(queue): add scanner runtime Out-of-tree queue scanner implementations must update `Run(ctx, dispatch)` to `Run(ctx, runtime)`, use `runtime.Dispatch` to submit leased work, and may inspect `runtime.WorkerSemaphore` before scanning. Implementations that call `DispatchFunc` must handle the returned `DispatchedItem`; callers may ignore it, or wait on `Done()` with context cancellation or a timeout. Callers of `LeaseItem` must stop passing queue partitions and instead provide item metadata on `LeaseItemRequest`. Callers of `ProcessItem` must handle the new `(ProcessItemResult, error)` return shape. ## Validation - `go test ./pkg/execution/queue` - `go test ./tests/execution/queue` - `make lint` - [#4672](https://github.com/inngest/inngest/pull/4672) fix(executor): recover from panics in event lifecycle listeners ## Test Plan Added `TestRunEventLifecyclesRecoversFromListenerPanic` which verifies that: - A panicking listener is called and its panic is recovered - Subsequent listeners are still called despite the panic - Multiple invocations of `runEventLifecycles` work correctly even after a panic https://claude.ai/code/session_01P33HC2LRVTGmbdkEwUYEMu ##### Changelog ###### 🚀 Features - *(api)* Rest v2 rerun from step (#4645) - *(metadata)* Augment incoming ai metadata with cost estimates (#4661) - *(api)* V2 api cancel run (#4638) ###### 🐛 Bug Fixes - *(cli)* Improve cli timestamp arg handling (#4650) - Use snapshots to handle map race access (#4653) - *(queue)* Skip constraint lease on missing account (#4604) - Race creating workflow and checkpointing durable endpoint step (#4668) - *(executor)* Recover from panics in event lifecycle listeners (#4672) ###### 🚜 Refactor - *(queue)* Add shard scanner boundary (#4655) - *(queue)* Add scanner runtime (#4665) - *(queue)* Expose available worker count (#4666) ###### ⚙️ Miscellaneous Tasks - *(logging)* Add logging middleware for API (#4646) - Make cancellation deadline configurable (#4659) - *(state)* Add primitives for cross-backend run state migration (#4654) ### v1.38.1 - Date: 2026-07-21 - Version: v1.38.1 - Original notes: https://github.com/inngest/inngest/releases/tag/v1.38.1 - Permalink: https://whatsnew.fyi/product/inngest/releases/v1.38.1 - **fixed** — Clarify run list commands and documentation ###### 🐛 Bug Fixes - *(api)* Clarify run list commands and docs (#4647) ###### ⚙️ Miscellaneous Tasks - *(release)* V1.38.1 (#4648) ### v1.38.0 - Date: 2026-07-21 - Version: v1.38.0 - Original notes: https://github.com/inngest/inngest/releases/tag/v1.38.0 - Permalink: https://whatsnew.fyi/product/inngest/releases/v1.38.0 - **fixed** — Fix the ordering and queue time of async opcodes when checkpointing is on for invoke, sleep, waitForEvent, waitForSignal, and Promise.all - **added** — Add v2 REST endpoints for listing function runs at GET /v2/runs and GET /v2/apps/{appId}/functions/{functionId}/runs with cursor pagination, time ranges, fields, status, public app/function IDs, deferred-run filters, ordering, and optional outputs - **added** — Enforce a maximum duration of one year for sleep operations and wait-for-event timeouts, returning an InngestErrTimeoutTooLong error when exceeded ##### Release Notes - [#4608](https://github.com/inngest/inngest/pull/4608) fix: fix the ordering and queue time of async opcodes Fix the ordering and display of queueing delay for invoke, sleep, waitForEvent, waitForSignal, and Promise.all when checkpointing is on - [#4621](https://github.com/inngest/inngest/pull/4621) feat(api): add v2 runs list endpoints Adds beta v2 REST endpoints for listing function runs: - `GET /v2/runs` - `GET /v2/apps/{appId}/functions/{functionId}/runs` Supports cursor pagination, time ranges and fields, status, public app/function IDs, deferred-run filters, ordering, and optional outputs. - [#4628](https://github.com/inngest/inngest/pull/4628) feat: enforce one-year maximum duration for sleep and wait-for-event Inngest now enforces a maximum duration of one year for `sleep` operations and `wait-for-event` timeouts. Attempting to schedule a sleep or wait beyond one year will result in an `InngestErrTimeoutTooLong` error. ##### Migration Notes - [#4628](https://github.com/inngest/inngest/pull/4628) feat: enforce one-year maximum duration for sleep and wait-for-event https://claude.ai/code/session_016CNFKsysG9cnLik1tkfVSF ##### Changelog ###### 🚀 Features - *(dashboard)* Add Sandboxes waitlist (#4611) - *(queue)* Define grpc service interfaces for queue producer and consumer (#4610) - *(queue)* Route RequeueByJobID through producer (#4613) - Enforce one-year maximum duration for sleep and wait-for-event (#4628) - Normalize and instrument AI feature empty state pages (#4620) - *(cli)* Add API command usage metrics (#4642) - *(api)* Add v2 runs list endpoints (#4621) ###### 🐛 Bug Fixes - Fix the ordering and queue time of async opcodes (#4608) - *(queue)* Expose partition size on job queue reader (#4619) - *(insights ai)* Attribute Insights cost/latency/token scores to their experiment variant (bump inngest 4.13.0) (#4641) ###### 🚜 Refactor - *(queue)* Route processor dequeue and requeue through queue interfaces (#4639) - *(runs)* Consolidate oss runs queries (#4623) ###### 📚 Documentation - EXE-2021 Add CLI callout to API docs (#4618) - Add guidance on Postgres retention for self-hosting (#4357) ###### ⚙️ Miscellaneous Tasks - Add event lifecycle hooks (#4624) - Align auto-labels with Linear (#4634) ### v1.37.0 - Date: 2026-07-14 - Version: v1.37.0 - Original notes: https://github.com/inngest/inngest/releases/tag/v1.37.0 - Permalink: https://whatsnew.fyi/product/inngest/releases/v1.37.0 - **added** — Add v2 REST scoring endpoint for recording named scores against function runs or individual steps - **changed** — Improve error response copy to better identify when errors do not come from the SDK but from intermediary proxies or app timeouts - **fixed** — Display errored attempts without step as Function Error rather than Finalization in the trace view - **added** — Extract granular token usage and request parameter information from extended traces for AI Metadata - **changed** — Reduce sleep queue item payload size by approximately 30% - **fixed** — Fix race condition that could cause a completed step to requeue despite already idempotently saving the outcome - **fixed** — Remove duplicate finalization span on errored runs in the trace view - **fixed** — Prevent dev server finalization group spans from duplicating in the trace UI when finalization request failed and was retried - **changed** — Make pause requeue extension configurable - **added** — Return lease usage from Constraint API lifecycle operations - **removed** — Remove run-details-v4 flag and legacy RunDetailsV3, always render V4 ##### Release Notes - [#4453](https://github.com/inngest/inngest/pull/4453) feat(api): add v2 score endpoint Adds a v2 REST scoring endpoint for recording named scores against a function run or individual steps in a run. This `POST /v2/runs/{runId}/scores` with body: ```json [ { "name": "accuracy", "value": 0.95, "stepId": "step 1" } ] ``` Scores are run scoped when `stepId` is omitted. Score values can be a number or boolean. Scores can be submitted in batches of up to 100. Experiment scores are supported at run level only (I copied this from the sdk, shout if we don't want to support this in the api) like so: ```json [ { "name": "accuracy", "value": 0.95, "experiment": { "id": "model-routing", "variant": "baseline" } } ] ``` - [#4566](https://github.com/inngest/inngest/pull/4566) fix(execution): improve copy for error responses that do not come from the SDK Augment responses to better identify when error responses do not come the SDK but rather intermediary proxies or app timeouts. - [#4571](https://github.com/inngest/inngest/pull/4571) fix: Display errored attempts without step as `Function Error` rather than Finalization Errored attempts that never resolved to a step are displayed as "Function error" rather than "Finalization" in the trace view. - [#4572](https://github.com/inngest/inngest/pull/4572) feat: bring AI Metadata extraction from extended traces to parity with JS SDK Extract granular token usage and request parameter information from extended traces for AI Metadata - [#4591](https://github.com/inngest/inngest/pull/4591) perf: reduce sleep queue item payload size Reduces the queue memory footprint of sleeps by ~30%. - [#4593](https://github.com/inngest/inngest/pull/4593) fix: lease race causing wasted work Fix race condition that could cause a completed step to requeue, despite already idempotently saving the outcome - [#4598](https://github.com/inngest/inngest/pull/4598) fix(tracing): drop duplicate finalization span on errored runs Errored runs no longer show a duplicate "Finalization" span in the trace view when every attempt failed before the SDK responded. - [#4600](https://github.com/inngest/inngest/pull/4600) fix(tracing): stop dev server finalization group spans from duplicating in the trace UI Dev server: runs whose finalization request failed and was retried no longer show a duplicate "Finalization" span in the trace view. ##### Migration Notes - [#4597](https://github.com/inngest/inngest/pull/4597) refactor(ui): decompose traceRollup into focused helpers 🤖 Generated with [Claude Code](https://claude.com/claude-code) - [#4598](https://github.com/inngest/inngest/pull/4598) fix(tracing): drop duplicate finalization span on errored runs 🤖 Generated with [Claude Code](https://claude.com/claude-code) - [#4600](https://github.com/inngest/inngest/pull/4600) fix(tracing): stop dev server finalization group spans from duplicating in the trace UI 🤖 Generated with [Claude Code](https://claude.com/claude-code) - [#4603](https://github.com/inngest/inngest/pull/4603) test(constraintapi): add Redis Lua compatibility regression None ## Validation - `go test ./pkg/constraintapi` - `go test ./tests/execution/queue -run 'TestLuaCompatibility/Basic Valkey/constraint API accepts empty usage arrays' -count=1 -v` - `go test ./tests/execution/queue -run 'TestLuaCompatibility/Basic Garnet/constraint API accepts empty usage arrays' -count=1 -v` - Copied the moved regression case onto merge base `fda3771de` and confirmed the Valkey run fails for acquire, extend, and release with `json: cannot unmarshal object into Go struct field ... cu`. ##### Changelog ###### 🚀 Features - *(queue)* Make pause requeue extension configurable (#4569) - *(constraintapi)* Return lease usage from lifecycle ops (#4596) - Bring AI Metadata extraction from extended traces to parity with JS _[Truncated at 4000 characters — full notes: https://github.com/inngest/inngest/releases/tag/v1.37.0]_ ### v1.36.0 - Date: 2026-07-08 - Version: v1.36.0 - Original notes: https://github.com/inngest/inngest/releases/tag/v1.36.0 - Permalink: https://whatsnew.fyi/product/inngest/releases/v1.36.0 - **changed** — Rename AI Metadata field .model to .request_model and .system to .provider for AI Metadata extracted from extended traces, step.ai.wrap, and step.ai.infer to match OpenTelemetry GenAI standards - **added** — Differentiate between request and response model for AI Metadata extraction with ai.step.wrap or ai.step.infer - **security** — Address Go vulnerabilities ##### Release Notes - [#4516](https://github.com/inngest/inngest/pull/4516) fix: Update AI Metadata field names For AI Metadata extracted from extended traces, step.ai.wrap, and step.ai.infer, the .model field has been renamed to .request_model and .system has been renamed .provider to better match the OpenTelemetry GenAI standards. - [#4518](https://github.com/inngest/inngest/pull/4518) feat: Differentiate between request and response model for AI Metadata extraction with ai.step.* - AI Metadata extracted with ai.step.wrap or ai.step.infer will now differentiate between request and response models ##### Migration Notes - [#4516](https://github.com/inngest/inngest/pull/4516) fix: Update AI Metadata field names Insights queries that use AI Metadata fields of .model and .system should be updated to use .request_model and .provider, respectively. ##### Changelog ###### 🚀 Features - Differentiate between request and response model for AI Metadata extraction with ai.step.* (#4518) ###### 🐛 Bug Fixes - *(release)* Open homebrew-tap PRs as ready for review (non-draft) (#4576) - Update AI Metadata field names (#4516) ###### ⚙️ Miscellaneous Tasks - *(go)* Move one unit test job to Depot (#4568) ###### 🛡️ Security - Address Go vulnerabilities (#4570) ### v1.35.0 - Date: 2026-07-07 - Version: v1.35.0 - Original notes: https://github.com/inngest/inngest/releases/tag/v1.35.0 - Permalink: https://whatsnew.fyi/product/inngest/releases/v1.35.0 - **added** — Add experiment endpoints to REST V2 API: GET /v2/experiments, GET /v2/apps/{app_id}/functions/{function_id}/experiments, and GET /v2/apps/{app_id}/functions/{function_id}/experiments/{experiment_id} - **added** — Add sessions endpoints to REST V2 API: GET /v2/sessions, GET /v2/sessions/{session_key}, and GET /v2/sessions/{session_key}/{session_id}/runs - **added** — Visualize numeric metrics using box plots in experiments - **added** — Show key queues setting in function view - **changed** — Update experiments charts and layout to match new design - **changed** — Add jitter to PartitionRequeue default case - **fixed** — Do not coalesce parallel steps for the V1 execution engine - **fixed** — Fix boxplot colors in experiments - **changed** — Clean up QueueManager interface - **changed** — Add timeout to backlog size in queue - **changed** — Track partition processing that yielded 0 peeks ##### Release Notes - [#4504](https://github.com/inngest/inngest/pull/4504) feat(api): experiments api Adds experiment endpoints to REST V2 API and CLI: GET /v2/experiments GET /v2/apps/{app_id}/functions/{function_id}/experiments GET /v2/apps/{app_id}/functions/{function_id}/experiments/{experiment_id} Adds sessions endpoints to REST V2 API and CLI: GET /v2/sessions GET /v2/sessions/{session_key} GET /v2/sessions/{session_key}/{session_id}/runs ##### Changelog ###### 🚀 Features - *(experiments)* Visualize numeric metrics using box plots (#4517) - *(function-view)* Show key queues setting (#4546) - *(experiments)* Update charts/layout to match new design (#4551) - *(queue)* Jitter PartitionRequeue default case (#4561) - *(api)* Experiments api (#4504) ###### 🐛 Bug Fixes - Should not coalesce parallel steps for the V1 execution engine (#4538) - *(experiments)* Fix boxplot colors (#4542) ###### 🚜 Refactor - *(queue)* Clean up QueueManager interface (#4541) ###### ⚙️ Miscellaneous Tasks - *(go)* Drop key-queues test matrix dimension (#4552) - Upload test results to CodeCov to analyze flake rates (#4545) - Use a depot runner for linting (#4554) - *(queue)* Add timeout to backlog size (#4556) - Track partition processing that yielded 0 peeks (#4562) - Cleanup unused queue injections (#4564) ###### ◀️ Revert - Always SavePending after parallel ops to coalesce discovery (#4021) (#4534) ### v1.34.0 - Date: 2026-06-29 - Version: v1.34.0 - Original notes: https://github.com/inngest/inngest/releases/tag/v1.34.0 - Permalink: https://whatsnew.fyi/product/inngest/releases/v1.34.0 - **added** — Add search to /sessions/:sessionsKey route - **fixed** — Rerun from step, including with the ability to update step inputs, working in cloud - **fixed** — Custom concurrency cache keys that were always account level - **fixed** — Support only OTel GenAI in Extended Traces AI Metadata Extractor by dropping support for Open Inference, Vercel AI SDK, and Langfuse - **fixed** — Display of extended traces for steps with multiple attempts - **fixed** — Enable rerun from step for all step types - **fixed** — Handle wrapped iterator errors in queue - **fixed** — React hydration making UI interactions unresponsive - **fixed** — Show last attempt metadata for retry groups - **fixed** — Wrong experiments docs URL - **fixed** — Dashboard scoring formula slider interaction - **changed** — Resolve shards by scope instead of account ID ##### Release Notes - [#4182](https://github.com/inngest/inngest/pull/4182) fix: rerun from step Gets rerun from step, including with the ability to update step inputs, working in cloud. This already works in the oss dev server. - [#4501](https://github.com/inngest/inngest/pull/4501) fix: bug where custom concurrency cache keys are always account level fixes a custom concurrency bug that could be lowering throughput - [#4509](https://github.com/inngest/inngest/pull/4509) fix: Support only OTel GenAI in Extended Traces AI Metadata Extractor Changes AI Metadata processing for Extended Traces to behave more similarly to the JS SDK by dropping support for Open Inference, Vercel AI SDK, and Langfuse in favor of only OTel GenAI. - [#4511](https://github.com/inngest/inngest/pull/4511) chore(release): for homebrew installed inngest-cli, use homebrew-tap for latest version Fix homebrew update notifier to use what's actually available in homebrew - [#4523](https://github.com/inngest/inngest/pull/4523) fix: the display of extended traces for steps with multiple attempts Fixes the display of parenting of extended traces when there are multiple attempts for a step, each with its set of spans. - [#4531](https://github.com/inngest/inngest/pull/4531) fix(rerun-from-step): enable rerun from step everywhere Enable support for rerun from step for all step types. ##### Changelog ###### 🚀 Features - *(sessions)* Add search to `/sessions/:sessionsKey` route (#4499) - *(sessions)* Design feedback (#4524) ###### 🐛 Bug Fixes - Custom concurrency cache keys (#4501) - Wrong experiments docs URL (#4503) - *(queue)* Handle wrapped iterator errors (#4507) - *(support)* Fix React hydration — UI interactions unresponsive (#4510) - *(metadata)* Show last attempt metadata for retry groups (#4513) - Support only OTel GenAI in Extended Traces AI Metadata Extractor (#4509) - *(dashboard)* Scoring formula slider interaction (#4484) - The display of extended traces for steps with multiple attempts (#4523) - Rerun from step (#4182) - *(rerun-from-step)* Enable rerun from step everywhere (#4531) ###### 🚜 Refactor - *(queue)* Resolve shards by scope instead of acctID (#4475) - *(session)* Session ui empty state refactor (#4508) ###### ⚙️ Miscellaneous Tasks - Bump SDK from 4.8.0 to 4.10.0 (#4496) - *(release)* Use homebrew_casks with goreleaser (#3462) - *(sessions)* Sessions UI feedback (#4500) - *(release)* For homebrew installed inngest-cli, use homebrew-tap for latest version (#4511) - Adding metrics for run duration (#4445)