---
collection: workflow-orchestration
collection_name: Background Jobs & Orchestration
week_start: 2026-06-22
title: Experiments bring scientific rigor to live production traffic
release_count: 24
generated: 2026-07-11
canonical: https://releases.sh/collections/workflow-orchestration/digest/2026-06-22
---

# Experiments bring scientific rigor to live production traffic

Inngest launched Experiments for safe A/B testing of step functions against live traffic, while n8n shipped n8n@2.28.0 with workflow chaining fixes and both platforms patched critical bugs.

### Experiments: test code changes on live traffic

The biggest story this week is Inngest's launch of [Experiments](/release/rel_7_BVQlHkz9m82vtINppw7-experiments-safely-test-code-changes-against-live-production-traffic), a feature that lets you safely compare two versions of a step function against real production traffic. You call `group.experiment("your-id", { variants, select })` with the implementations you want to compare and a selection strategy, and Inngest judges each variant on execution data it already records — timing, retries, failures, and cost. The selection is durable: one variant runs per invocation, memoized as a step with weights you can change between deploys. This is a genuine workflow debugging breakthrough — you can now refactor a step with confidence, because you're measuring against the only data that matters: what happens in production.

The server-side [infrastructure for Experiments](/release/rel_cT1SvHv06bfBisgxYayIY-v1-33-0) shipped in Inngest Server v1.33.0, which also added semaphore routes to the debug API and allowed sessions in the invoke button. The server had a quieter companion in [v1.32.0](/release/rel_kzhTHybb9Sdg5DPJYUxpI-v1-32-0), which brought system queue tracing, session page optimizations, and a dedicated "Open in Insights" button on the failed functions chart.

### Inngest SDKs converge on AI metadata and cross-platform support

The JS SDK hit four minor versions in a single day. [inngest@4.8.0](/release/rel_CIcvlyq7lm4ej7ASuThKr-inngest-4-8-0) added opt-out for AI metadata extraction and an experimental process manager for Node.js. [inngest@4.9.0](/release/rel_0yz5OA5eb9VpRv07tXkAU-inngest-4-9-0) expanded AI step metadata extraction to capture more OTel GenAI span attributes — model, provider, response id, tokens, and request parameters — while continuing to ignore prompt and response content. [inngest@4.10.0](/release/rel_Cmc4rwizDFxpjlQaxnCOJ-inngest-4-10-0) added support for the deprecated `gen_ai.system` attribute for backward compatibility, and [inngest@4.11.0](/release/rel_Mst7WbMNvJ4OdhcNrN3ZI-inngest-4-11-0) added operation name parsing for AI metadata extraction. The [OpenTelemetry package](/release/rel_S20BEhGg_Ts43RflB-URX-inngest-otel-0-2-0) also reached v0.2.0 with CommonJS support, Google AI integration, and a fix for broken Anthropic calls.

The Python SDK [inngest@0.5.19](/release/rel_juziFHnhawLUohBwn-wOq-inngest-0-5-19) matched the momentum with unauthenticated sync opt-out, request and job IDs on function context, an optional jitter field for `TriggerCron`, and a fix for a PydanticSerializer memory leak.

### n8n stabilizes chained nodes and patches across the board

n8n's [n8n@2.28.0](/release/rel_aDRH8AvYfiE5nRpMwtCP9-n8n-2-28-0) was the week's major release, headlined by a fix for building incorrect chained nodes — a critical correction for anyone composing workflows with conditional branches. The release also tightened the API with a 409 response when deleting a published workflow and fixed Bitbucket Trigger Node credential validation to use `account_id` instead of username.

The follow-up patches tell a story of rapid iteration. [n8n@2.28.1](/release/rel_4pURfKCPQvo92aHxFNl5o-n8n-2-28-1) verified Instance AI workflows before setup, preventing a broken loop that could crash the workflow verification system. [n8n@2.28.2](/release/rel_iBA_QXcW51RzYSFvAa0lt-n8n-2-28-2) then fixed that broken workflow verification loop in iAI directly. The LTS branch received [n8n@2.27.4](/release/rel_HkGTLrRsDFTC9ORnw8Uo4-n8n-2-27-4), which allowed allowlisted Python packages to import their own submodules via relative imports — a welcome fix for Python node users. Earlier in the week, [n8n@1.123.60](/release/rel_cFsTii1mMha_xvXq-xLf2-n8n-1-123-60) patched 21 security issues across tmp, protobufjs, ws, and eight other dependencies, and excluded error workflow executions from the billable count.

## Releases covered

### Inngest

- [Experiments: safely test code changes against live production traffic](https://releases.sh/release/rel_7_BVQlHkz9m82vtINppw7-experiments-safely-test-code-changes-against-live-production-traffic)
- [v1.33.0](https://releases.sh/release/rel_cT1SvHv06bfBisgxYayIY-v1-33-0)
- [v1.32.0](https://releases.sh/release/rel_kzhTHybb9Sdg5DPJYUxpI-v1-32-0)
- [inngest@4.8.0](https://releases.sh/release/rel_CIcvlyq7lm4ej7ASuThKr-inngest-4-8-0)
- [inngest@4.9.0](https://releases.sh/release/rel_0yz5OA5eb9VpRv07tXkAU-inngest-4-9-0)
- [inngest@4.10.0](https://releases.sh/release/rel_Cmc4rwizDFxpjlQaxnCOJ-inngest-4-10-0)
- [inngest@4.11.0](https://releases.sh/release/rel_Mst7WbMNvJ4OdhcNrN3ZI-inngest-4-11-0)
- [@inngest/otel@0.2.0](https://releases.sh/release/rel_S20BEhGg_Ts43RflB-URX-inngest-otel-0-2-0)
- [inngest@0.5.19](https://releases.sh/release/rel_juziFHnhawLUohBwn-wOq-inngest-0-5-19)

### n8n

- [n8n@2.28.0](https://releases.sh/release/rel_aDRH8AvYfiE5nRpMwtCP9-n8n-2-28-0)
- [n8n@2.28.1](https://releases.sh/release/rel_4pURfKCPQvo92aHxFNl5o-n8n-2-28-1)
- [n8n@2.28.2](https://releases.sh/release/rel_iBA_QXcW51RzYSFvAa0lt-n8n-2-28-2)
- [n8n@2.27.4](https://releases.sh/release/rel_HkGTLrRsDFTC9ORnw8Uo4-n8n-2-27-4)
- [n8n@1.123.60](https://releases.sh/release/rel_cFsTii1mMha_xvXq-xLf2-n8n-1-123-60)
