Audio in Traces, and a Terminal Tab
Pairwise comparison no longer needs a golden answer to compare A against B. Traces play audio inline and add a full-history Terminal tab with a token timeline.
What You Can Do Now
Compare outputs head to head
-
Run pairwise comparison of two variants, A vs B, without a golden or reference answer.
-
A reworked pairwise-evaluator UX, with backend fixes from dogfooding.
-
Same-name variants are disambiguated with numbering and click-to-highlight, so you always know which column is which.
-
Documented end to end, including the Pairwise Compare SDK results.
Get more out of traces
-
Audio content (input_audio and audio) now plays inline with an audio player, in both the legacy and Traces V2 UIs.
-
A new full-history Terminal tab, with a token timeline and span log highlighting.
-
Server-side facet value search now goes beyond the preloaded top 50.
Work faster in the prompt playground
-
A tab switcher for the prompt playground.
-
Duplicate a prompt straight from the playground menu.
-
Playground tabs stopped leaking memory.
Onboard the way you actually work
-
Onboarding forks by intent, governance versus LLMOps, so you land in the flow that matches your goal.
-
Signup attribution and an approval page in the onboarding flow.
Simulations
- The run detail drawer was refreshed to the Traces V2 language, and runs stop re-downloading their payloads on a timer.
AI Gateway
-
Custom OpenAI-compatible providers route to their configured base URL, the gateway falls back to the next provider on an upstream 404, and cached virtual-key config staleness is bounded by a TTL refresh.
-
The routing-policy picker lists every org model provider.
Scenario
-
A new Claude Code agent adapter, so you can test Claude Code agents directly.
-
Pass LANGWATCH_PROJECT_ID via an X-Project-Id header, and the scenario SDK name and version are stamped onto traces.
-
Voice testing hardening, including a continuous ElevenLabs mic pump and voice result-field harvesting.
Fixes worth calling out
-
Per-trace evaluations stopped running twice.
-
Public-share access is now scoped to the project, closing a cross-project access gap.
-
Invite-acceptance failures surface instead of dead-ending on a loading screen.
-
Scenarios need only the minimal input mapping to run, and killed or orphaned queued runs are taken terminal.
Screenshots
Audio content now plays inline in the trace view.

A tab switcher for the prompt playground.

Notes
-
Security: closed several transitive alerts across the SDKs this week (bleach, onnx, pydantic-settings, plus js-yaml and dompurify floors).
-
Performance: a broad ClickHouse pass (partition pruning via resolved event times, facet memory bounded to spill instead of OOM) and group-queue work (EVALSHA, zstd plus size-gated msgpack).