⚙️ Miscellaneous Tasks
- (support) Add graphql-codegen to support app (#4701)
- (e2e) Run more tests on Depot (#4710)
A durable execution platform for queues, background jobs and AI workflows.
| May | Jun | Jul | Aug | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Sunday | No releases on Jul 5, 2026 | No releases on Jul 12, 2026 | No releases on Jul 19, 2026 | No releases on Jul 26, 2026 | No releases on Aug 2, 2026 | No releases on Aug 9, 2026 | ||||||||||
| Monday | 1 release on Jun 29, 2026 | No releases on Jul 6, 2026 | No releases on Jul 13, 2026 | No releases on Jul 20, 2026 | No releases on Jul 27, 2026 | 1 release on Aug 3, 2026 | No releases on Aug 10, 2026 | |||||||||
| Tuesday | No releases on Jun 30, 2026 | 1 release on Jul 7, 2026 | 1 release on Jul 14, 2026 | 2 releases on Jul 21, 2026 | 1 release on Jul 28, 2026 | No releases on Aug 4, 2026 | No releases on Aug 11, 2026 | |||||||||
| Wednesday | No releases on Jul 1, 2026 | 1 release on Jul 8, 2026 | No releases on Jul 15, 2026 | No releases on Jul 22, 2026 | No releases on Jul 29, 2026 | 1 release on Aug 5, 2026 | ||||||||||
| Thursday | No releases on Jul 2, 2026 | No releases on Jul 9, 2026 | No releases on Jul 16, 2026 | No releases on Jul 23, 2026 | 1 release on Jul 30, 2026 | No releases on Aug 6, 2026 | ||||||||||
| Friday | No releases on Jul 3, 2026 | No releases on Jul 10, 2026 | No releases on Jul 17, 2026 | No releases on Jul 24, 2026 | No releases on Jul 31, 2026 | No releases on Aug 7, 2026 | ||||||||||
| Saturday | No releases on Jul 4, 2026 | No releases on Jul 11, 2026 | No releases on Jul 18, 2026 | No releases on Jul 25, 2026 | No releases on Aug 1, 2026 | No releases on Aug 8, 2026 |
10 releases since Jun 29, 2026, busiest day 2
#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.
#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
#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 feat(api): rest v2 rerun from step
POST /v2/runs/{run_id}/rerun
with payload:
{
"fromStep": {
"stepId": "fetch-user",
"input": [
{
"userId": "user_123"
}
]
}
}
CLI equivalent:
inngest api --prod rerun <run_id> \
--from-step "step 2" \
--input '[{"foo":"bar"}]'
#4655 refactor(queue): add shard scanner boundary
None
#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.
go test ./pkg/execution/queuego test ./tests/execution/queuemake lint#4672 fix(executor): recover from panics in event lifecycle listeners
Added TestRunEventLifecyclesRecoversFromListenerPanic which verifies that:
runEventLifecycles work correctly even after a panic#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 feat(api): add v2 runs list endpoints
Adds beta v2 REST endpoints for listing function runs:
GET /v2/runsGET /v2/apps/{appId}/functions/{functionId}/runsSupports cursor pagination, time ranges and fields, status, public app/function IDs, deferred-run filters, ordering, and optional outputs.
#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.
#4628 feat: enforce one-year maximum duration for sleep and wait-for-event
#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:
[
{
"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:
[
{
"name": "accuracy",
"value": 0.95,
"experiment": {
"id": "model-routing",
"variant": "baseline"
}
}
]
#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 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 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 perf: reduce sleep queue item payload size
Reduces the queue memory footprint of sleeps by ~30%.
#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 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 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.
#4597 refactor(ui): decompose traceRollup into focused helpers
🤖 Generated with Claude Code
#4598 fix(tracing): drop duplicate finalization span on errored runs
🤖 Generated with Claude Code
#4600 fix(tracing): stop dev server finalization group spans from duplicating in the trace UI
🤖 Generated with Claude Code
#4603 test(constraintapi): add Redis Lua compatibility regression
None
go test ./pkg/constraintapigo test ./tests/execution/queue -run 'TestLuaCompatibility/Basic Valkey/constraint API accepts empty usage arrays' -count=1 -vgo test ./tests/execution/queue -run 'TestLuaCompatibility/Basic Garnet/constraint API accepts empty usage arrays' -count=1 -vfda3771de and confirmed the Valkey run fails for acquire, extend, and release with json: cannot unmarshal object into Go struct field ... cu.Function Error rather than Finalization (#4571)#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 feat: Differentiate between request and response model for AI Metadata extraction with ai.step.*
#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.
#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
#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 fix: bug where custom concurrency cache keys are always account level
fixes a custom concurrency bug that could be lowering throughput
#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 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 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 fix(rerun-from-step): enable rerun from step everywhere
Enable support for rerun from step for all step types.
/sessions/:sessionsKey route (#4499)A feature-rich command-line audio/video downloader
tmux release notes.
GitHub command-line tool
Anthropic's agentic coding tool for the terminal, IDE and web.
Rule based proxy utility client for iPhone/iPad.
One tool to manage every AWS service from the command line, and script them.