2.69.0
New Features ✨
Other
- (aiohttp) Add
http.routeattribute by @alexander-alderman-webb in #7341 - (bottle) Add
http.routeattribute by @alexander-alderman-webb in #7343 - (clickhouse_driver) Set breadcrumbs in the streaming trace lifecycle by @alexander-alderman-webb in #7325
- (docs) Add Plausible analytics to Sphinx docs by @ericapisani in #7319
- (falcon) Add
http.routeattribute by @alexander-alderman-webb in #7340 - (fastapi) Add
http.routeattribute by @alexander-alderman-webb in #7322 - (flask) Add
http.routeattribute by @alexander-alderman-webb in #7344 - (pyramid) Add
http.routeattribute by @alexander-alderman-webb in #7347 - (quart) Add
http.routeattribute by @alexander-alderman-webb in #7348 - (sqlalchemy) Add more db system names for span data by @ericapisani in #7329
- (starlette) Add
http.routeattribute by @alexander-alderman-webb in #7338 - (types) Export SpanJSON type by @ericapisani in #7331
- Add Python 3.15 to test matrix by @sentrivana in #7326
Bug Fixes 🐛
Mcp
- Handle
Nonearguments in tool and prompt handlers by @alexander-alderman-webb in #7387 - Don't report stateless StreamableHTTP servers as stdio by @Snaylaker in #7224
Openai
- Read
input_textparts for the Responses API by @alexander-alderman-webb in #7333 - Check
Response.outputis alistbefore iterating by @alexander-alderman-webb in #7238
Starlette
- Use
urltransaction source for host routing by @mjq in #7266 - Set transaction name on current scope in sync handler by @mjq in #7201
Other
- (batcher) Do not let a failed flush kill the flusher thread (#7138) by @zkasuran in #7186
- (boto3) Fix botocore SigV4 failures caused by post-sign trace propagation by @pabloDeputter in #7050
- (httpx,httpx2) Always capture breadcrumb by @sentrivana in #7351
- (mcp,langchain) Add mechanism to captured exceptions by @gmassello in #7226
- (openai-agents) Use
isinstanceto determine tool type by @alexander-alderman-webb in #7412 - (quart) Skip quart-flask-patch and adjust error test for quart>=0.23 by @ericapisani in #7320
- Allow to correctly compare parsed versions by @sentrivana in #7184
Internal Changes 🔧
Openai Agents
- Capture spans instead of reading from span recorder by @alexander-alderman-webb in #7404
- Pin
openaiversion when incompatible by @alexander-alderman-webb in #7236
Pydantic Ai
- Replace individual hooks with
hooks.on.model_requestby @alexander-alderman-webb in #7327 - Fix instructions test for pydantic-ai >=2.36.0 by @ericapisani in #7321
Other
- (aiohttp) Remove dead segment name code by @mjq in #7284
- (anthropic) Include
StreamedSpanin type annotations by @alexander-alderman-webb in #7373 - (mcp) Inline
_extract_handler_data_from_args()by @alexander-alderman-webb in #7386 - (quart) Fix flake caused by flushing spans on segment end by @alexander-alderman-webb in #7240
- (stdlib) Remove urllib3 workaround by @pabloDeputter in #7283
- Add
openai-agentsto uv typing group by @alexander-alderman-webb in #7415 - Add
aiohttpto uv typing group by @alexander-alderman-webb in #7395 - Isolate
httpxtest suite fromhttpx2by @ZaafirRizwan in #7398 - Remove
test_langchain_embeddings_error_handling()by @alexander-alderman-webb in #7389 - Add
tiktokento uv typing group by @alexander-alderman-webb in #7394 - Reference renamed coverage action by @MathurAditya724 in #7371
- Remove flaky detector by @sl0thentr0py in #7363
- Add
openaito uv typing group by @alexander-alderman-webb in #7334 - 🤖 Update test matrix with new releases (08/31) by @github-actions in #7303
- Add
anthropicto uv typing group by @alexander-alderman-webb in #7324 - Add
google-genaito uv typing group by @alexander-alderman-webb in #7323 - Use tagged versions for
getsentry/codecov-actionby @alexander-alderman-webb in #7241 - Update test matrix with new releases (08/24) by @alexander-alderman-webb in #7228
- Add
httpxdependency to tests relying onget_model_response()by @alexander-alderman-webb in #7235 - Access the 'type' in an event using
.getby @ericapisani in #7239