Changelog

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.

LangWatch Team · July 12, 2026

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.

screenshot

A tab switcher for the prompt playground.

screenshot

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).