Realtime tool calls and OpenAI realtime history are now captured for Pipecat, and Pipecat realtime transcripts are also captured. OpenAI request metadata is spread into traced metadata, and env replica project names are preserved.
LangSmith SDK
Patched high-severity JavaScript dependencies. Internal API sync and version bumps included.
Realtime model costs are now captured for OpenAI Agents and Google ADK Live (Gemini). Also added realtime user transcript capture via instrument_session for LiveKit.
Fixed an auto-batch processing bug that dropped workspace override, causing cross-tenant data leakage. Added LiveKit and Pipecat realtime model cost tracking.
Added a by-key path to add_runs_to_annotation_queue via a runs= parameter. OpenAPI client exceptions are now re-exported from the langsmith package.
Fixed a URL path injection vulnerability via unencoded resource names in the Python sandbox client. Also bounded voice streaming audio buffers, escaped insights report HTML representation, and exposed OpenAPI client error classes in the JavaScript client.
OTel-safe metadata helpers are now exposed, and threads and traces resource accessors are available on Python and JS clients. The wrapAnthropic JS wrapper now supports Claude Managed Agents methods, and helpers to build LangSmith run URLs from OTel spans are available.
The client-facing SDK online_evaluator has been renamed to evaluator. Also added aread_project to the Python SDK.
New integration captures Google ADK Live voice traces, attributes them via ls_integration metadata, and sets ls_provider/ls_model_name on voice LLM runs for cost tracking.
Added voice tracing integrations for Pipecat, LiveKit, and OpenAI Realtime, plus thread_id metadata support for the Claude Agent SDK. Fixed serialization of tuple-keyed trace dictionaries and OTEL span cleanup, and removed duplicate opentelemetry-exporter-gcp entries breaking uv.lock.
WebSocket handshake failures in the sandbox are now wrapped as SandboxConnectionError for clearer error handling.
Exposed datasets v2 resource with experiment-runs integration tests and a projects resource accessor on Python and JS clients. Fixed anonymizer not applying to run error fields, and several Google ADK tracing fixes feature.
Sync OpenAPI client is now lazily initialized, preventing startup overhead. Sandbox dataplane operations no longer depend on sandbox status. Registries are now exposed via the generated v2 client.
Python and JS clients now expose the v2 OpenAPI runs resource.
Creating feedback now supports an opt-out setting for trace retention. Also fixed missing runtime dependencies for the OpenAPI client.
Sandbox mounts now support a mount_config parameter, and a curated secret-detection anonymizer preset (createSecretAnonymizer) is available. Python SDK also allows-list fields accepted from baggage replica updates.
What's Changed
- chore(deps-dev): bump vitest from 3.2.4 to 3.2.6 in /js by @dependabot[bot] in https://github.com/langchain-ai/langsmith-sdk/pull/3002
- chore(deps): bump pyjwt from 2.12.1 to 2.13.0 in /python by @dependabot[bot] in…
Python online evals now support async execution, sandbox mount support is added to both JS and Python SDKs along with Git mount helpers, and the client warns when the backend version is below the minimum required. SDK report links now use the insights tab.
Sync/async conversion for Sandbox and SandboxClient has been added. Also fixed experiment keys from wrapped evaluator functions and derived create_child run id from start_time.
What's Changed
- chore(js): exclude generated _openapi_client from linters and type-checker by @KiewanVillatel in https://github.com/langchain-ai/langsmith-sdk/pull/3015
- chore: sync langsmith_api by @langtions-bot[bot] in…

