Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 24 additions & 24 deletions py/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -377,40 +377,40 @@ latest = "ai[openai]==0.4.2"
"0.4.0" = "ai[openai]==0.4.0"

[tool.braintrust.matrix.openai]
latest = "openai==3.1.0"
latest = "openai==3.3.1"
"1.92.0" = "openai==1.92.0"
"1.77.0" = "openai==1.77.0"
"1.71.0" = "openai==1.71.0"

[tool.braintrust.matrix.anthropic]
latest = "anthropic==0.122.0"
latest = "anthropic==1.0.0"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Re-record the latest provider cassettes

When CI runs the bumped latest provider sessions, it uses playback-only VCR mode, but this commit changes numerous provider pins without updating any cassettes/latest recordings. This is especially risky for the Anthropic 0.x-to-1.0 jump and the OpenAI, OpenAI Agents, LiteLLM, Pydantic AI, Google GenAI, LangChain, and other minor-version bumps: changed request serialization can cause no-matching-cassette failures, while unchanged requests merely replay responses produced by the old SDKs and therefore do not validate the new response shapes. Re-record each affected latest cassette directory and rerun the corresponding latest sessions in playback mode before merging.

AGENTS.md reference: AGENTS.md:L201-L205

Useful? React with 👍 / 👎.

"0.48.0" = "anthropic==0.48.0"

[tool.braintrust.matrix.cohere]
latest = "cohere==7.0.8"
latest = "cohere==7.0.9"
"5.0.0" = "cohere==5.0.0"

[tool.braintrust.matrix.openai-agents]
latest = "openai-agents==0.21.1"
latest = "openai-agents==0.22.0"
"0.13.6" = "openai-agents==0.13.6"
"0.0.19" = "openai-agents==0.0.19"

[tool.braintrust.matrix.litellm]
# 1.92.0 only publishes Linux wheels through CPython 3.13, but the test
# matrix also covers Windows and CPython 3.14.
latest = "litellm==1.97.0"
latest = "litellm==1.98.0"
"1.74.0" = "litellm==1.74.0"

[tool.braintrust.matrix.livekit-agents]
latest = "livekit-agents==1.6.10"
latest = "livekit-agents==1.7.0"
"1.3.1" = "livekit-agents==1.3.1"

[tool.braintrust.matrix.pipecat-ai]
latest = "pipecat-ai==1.7.0"
"1.3.0" = "pipecat-ai==1.3.0"

[tool.braintrust.matrix.claude-agent-sdk]
latest = "claude-agent-sdk==0.2.139"
latest = "claude-agent-sdk==0.2.144"
"0.1.10" = "claude-agent-sdk==0.1.10"

[tool.braintrust.matrix.cursor-sdk]
Expand All @@ -437,15 +437,15 @@ latest = "autogen-ext[openai]==0.7.5"
"0.7.0" = "autogen-ext[openai]==0.7.0"

[tool.braintrust.matrix.strands-agents]
latest = "strands-agents==1.52.0"
latest = "strands-agents==1.53.0"
"1.20.0" = "strands-agents==1.20.0"

[tool.braintrust.matrix.pydantic-ai-integration]
latest = "pydantic-ai==2.31.0"
latest = "pydantic-ai==2.33.0"
"1.10.0" = "pydantic-ai==1.10.0"

[tool.braintrust.matrix.pydantic-ai-wrap-openai]
latest = "pydantic-ai==2.31.0"
latest = "pydantic-ai==2.33.0"
"1.0.1" = "pydantic-ai==1.0.1"
"0.1.9" = "pydantic-ai==0.1.9"

Expand All @@ -458,55 +458,55 @@ latest = "instructor==1.15.4"
"1.11.0" = "instructor==1.11.0"

[tool.braintrust.matrix.google-genai]
latest = "google-genai==2.18.1"
latest = "google-genai==2.19.0"
"1.75.0" = "google-genai==1.75.0"
"1.30.0" = "google-genai==1.30.0"

[tool.braintrust.matrix.dspy]
latest = "dspy==3.3.0"
latest = "dspy==3.3.1"
"2.6.0" = "dspy==2.6.0"

[tool.braintrust.matrix.deepagents]
latest = "deepagents==0.7.6"
latest = "deepagents==0.7.8"
"0.6.0" = "deepagents==0.6.0"

[tool.braintrust.matrix.crewai]
# 1.13.0 is the first release with the full causal-id surface (event_id /
# parent_event_id / started_event_id on BaseEvent) plus the ``usage`` field on
# LLMCallCompletedEvent that the Braintrust CrewAI integration depends on.
latest = "crewai==1.15.16"
latest = "crewai==1.15.17"
"1.13.0" = "crewai==1.13.0"

[tool.braintrust.matrix.google-adk]
latest = "google-adk[mcp]==2.7.0"
latest = "google-adk[mcp]==2.7.1"
"1.14.1" = "google-adk[mcp]==1.14.1"

[tool.braintrust.matrix.langchain-core]
latest = "langchain-core==1.5.5"
latest = "langchain-core==1.6.0"
"0.3.28" = "langchain-core==0.3.28"

