releases.sh

v1.39.0

Release Notes

  • #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"}]'

Migration Notes

  • #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 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 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)

Fetched July 28, 2026

v1.39.0 — Inngest Server — releases.sh