Skip to content

python: v0.7.32

Choose a tag to compare

@rogeriochaves rogeriochaves released this 20 Jul 14:10
74b6a84

0.7.32 (2026-07-20)

Features

  • #660: expose context param on scenario.judge() public API (#667) (900f3d8)
  • #666: per-role voice modality negotiation — declaration-first, two-phase validation, OTEL stamps (#670) (007a69f)
  • events: support LANGWATCH_PROJECT_ID via X-Project-Id header (#619) (7aec1c7)
  • tracing: stamp scenario SDK name+version as trace attributes (#744) (#745) (43dd4fa)
  • voice: continuous ElevenLabs mic pump + is_connected guard (#740 slice A) (#741) (b6e7f93)
  • voice: harvest voice result fields on exit paths + concrete typing (#740 slice E) (#742) (439b7be)
  • voice: instrument base + ElevenLabs adapter with LangWatch spans (#777) (2b32872)
  • voice: instrument Gemini Live adapter with LangWatch spans (#780) (8ba8687)
  • voice: instrument OpenAI Realtime adapter with LangWatch spans (#782) (3152969)
  • voice: instrument Pipecat adapter + background-loop spans (#774) (67f71b1)
  • voice: instrument Pipecat adapter + background-loop spans (#781) (67f71b1)
  • voice: instrument Twilio adapter with LangWatch spans (#788) (8747eed)
  • voice: realtime_langwatch_session context manager for live OpenAI Realtime apps (#673) (#676) (e89d00c)

Bug Fixes

  • #161: re-parse criteria when LLM returns stringified JSON dict (#552) (b819849)
  • #488: log voice adapter and ffmpeg disconnect failures at WARNING (#556) (86bf466)
  • #655: replace brittle judge criteria with generic behavioral criteria in audio examples (#679) (732d426)
  • #664: transcribe agent turns at runtime so the voice user simulator can read them (#665) (4b99682)
  • #695: twilio terminal sentinel on silent/tool-only stop (dead-recv-loop hang) (#697) (e675224)
  • python: derive scenario.version from package metadata (#800) (0d505a7)
  • security: bump pyjwt to 2.13.0 (#677) (00807b7)
  • security: bump python/uv.lock security floors (cryptography, python-multipart, starlette, python-liquid, pydantic-settings) (#685) (ee9a5d5)
  • security: raise esbuild, js-yaml, and dompurify override floors across JS workspaces (#671) (c76bab2)
  • security: raise vite 8.x floor to >=8.0.16 across scenario workspaces (#709) (42d877e)
  • voice/#491: diagnose + resolve multi-turn @e2e suite-wedge + tighten VAD tests (#694) (2dfc381)
  • voice/#498: surface recv-loop termination as attributable PipecatRecvError (#692) (c1f552c)
  • voice/#648: terminal drain on non-audio completion (EL + WebSocket) (#693) (c42320e)
  • voice/#662: guard #662's response.create call sites against the active-response race (JS + PY) (#669) (0968374)
  • voice/ts: explicit EL ConvAI turn-commit so scripted next-turn receive re-engages (#596) (795ae8e)
  • voice: guard response.create on active response in recv_audio (#659) (5e844ea)
  • voice: hosted ElevenLabs single-exchange ceiling — docs + enriched timeout error (#643) (aae16be)
  • voice: skip Twilio e2e fixtures on absent env, not fail (#798) (4c883d0)
  • voice: terminate wait=False test drain on end-of-turn, re-enable in CI (#691) (022056d)

Documentation

  • voice: drop references to a docs/proposals tree that never landed (#613) (#823) (0ef4314)