[tool.braintrust.matrix.llama-index-core]
latest = "llama-index-core==0.14.23"
latest = "llama-index-core==0.14.24"
"0.13.0" = "llama-index-core==0.13.0"

[tool.braintrust.matrix.openrouter]
latest = "openrouter==1.1.58"
latest = "openrouter==1.1.76"
"0.6.0" = "openrouter==0.6.0"

[tool.braintrust.matrix.mistralai]
latest = "mistralai==2.9.3"
latest = "mistralai==2.9.4"
"1.12.4" = "mistralai==1.12.4"

[tool.braintrust.matrix.huggingface-hub]
# Floor pinned to 0.32.0: the earliest release that exposes the
# ``provider="auto"`` routing mode the integration relies on for multi-
# provider use, while still keeping the same chat_completion /
# text_generation / feature_extraction / sentence_similarity method names.
latest = "huggingface-hub==1.27.0"
latest = "huggingface-hub==1.28.0"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Re-record the Hugging Face latest cassettes

After the broader cassette refresh, test_huggingface_hub(latest) now installs 1.28.0 but its cassettes/latest directory remains unchanged; the recorded request headers still identify hf_hub/1.15.0. Consequently, playback either fails if 1.28.0 changes a matched request or continues exercising old provider exchanges rather than validating this minor-version bump. This is fresh evidence beyond the earlier broad comment because the other affected latest directories were refreshed while this mapped provider directory was omitted; re-record it and rerun test_huggingface_hub(latest) in playback mode.

AGENTS.md reference: AGENTS.md:L134-L141

Useful? React with 👍 / 👎.

"0.32.0" = "huggingface-hub==0.32.0"

[tool.braintrust.matrix.transformers]
latest = "transformers==5.15.0"
latest = "transformers==5.15.1"
"4.42.0" = "transformers==4.42.0"

[tool.braintrust.matrix.temporalio]
Expand All @@ -515,7 +515,7 @@ latest = "temporalio==1.31.0"
"1.19.0" = "temporalio==1.19.0"

[tool.braintrust.matrix.harbor]
latest = "harbor==0.21.0"
latest = "harbor==0.22.0"
# 0.16.0 is the oldest supported release: it is the first with
# TrialEvent.AGENT_END, which the lifecycle state machine subscribes to. Harbor
# gained its plugin system in 0.13.2, so 0.13.2-0.15.0 can load the plugin but
Expand All @@ -532,11 +532,11 @@ latest = "pytest==9.1.1"
latest = "braintrust-core==0.0.59"

[tool.braintrust.matrix.boto3]
latest = "boto3==1.43.72"
latest = "boto3==1.43.78"
"1.34.116" = "boto3==1.34.116"

[tool.braintrust.matrix.botocore]
latest = "botocore==1.43.72"
latest = "botocore==1.43.78"
"1.34.116" = "botocore==1.34.116"

