releases.shpreview
Home/Inngest
Inngest

Inngest

Release Notes

  • #4318 feat: Add support for parsing span attribute data from Langfuse (EXE-1914)

    Add support for parsing span attribute data from Langfuse

  • #4344 feat: promote api cli, add redirect message and beta tag

    The API CLI has moved out of alpha and is now available as a top-level beta command:

    npx inngest-cli@latest api --help

Changelog

🚀 Features
  • Add support for parsing span attribute data from Langfuse (EXE-1914) (#4318)
  • A/B test insights query-writer model and score tokens/cost (#4331)
  • Promote api cli, add redirect message and beta tag (#4344)
🐛 Bug Fixes
  • Mark insights api as internal to get docs gen working again (#4327)
  • Make v2 api path match mono/docs & improve host/port handling (#4302)
  • Status, duration, output in v2 api event/runs (#4343)
🚜 Refactor
  • Use step.run for llm calls in insights experiment (#4338)
  • Use Item.Kind for shard selection instead of Item.QueueName (#4336)
⚙️ Miscellaneous Tasks
  • (tracing) Add more conditional traces around scheduling (#4323)

Release Notes

  • #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 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 feat: EXE-1918: Parse total tokens from AI Metadata

    Step AI metadata sources total tokens from span attributes when provided

  • #4309 fix(realtime): websocket memory leak

    Fix memory leak in realtime websocket connections.

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

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 Notes

  • #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 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)
Minor Changes
  • #1522 ebeb4516 Thanks @Linell! - Bump minimum @opentelemetry/auto-instrumentations-node to 0.75.0 to address 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 10dad398 Thanks @amh4r! - Fix attempt count not resetting during checkpointing

  • #1544 f1ee6f34 Thanks @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 342a7369 Thanks @amh4r! - Add option to disable unauthed PUT requests

  • #1518 fd71a95b Thanks @Linell! - Fix RetryAfterError not respected

Release Notes

  • #3871 fix(batching): Enforce batch size limits in the in-memory batching path.

    Enforce batch size limits in the in-memory batching.

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

  • #4196 chore(release): v1.19.4

    • #4198 refactor(queue): scope debounce and singleton operations

      Debug API debounce and singleton requests now include account and environment IDs so scoped queue storage can target the correct tenant/function namespace.

  • #4198 refactor(queue): scope debounce and singleton operations

    Debug API debounce and singleton requests now include account and environment IDs so scoped queue storage can target the correct tenant/function namespace.

Migration Notes

  • #4196 chore(release): v1.19.4

    • #4198 refactor(queue): scope debounce and singleton operations

      Debug API clients for debounce and singleton operations must send account_id, env_id, and function_id on scoped requests. The debug CLI now requires account/environment flags for these commands. Existing Redis storage behavior is unchanged.

    Changelog

    🐛 Bug Fixes
    • ARM docker image base image mismatch (#2912)
    • Missing retries in UI (#4202)
    🚜 Refactor
    • (queue) Remove duplicate item lookup method (#4194)
    • (queue) Scope debounce and singleton operations (#4198)
    • (cqrs) Establish package boundaries (#4045)
    📚 Documentation
    • Update API docs to recommend api keys (#4156)
    ⚙️ Miscellaneous Tasks
    • (release) Restore tag-triggered publishing (#4191)
    • Update protobuf to add deltas/changed bool (#4195)
    • Add missing metric on state store delete (#4200)
    </details>
  • #4198 refactor(queue): scope debounce and singleton operations

    Debug API clients for debounce and singleton operations must send account_id, env_id, and function_id on scoped requests. The debug CLI now requires account/environment flags for these commands. Existing Redis storage behavior is unchanged.

Changelog

🐛 Bug Fixes
  • ARM docker image base image mismatch (#2912)
  • Missing retries in UI (#4202)
🚜 Refactor
  • (queue) Remove duplicate item lookup method (#4194)
  • (queue) Scope debounce and singleton operations (#4198)
  • (cqrs) Establish package boundaries (#4045)
📚 Documentation
  • Update API docs to recommend api keys (#4156)
⚙️ Miscellaneous Tasks
  • (release) Restore tag-triggered publishing (#4191)
  • Update protobuf to add deltas/changed bool (#4195)
  • Add missing metric on state store delete (#4200)

Release Notes

  • The latest Docker image contains several security patches for included Debian packages.

Migration Notes

  • curl is removed from the provided Docker image as a security vulnerability patch. If using curl for health checks, you can now use the experimental inngest alpha doctor healthcheck command instead.

Changelog

🐛 Bug Fixes
  • (connect) Keep persisted SDK replies from closing Connect workers (#4152)
  • (grpc) Handle unimplemented error for LoadDefersMeta for backwards compatibility (#4159)
  • Gracefully handle checkpoint dupes (#4130)
  • Opcode Gateway -> StepTypeFetch (#4180)
💼 Other
  • Add phase 1 agentic api contract (#3984)
  • Entirely Synchronous Durable endpoints move to Completed Status (#4119)
  • Test Durable Endpoints against JS SDK (#4146)
  • Remove release/next branch trigger
🚜 Refactor
  • Refactor debouncer ops to expose via ShardOperations (SYS-824) (#4127)
⚡ Performance
  • (pauses) Evaluations containing string comparisons (#4154)
⚙️ Miscellaneous Tasks
  • Fix PR release job (#4163)
  • Run full CI for release PRs
  • Link release PRs to compare view
  • Update semaphore manager to return idempotency info (#4186)
  • Add "docs" to allowed list (#4175)

We've improved Insights and added new datasources, functionality and syntax support.

New datasources include:

  • Runs: Query your function runs and their associated data, such as input, output, and execution time.
  • Steps/StepAttempts: Query the individual steps within your function runs, including their status, output, and execution time.
  • Extended Trace Spans: Query the spans associated with your function runs, providing more information about the execution of your functions.

In addition to new datasources, we've also added support for new functions and improved syntax support to make it easier to query your data.

We've also improved the Insights sidebar with new features including:

  • Insights AI — An assistant to help write your queries from plain English descriptions.
  • Schema Explorer — A sidebar utility that shows available tables and event schemas.

Check out the Insights documentation for more details on the new features.

Changelog

  • 46f39ad2be372a91e5df12e41a36526fba682a9f Add DeferAdd and DeferCancel Opcodes (#4010)
  • 448abf182e36c51153822926d87273b5a7158a5c Add security email (#4080)
  • 1234ac30d0074d66ed43e01edc182cadaaab7c0b Improve Connect gateway lifecycle logging (#4135)
  • ad78a9fb3367aa0724ef824d34c3371fddb235a0 feat: add SDK conformance CLI serve runner (#4027)
  • 78147bb18488c4c79b8155a28dd3e88e1db5e1e1 fix metadata fallback (#4137)
  • 3cadfae632998e9f3d283da2ad4ec5b83f3d9383 fix(registration): nil-pointer panic on empty-function sync (/fn/register) (#4129)
  • cdda5dd36e448891e18a786c23f6ed899b4d4520 standardize variant naming (#4131)
  • 3138bd377d700dac6820b805f98595fdf6df5b32 vendor latest Go SDK (#4133)
Minor Changes
  • #1504 5c8f50e1 Thanks @scottnuma! - Accept Temporal.Duration, Temporal.Instant, and Temporal.ZonedDateTime (and their *Like variants) wherever a timeout or sleep duration is taken: step.sleep(), step.waitForEvent(), step.waitForSignal(), step.invoke(), and function-level cancelOn timeouts. Durations are treated as relative waits; instants and zoned date-times as absolute deadlines.
Patch Changes
  • #1480 60cda73f Thanks @mar-inngest! - Fix Connect shutdown getting stuck when a late lease-extension ACK recreates a stale in-flight lease entry after request completion or lease loss

Changelog

  • b9d95c608504338938269f06cb97d22ee5625b6a Adds sync failure status handling in UI (#4065)
  • 09403725ea1d000881af09b0bd040b6ad3054a75 Fix constraint cache silently dropping retries on exhaustion (#4084)
  • 7f0b859a230abab4876fc0490b7243531a58d76d Fix mockBufferer.PausesSinceWithCreatedAt to respect the since parameter (#4085)
  • 2fdc4af8a2449a29f2a77cdce6dc88d08cb69b9a Insights: Add tables to schema explorer (#4072)
  • d5a467bb2b3d5edd650e2ebaccc2ef9e565f63ce add schedule type & original run id to replayed runs (#4067)
  • dfcc1f5449ca8a8cae31dcd049a2d2fac24508fb block affected sdk versions (#4066)
  • 42ddd6d0162c251b16e7a964a177d6969c17265a fix: broaden hasPlanOp check (#4079)

Changelog

  • 9098c1f07994784b75ccfa524b6004b966e04b7d Add alpha cmd as a home for experimental CLI commands (#4076)
  • 15558727dd2671408220514888790fc13fcea729 Add app sync API endpoint (#4052)
  • eaffc33fba1fa1394df8820fc40fc0870f542c24 Add per-constraint Usage to Acquire response to fix account concurrency chart (#4047)
  • 2aa941a05640509dc6c8e2adb4c681a3bdb6d5ab Consistently accept date for timeout fields (#4056)
  • c282895dca10c638c923f966259d8bf564537135 EXE-1546: Add per-function Prometheus metrics (#4070)
  • 2e2f1357f85b3f4df98c990023fdec8bf0803f69 EXE-1595: accept date in WaitForEventOpts.Expires (#4048)
  • 4f6963926af448cd0398e88ee4686c700abb6754 EXE-1681: API keys management UI (#4050)
  • 628d49f09344af2fc4df3a9ef22ab9567f0809df EXE-1687 Add callout on onboarding guide (#4064)
  • 5f69e6f76c2912e9a1b8884ef47d53cc44eeb241 Fix app sync API response body (#4055)
  • 173c5b204e531ae752524a354bc818e6a390bbfe Fix modal overflow and adjust CopyButton styling (#4061)
  • d350ac08cf540c8feb032f7b73969d591f4f7633 Fix race error in jitter tests (#4025)
  • 26a5ab5133b7eb1898087a314c5e02483caa4575 Insights: Flexible table column widths (#4033)
  • e21b590650be7c67737c0f93510a19fc7b94d72a Make AppID available to Acquire (#4069)
  • 63f6afe56cd96269cd4d5526200b80aed21c97ba Prevent integration keys from being renamed (#4022)
  • bf605faa40c1497fef535ce4f0edfca0eb3e6b7a Remove legacy latest runs/events tables from dashboards (#4040)
  • 5c0d8e5164219e1c1da8687138e8e0054d43194f SYS-816: Change env var population to use 1passwd instead of Vercel (#4075)
  • 125d0076ba23ca044a30e66ec9a9779c65c9346a Support thread reply improvements (#4023)
  • 6f1af66bd3d48aeabd46a9414c5e574631db2090 add ActiveBanners to dashboard layout (#4039)
  • 789d95b53922114ff1b5b57cdff5aaaea6802469 disable logging for fallbacking different partition keys on spans (#4071)
  • cd51ede6e91957ca52a0326f479c67795bcf7fab fix(cqrs/postgres): COALESCE finish columns in function-run LEFT JOINs (#4043)
Patch Changes
  • #1479 6b9769ca Thanks @scottnuma! - Fix step.sendSignal() return type to match runtime: Promise<InngestApi.SendSignalResponse> ({ runId: string | undefined }) instead of Promise<null>

  • #1483 d0a59629 Thanks @Linell! - Fix run IDs not URL encoded in Durable Endpoints

  • #1481 970ded9b Thanks @Linell! - Improves HMAC signature verification by using a constant-time comparison, which mitigates a potential timing-based signature-recovery attack against the request signature. Also improves handling of timestamps in signatures, including malformed or future-dated values.

  • #1472 9df36dee Thanks @Linell! - Fix empty body on Vercel serverless Node handlers

  • #1482 e34972d3 Thanks @Linell! - Hash the signing key used when exporting OTel traces

Last Checked
3h ago
Tracking since Nov 20, 2023