v0.53.0
What's Changed
- chore(weave): add structured fields when ref objects are not found by @domphan-wandb in #7200
- chore(weave): validate monitor query fields on save by @gtarpenning in #7191
- test(weave): isolate replicated-cluster env in on-cluster query builder test by @gtarpenning in #7233
- fix(weave): scope gcs credentials for keep-alive session by @gtarpenning in #7234
- feat(weave): add generic agent_name_override for OTel invoke_agent spans by @andrewtruong in #7219
- fix(weave): fix issue where
dictifycould get stuck in a cycle by @andrewtruong in #7213 - chore(weave): add spans_stats table for usage billing by @gtarpenning in #7228
- fix(weave): include allowed fields in InvalidFieldError message by @gtarpenning in #7189
- chore(weave_ts): Bump TS trace server API by @drtangible in #7226
- feat(weave_ts)!: Remove export of
WeaveClientvalue, only export as type. by @drtangible in #7208 - chore(weave_ts): Pull up other module-level state. by @drtangible in #7227
- fix(weave): exclude op methods from LLMAsAJudgeScorer publish payload by @ro31337 in #7183
- chore(weave_ts): Don't pass unused
wandbServerApiargument when creatingWeaveClients by @drtangible in #7209 - feat(weave): send trace_id on calls-ingest requests that lack it by @ro31337 in #7237
- feat(weave): add wandb.agent_user_feedback feedback type by @nikumar1206 in #7184
- feat(weave): allow unbounded range for ungrouped agent spans/stats by @nikumar1206 in #7186
- fix(weave): parse Bedrock inference profile ARN to model ID for invoke api by @joshross99 in #7242
- fix(weave): raise too-slow query kill threshold to 10s by @gtarpenning in #7246
- feat(weave_ts)!: Consolidate settings, expose reference in
docs/. by @drtangible in #7217 - feat(weave_ts): Add 'useOTelv2' setting to init() by @drtangible in #7218
- chore(weave): fix flaky test_call_batch_uploads_files_to_bucket_in_parallel by @gtarpenning in #7247
- feat(weave): add in-memory fake trace server skeleton and test wiring by @andrewtruong in #7145
- chore(weave): skip llm judge publish test on fake trace server by @gtarpenning in #7277
- chore(weave): in-memory trace server call ingestion, deletion, TTL, and OTel export by @andrewtruong in #7146
- chore(weave): in-memory trace server object CRUD, tags, and aliases by @andrewtruong in #7147
- perf(weave): bucket project_id partition keys for HPA-friendly scaling by @gtarpenning in #7274
- fix(weave): sync migration status writes so a finished migration can't be left partial by @gtarpenning in #7275
- fix(weave): apply sortable_datetime prefilter to string datetime filters by @gtarpenning in #7276
- chore(weave): add dataset_sources table migration by @jwlee64 in #7198
- chore(weave): add RemoteScorer serialization test case by @ro31337 in #7244
- fix(weave): exclude reasoning parts from agent chat view body text by @rgao-coreweave in #7259
- chore(weave): in-memory trace server tables, files, and refs by @andrewtruong in #7169
- feat(weave): tag declarative evaluation child calls with eval metadata by @ro31337 in #7260
- feat(weave_ts): send trace_id on call-end ingest messages by @ro31337 in #7257
- feat(weave): add OTel tracing primitives to weave.trace_server by @amwarrier in #7258
- chore(weave): Update samples to use the new feedback schema by @mscavezze-cw in #7207
- chore(weave): Env var for Remote Scoring result schema by @mscavezze-cw in #7193
- fix(weave): skip declarative eval-meta tests on the in-memory fake backend by @ro31337 in #7292
- chore(weave): add call querying to in-memory trace server by @andrewtruong in #7171
- chore(weave): add feedback to in-memory trace server by @andrewtruong in #7148
- fix(weave): use async insert for agent spans path by @gtarpenning in #7298
- chore(weave): add feedback stats and aggregates to in-memory trace server by @andrewtruong in #7172
- feat(weave): extend
/agent_searchendpoint by @jtschoonhoven in #7269 - fix(weave): support eval_results filtering on inputs by @domphan-wandb in #7006
- chore(weave): add costs and usage to in-memory trace server by @andrewtruong in #7173
- chore(weave): add threads to in-memory trace server by @andrewtruong in #7174
- feat(weave_ts): tag declarative evaluation child calls with eval metadata by @ro31337 in #7286
- chore(weave): drop libsqlite3-dev install step from test CI workflows by @andrewtruong in #7307
- fix(weave): make weave installable alongside google-adk by @andrewtruong in #7300
- chore(weave): add v2 object CRUD impl to in-memory trace server by @andrewtruong in #7150
- chore(weave): add server-side evals to in-memory trace server by @andrewtruong in #7151
- chore(weave): add server-side prediction and scoring to in-memory trace server by @andrewtruong in #7175
- chore(weave_ts): Clean up duplicated getCalls helper. by @drtangible in #7309
- feat(weave): support session-level span attributes by @rgao-coreweave in #7308
- chore(weave_ts): use
import typefor type-only imports by @andrewtruong in #7322 - chore(weave): Remove unused dev deps by @andrewtruong in #6842
- feat(weave_ts): Add
getAgentsfn toWeaveClient. by @drtangible in #7232 - chore(weave): add import-linter for trace_server/client/workers boundaries by @andrewtruong in #7334
- feat(weave_ts): Add
getAgentVersionsfn toWeaveClient. by @drtangible in #7261 - feat(weave_ts): Add
getAgentSpansfn toWeaveClient. by @drtangible in #7287 - feat(weave_ts): Add
getAgentTurnfn toWeaveClientby @drtangible in #7288 - chore(weave_ts): Remove unnecessary guards against nullish op_name by @drtangible in #7310
- chore(weave): add remaining eval and rescoring methods to in-memory trace server by @andrewtruong in #7176
- chore(weave): add annotation queues to in-memory trace server by @andrewtruong in #7156
- chore(weave): add completions and agent* methods to in-memory trace server by @andrewtruong in #7157
- fix(weave): validate agent signal filters against the agent-spans schema by @jtschoonhoven in #7346
- feat(weave_ts): Add
getAgentTurnsfn toWeaveClientby @drtangible in #7290 - chore(weave_ts): Fix
no-emptylint errors. by @drtangible in #7313 - feat(weave_ts): Add
gen_ai.conversation.idas attribute on all spans in@openai/agentsintegration by @drtangible in #7339 - chore(weave_ts): Fix
no-undeflint errors. by @drtangible in #7314 - feat(weave_ts): Add
gen_ai.agent.nameas attribute on all spans in@openai/agentsintegration by @drtangible in #7340 - feat(weave_ts): Include integration OTel attrs in
@openai/agentsintegration by @drtangible in #7341 - chore(weave_ts): Fix
no-useless-assignmentlint errors. by @drtangible in #7315 - chore(weave_ts): Fix
prefer-constlint errors. by @drtangible in #7316 - feat(weave): support match any and all filtering options on evals by @domphan-wandb in #7011
- chore(weave_ts): Fix
@typescript-eslint/no-wrapper-object-typeslint errors. by @drtangible in #7317 - fix(weave): GLOBAL JOIN the cost-merge query on distributed clusters by @gtarpenning in #7112
- fix(weave): map BadQueryParameterError to 400 and surface the real detail by @gtarpenning in #7293
- chore(weave_ts): Fix
no-case-declarationslint errors. by @drtangible in #7318 - chore(weave): decouple qh estimated-time guard from execution-time cap by @gtarpenning in #7336
- chore(weave_ts): Fix
@typescript-eslint/no-require-importslint errors. by @drtangible in #7319 - chore(weave): in-memory trace server monitor-query validation and missing-ref reporting by @andrewtruong in #7337
- fix(weave): opt out of clickhouse insert dedup on replicated deployments by @gtarpenning in #7335
- fix(weave): apply CH query/insert settings to direct call sites by @gtarpenning in #7299
- fix(weave): return 400 not 500 on feedback with malformed annotation spec by @gtarpenning in #7353
- chore(weave_ts): Fix
@typescript-eslint/no-unused-varslint errors. by @drtangible in #7320 - fix(weave): surface interleaved reasoning between tool calls in agent chat by @bcsherma in #7347
- feat(weave): add query-time costs to agent spans and stats APIs by @bcsherma in #7267
- chore(weave): add test rule to assert on complete payloads by @gtarpenning in #7355
- test(weave): fix two flaky trace tests by @gtarpenning in #7356
- perf(weave): batch traced completion-call span writes by @gtarpenning in #7291
- fix(weave): add numeric then string fallback to eval input output sort by @domphan-wandb in #7343
- feat(weave): attribute agent / conversation identity at read time by @bcsherma in #7254
- feat(weave): add predict-only token total to eval results summary by @ro31337 in #7364
- chore(weave): Decouple
weave.flowfromtrace_server. by @andrewtruong in #7357 - chore(weave): Decouple
weave.type_wrappersfromtrace_server. by @andrewtruong in #7359 - test(weave): add core trace test signal by @wandbjake in #7349
- chore(dev): enable Renovate for GitHub Actions SHA pinning by @shivawandb in #6919
- test(weave): assert complete SQL in query-builder tests by @gtarpenning in #7361
- chore(weave): assert complete values in trace/ tests by @gtarpenning in #7379
- feat(weave): send client-capability header on ingest (Python) by @ro31337 in #7350
- feat(weave): send client-capability header on ingest (Node) by @ro31337 in #7351
- chore(weave): drop flaky libmagic install step by @gtarpenning in #7387
- chore(weave): read calls_complete distributed table in call_end_v2 by @gtarpenning in #7372
- fix(weave): better error on permission-denied project by @gtarpenning in #7373
- perf(weave): prune partitions on calls/delete with a started_at by @gtarpenning in #7374
- perf(weave): use approximate uniq for calls_merged stats counts by @gtarpenning in #7380
- fix(weave): bind agent span-stats time bounds as whole-second ints by @gtarpenning in #7376
- feat(weave): dataset_sources query builders + unit tests by @jwlee64 in #7238
- chore(weave): dataset_sources trace server interface types + method signatures by @jwlee64 in #7239
- chore(dev): only notify core on master push and clean up unused action by @wandbjake in #7371
- fix(weave_ts): Respect
startTimegiven toSession.startTurn. by @drtangible in #7378 - feat(weave_ts): Support passing
endTimetoweave.endTurnandweave.endLLMby @drtangible in #7381 - chore(weave_ts): Include new 'x-weave-client-capabilities' in cassettes by @drtangible in #7388
- chore(weave_ts): Update jsdocs on top-level
startFoo/endFoofunctions. by @drtangible in #7382 - feat(weave_ts): Accept
endTimeonweave.endSessionandSession.endby @drtangible in #7385 - feat(weave_ts): Add basic scaffolding for Google ADK integration by @andrewtruong in #7301
- feat(weave_ts): Add
attributesoption toweave.startSession. by @drtangible in #7396 - feat(weave_ts): add Google ADK model/chat span tracing by @andrewtruong in #7302
- feat(weave_ts): add Google ADK tool/execute_tool span tracing by @andrewtruong in #7303
- feat(weave_ts): add Google ADK nested Agent span support by @andrewtruong in #7305
- feat(weave_ts): add Google ADK autoinstrumentation by @andrewtruong in #7306
- chore(dev): always export schema by @wandbjake in #7402
- feat(weave): send is_eval on call-end ingest messages by @ro31337 in #7391
- feat(weave_ts): send is_eval on call-end ingest messages by @ro31337 in #7392
- feat(weave): add Claude Agent SDK integration for the TypeScript SDK by @rgao-coreweave in #7245
- feat(weave): OTel-native OpenAI Realtime exporter and agent chat-view fixes by @zbirenbaum in #7365
- fix(weave): cap GCS upload socket stalls by @gtarpenning in #7400
- test(weave): convert trace_calls_complete_only shard to cover calls_merged by @gtarpenning in #7403
- test(weave_ts): fix flaky genai test by dropping real login() from beforeEach by @gtarpenning in #7407
- perf(weave): dedup repeat bucket writes with a per-pod stored-key cache by @gtarpenning in #7401
- perf(weave): use approximate uniq for agent span stats counts by @gtarpenning in #7408
- chore(deps): pin dependencies by @wandb-renovate[bot] in #7393
- feat(weave): per-conversation span sequences for the spans minimap by @nikumar1206 in #7223
- chore(weave): spans-source alerting schema + gate by @gtarpenning in #7204
- feat(weave): add agent read APIs to Python RemoteHTTPTraceServer by @rgao-coreweave in #7377
- chore(weave): add Claude Agent SDK host-app e2e test by @rgao-coreweave in #7399
- chore(weave_ts): Bump TS trace server API by @drtangible in #7415
- feat(weave_ts): Add
WeaveClient.searchAgentsby @drtangible in #7416 - feat(weave_ts): Add
WeaveClient.getAgentSpanStatsby @drtangible in #7417 - feat(weave_ts): Add
WeaveClient.getAgentCustomAttrsSchemaby @drtangible in #7418 - fix(weave): stop integrations churning object versions via repr() memory addresses by @gtarpenning in #7390
- feat(weave_ts): Support
queryparam togetAgentSpansby @drtangible in #7419 - feat(weave): dataset_sources ClickHouse implementation, wiring, and tests by @jwlee64 in #7241
- chore(weave): expose dataset_sources over the remote-HTTP trace server by @jwlee64 in #7281
- fix(weave_ts): Update cassettes to reflect version bump. by @drtangible in #7425
- chore(weave): make node SDK cassette matcher version-agnostic by @gtarpenning in #7424
- chore(weave_ts): Update
opeani+@openai/agentsdevDependencies / types by @drtangible in #7426 - fix(weave_ts): print Weave data URL on Node init by @andrewtruong in #7427
- feat(weave): add agent read methods to WeaveClient by @rgao-coreweave in #7384
- chore(weave_ts): Rename
getAgentCustomAttrsSchematogetAgentCustomAttributesby @drtangible in #7433 - chore(weave_ts): Add
CHANGELOG.mdby @drtangible in #7423 - feat(weave): system_instructions on turn & subagent spans by @rgao-coreweave in #7348
- feat(weave): migrate clickhouse_trace_server_batched.py to @Traced by @amwarrier in #7263
- perf(weave): engage op_name ngram index in eval-results filter by @gtarpenning in #7434
- feat(weave): migrate 10 remaining weave/trace_server files to @Traced by @amwarrier in #7264
- feat(weave_ts): Rename
Session-->Conversation. by @drtangible in #7436 - perf(weave): extract-before-aggregate heavy json filters to avoid calls_merged OOM by @gtarpenning in #7435
- feat(weave): full-fidelity batch turn logging + Turn/SubAgent.record() by @rgao-coreweave in #7429
- chore(weave): fix flaky test_call_stats_call_metrics by @gtarpenning in #7420
- feat(weave): rename Session SDK to Conversation SDK by @andrewtruong in #7437
- fix(weave): tolerate stored external refs on agent reads instead of 500 by @gtarpenning in #7443
- fix(weave): reject feedback on a deleted annotation spec with not-found by @gtarpenning in #7410
- chore(weave): Bump to 0.53.0 by @andrewtruong in #7446
- chore(weave): Release 0.53.0 by @andrewtruong in #7447
New Contributors
- @joshross99 made their first contribution in #7242
- @shivawandb made their first contribution in #6919
- @wandb-renovate[bot] made their first contribution in #7393
Full Changelog: v0.52.43...v0.53.0