# ---------------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion py/src/braintrust/auto.py
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ def auto_instrument(
# Anthropic
import anthropic
client = anthropic.Anthropic()
client.messages.create(model="claude-sonnet-4-20250514", messages=[...])
client.messages.create(model="claude-haiku-4-5-20251001", messages=[...])

# LiteLLM
import litellm
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ interactions:
accept:
- application/json
accept-encoding:
- gzip, deflate
- gzip, deflate, zstd
anthropic-version:
- '2023-06-01'
connection:
Expand All @@ -19,7 +19,7 @@ interactions:
host:
- api.anthropic.com
user-agent:
- AsyncAnthropic/Python 0.122.0
- AsyncAnthropic/Python 1.0.0
x-stainless-arch:
- arm64
x-stainless-async:
Expand All @@ -29,7 +29,7 @@ interactions:
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.122.0
- 1.0.0
x-stainless-read-timeout:
- '600'
x-stainless-retry-count:
Expand All @@ -44,7 +44,7 @@ interactions:
uri: https://api.anthropic.com/v1/messages/batches
response:
body:
string: '{"id":"msgbatch_01MmxPjRfygfmpp1eb2igHmB","type":"message_batch","processing_status":"in_progress","request_counts":{"processing":2,"succeeded":0,"errored":0,"canceled":0,"expired":0},"ended_at":null,"created_at":"2026-08-17T16:31:43.019440+00:00","expires_at":"2026-08-18T16:31:43.019440+00:00","archived_at":null,"cancel_initiated_at":null,"results_url":null}'
string: '{"id":"msgbatch_01Cm7rPxKA3fYWFwA9YSa4uU","type":"message_batch","processing_status":"in_progress","request_counts":{"processing":2,"succeeded":0,"errored":0,"canceled":0,"expired":0},"ended_at":null,"created_at":"2026-08-26T15:12:22.161417+00:00","expires_at":"2026-08-27T15:12:22.161417+00:00","archived_at":null,"cancel_initiated_at":null,"results_url":null}'
headers:
anthropic-organization-id:
- 27796668-7351-40ac-acc4-024aee8995a5
Expand All @@ -53,7 +53,7 @@ interactions:
cf-cache-status:
- DYNAMIC
cf-ray:
- a2ca121488fade04-YYZ
- a313c6386a1aa202-YYZ
connection:
- keep-alive
content-length:
Expand All @@ -63,13 +63,13 @@ interactions:
content-type:
- application/json
date:
- Mon, 17 Aug 2026 16:31:43 GMT
- Wed, 26 Aug 2026 15:12:22 GMT
request-id:
- req_011Ce8e78UcFEPmTFMiPchRg
- req_011CeRaLRLqViKoyhVUwitxB
server:
- cloudflare
server-timing:
- x-originResponse;dur=210
- x-originResponse;dur=333
strict-transport-security:
- max-age=31536000; includeSubDomains; preload
transfer-encoding:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ interactions:
accept:
- application/json
accept-encoding:
- gzip, deflate
- gzip, deflate, zstd
anthropic-version:
- '2023-06-01'
connection:
Expand All @@ -17,7 +17,7 @@ interactions:
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.122.0
- Anthropic/Python 1.0.0
x-stainless-arch:
- arm64
x-stainless-async:
Expand All @@ -27,7 +27,7 @@ interactions:
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.122.0
- 1.0.0
x-stainless-read-timeout:
- '600'
x-stainless-retry-count:
Expand All @@ -43,7 +43,7 @@ interactions:
response:
body:
string: '{"type":"error","error":{"type":"invalid_request_error","message":"requests:
List should have at least 1 item after validation, not 0"},"request_id":"req_011Ce8e7A1tGRT4eypWBVUZE"}'
List should have at least 1 item after validation, not 0"},"request_id":"req_011CeRaLTFgNbaC8bjtquCaw"}'
headers:
anthropic-organization-id:
- 27796668-7351-40ac-acc4-024aee8995a5
Expand All @@ -52,21 +52,21 @@ interactions:
cf-cache-status:
- DYNAMIC
cf-ray:
- a2ca1216a906ac96-YYZ
- a313c63b5acd7db1-YYZ
connection:
- keep-alive
content-security-policy:
- default-src 'none'; frame-ancestors 'none'
content-type:
- application/json
date:
- Mon, 17 Aug 2026 16:31:43 GMT
- Wed, 26 Aug 2026 15:12:22 GMT
request-id:
- req_011Ce8e7A1tGRT4eypWBVUZE
- req_011CeRaLTFgNbaC8bjtquCaw
server:
- cloudflare
server-timing:
- x-originResponse;dur=85
- x-originResponse;dur=68
strict-transport-security:
- max-age=31536000; includeSubDomains; preload
transfer-encoding:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ interactions:
accept:
- application/json
accept-encoding:
- gzip, deflate
- gzip, deflate, zstd
anthropic-version:
- '2023-06-01'
connection:
Expand All @@ -17,7 +17,7 @@ interactions:
host:
- api.anthropic.com
user-agent:
- Anthropic/Python 0.122.0
- Anthropic/Python 1.0.0
x-stainless-arch:
- arm64
x-stainless-async:
Expand All @@ -27,7 +27,7 @@ interactions:
x-stainless-os:
- MacOS
x-stainless-package-version:
- 0.122.0
- 1.0.0
x-stainless-read-timeout:
- '600'
x-stainless-retry-count:
Expand All @@ -42,7 +42,7 @@ interactions:
uri: https://api.anthropic.com/v1/messages/batches
response:
body:
string: '{"id":"msgbatch_01NwSsC7pbQDjrCVrA9niiZQ","type":"message_batch","processing_status":"in_progress","request_counts":{"processing":2,"succeeded":0,"errored":0,"canceled":0,"expired":0},"ended_at":null,"created_at":"2026-08-17T16:31:43.629531+00:00","expires_at":"2026-08-18T16:31:43.629531+00:00","archived_at":null,"cancel_initiated_at":null,"results_url":null}'
string: '{"id":"msgbatch_01BFJU7KXi8e2dpAoqMBMk55","type":"message_batch","processing_status":"in_progress","request_counts":{"processing":2,"succeeded":0,"errored":0,"canceled":0,"expired":0},"ended_at":null,"created_at":"2026-08-26T15:12:23.105955+00:00","expires_at":"2026-08-27T15:12:23.105955+00:00","archived_at":null,"cancel_initiated_at":null,"results_url":null}'
headers:
anthropic-organization-id:
- 27796668-7351-40ac-acc4-024aee8995a5
Expand All @@ -51,7 +51,7 @@ interactions:
cf-cache-status:
- DYNAMIC
cf-ray:
- a2ca12183e0fdc46-YYZ
- a313c63d5aaa375a-YYZ
connection:
- keep-alive
content-length:
Expand All @@ -61,13 +61,13 @@ interactions:
content-type:
- application/json
date:
- Mon, 17 Aug 2026 16:31:43 GMT
- Wed, 26 Aug 2026 15:12:23 GMT
request-id:
- req_011Ce8e7B2uQMaomqJWiBKd6
- req_011CeRaLUcY92U98qntuSzqC
server:
- cloudflare
server-timing:
- x-originResponse;dur=218
- x-originResponse;dur=522
strict-transport-security:
- max-age=31536000; includeSubDomains; preload
transfer-encoding:
Expand Down
Loading