|
1 | 1 | # Changelog |
2 | 2 |
|
| 3 | +## 2.61.0 |
| 4 | + |
| 5 | +### New Features ✨ |
| 6 | + |
| 7 | +- (anthropic) Support span streaming by @alexander-alderman-webb in [#6311](https://github.com/getsentry/sentry-python/pull/6311) |
| 8 | +- (django) Support span streaming by @alexander-alderman-webb in [#6248](https://github.com/getsentry/sentry-python/pull/6248) |
| 9 | +- (dramatiq) Support span streaming by @sl0thentr0py in [#6273](https://github.com/getsentry/sentry-python/pull/6273) |
| 10 | +- (huey) Migrate Huey integration to spans-first tracing by @ericapisani in [#6399](https://github.com/getsentry/sentry-python/pull/6399) |
| 11 | +- (langchain) Support span streaming by @alexander-alderman-webb in [#6405](https://github.com/getsentry/sentry-python/pull/6405) |
| 12 | +- (langgraph) Support span streaming by @alexander-alderman-webb in [#6406](https://github.com/getsentry/sentry-python/pull/6406) |
| 13 | +- (socket) Support span streaming by @sl0thentr0py in [#6296](https://github.com/getsentry/sentry-python/pull/6296) |
| 14 | +- (starlite) Support span streaming by @sl0thentr0py in [#6294](https://github.com/getsentry/sentry-python/pull/6294) |
| 15 | +- (strawberry) Support span streaming by @ericapisani in [#6308](https://github.com/getsentry/sentry-python/pull/6308) |
| 16 | +- (tornado) Support span streaming by @sl0thentr0py in [#6206](https://github.com/getsentry/sentry-python/pull/6206) |
| 17 | +- Add `server.address` to transformed spans when `stream_gen_ai_spans=True` by @alexander-alderman-webb in [#6307](https://github.com/getsentry/sentry-python/pull/6307) |
| 18 | +- Allow integrations to define control flow exceptions by @sentrivana in [#6425](https://github.com/getsentry/sentry-python/pull/6425) |
| 19 | +- Disable string truncation for events by default by @alexander-alderman-webb in [#6290](https://github.com/getsentry/sentry-python/pull/6290) |
| 20 | + |
| 21 | +### Bug Fixes 🐛 |
| 22 | + |
| 23 | +#### Langchain |
| 24 | + |
| 25 | +- Stop setting transaction status when child span fails by @alexander-alderman-webb in [#6301](https://github.com/getsentry/sentry-python/pull/6301) |
| 26 | +- Catch `TypeError` on `langchain.agents` import by @alexander-alderman-webb in [#6268](https://github.com/getsentry/sentry-python/pull/6268) |
| 27 | + |
| 28 | +#### Openai Agents |
| 29 | + |
| 30 | +- Handle starting_agent keyword argument in runner patches by @ericapisani in [#6428](https://github.com/getsentry/sentry-python/pull/6428) |
| 31 | +- Remove hosted MCP tool spans by @alexander-alderman-webb in [#6391](https://github.com/getsentry/sentry-python/pull/6391) |
| 32 | +- Use `name`, not `description` in `start_span` by @sentrivana in [#6323](https://github.com/getsentry/sentry-python/pull/6323) |
| 33 | +- Stop setting transaction status when child span fails by @alexander-alderman-webb in [#6303](https://github.com/getsentry/sentry-python/pull/6303) |
| 34 | + |
| 35 | +#### Pydantic Ai |
| 36 | + |
| 37 | +- Stop setting tokens on Invoke Agent spans by @alexander-alderman-webb in [#6320](https://github.com/getsentry/sentry-python/pull/6320) |
| 38 | +- Stop setting transaction status when child span fails by @alexander-alderman-webb in [#6302](https://github.com/getsentry/sentry-python/pull/6302) |
| 39 | +- Remove `Agent.run_stream_events()` patch by @alexander-alderman-webb in [#6281](https://github.com/getsentry/sentry-python/pull/6281) |
| 40 | + |
| 41 | +#### Strawberry |
| 42 | + |
| 43 | +- Wrap yields in try-except to ensure span cleanup by @ericapisani in [#6381](https://github.com/getsentry/sentry-python/pull/6381) |
| 44 | +- Fix `AttributeError` on `graphql_span` in `resolve` by @sentrivana in [#6289](https://github.com/getsentry/sentry-python/pull/6289) |
| 45 | + |
| 46 | +#### Other |
| 47 | + |
| 48 | +- (anthropic) Do not set `gen_ai.response.model` to `None` by @alexander-alderman-webb in [#6312](https://github.com/getsentry/sentry-python/pull/6312) |
| 49 | +- (asyncpg) Use Sentry span attribute name conventions by @ericapisani in [#6306](https://github.com/getsentry/sentry-python/pull/6306) |
| 50 | +- (boto3) Guard setting method by @sentrivana in [#6288](https://github.com/getsentry/sentry-python/pull/6288) |
| 51 | +- (cohere) Stop setting transaction status when child span fails by @alexander-alderman-webb in [#6300](https://github.com/getsentry/sentry-python/pull/6300) |
| 52 | +- (google-genai) Guard against `None` response ID and response model by @alexander-alderman-webb in [#6314](https://github.com/getsentry/sentry-python/pull/6314) |
| 53 | +- (huey) Fix group and chord handling in enqueue by @ericapisani in [#6392](https://github.com/getsentry/sentry-python/pull/6392) |
| 54 | +- (integrations) Auto-wrap root gen_ai spans for openai, cohere, langgraph, huggingface_hub by @constantinius in [#6285](https://github.com/getsentry/sentry-python/pull/6285) |
| 55 | +- (serializer) Don't call `__iter__` on arbitrary sequences by @sentrivana in [#6304](https://github.com/getsentry/sentry-python/pull/6304) |
| 56 | +- #6267 - memory leak in SentrySpanProcessor by @volodkindv in [#6271](https://github.com/getsentry/sentry-python/pull/6271) |
| 57 | + |
| 58 | +### Documentation 📚 |
| 59 | + |
| 60 | +- (celery) Remove duplicated "is" in `beat.py` docstring by @quyentonndbs in [#6266](https://github.com/getsentry/sentry-python/pull/6266) |
| 61 | + |
| 62 | +### Internal Changes 🔧 |
| 63 | + |
| 64 | +#### Langchain |
| 65 | + |
| 66 | +- Deduplicate by removing `node.callspec.id` matching by @alexander-alderman-webb in [#6426](https://github.com/getsentry/sentry-python/pull/6426) |
| 67 | +- Remove `WatchedSpan` class by @alexander-alderman-webb in [#6407](https://github.com/getsentry/sentry-python/pull/6407) |
| 68 | + |
| 69 | +#### Openai Agents |
| 70 | + |
| 71 | +- Deduplicate by removing `node.callspec.id` matching by @alexander-alderman-webb in [#6424](https://github.com/getsentry/sentry-python/pull/6424) |
| 72 | +- Fix asyncio loop missing for sync tests by @sl0thentr0py in [#6412](https://github.com/getsentry/sentry-python/pull/6412) |
| 73 | + |
| 74 | +#### Pydantic Ai |
| 75 | + |
| 76 | +- Support `Agent.run_stream_events()` returning a context manager by @alexander-alderman-webb in [#6322](https://github.com/getsentry/sentry-python/pull/6322) |
| 77 | +- Remove test without assertions by @alexander-alderman-webb in [#6321](https://github.com/getsentry/sentry-python/pull/6321) |
| 78 | + |
| 79 | +#### Other |
| 80 | + |
| 81 | +- (flask) Add span streaming test coverage by @ericapisani in [#6264](https://github.com/getsentry/sentry-python/pull/6264) |
| 82 | +- (openai) Deduplicate by removing `node.callspec.id` matching by @alexander-alderman-webb in [#6427](https://github.com/getsentry/sentry-python/pull/6427) |
| 83 | +- (wsgi) Remove unused segment name setting by @sentrivana in [#6305](https://github.com/getsentry/sentry-python/pull/6305) |
| 84 | +- Ignore jsonl files in diffs with gitattributes by @sl0thentr0py in [#6419](https://github.com/getsentry/sentry-python/pull/6419) |
| 85 | +- 🤖 Update test matrix with new releases (05/25) by @github-actions in [#6398](https://github.com/getsentry/sentry-python/pull/6398) |
| 86 | +- Respect context manager lifecycles in `fake_record_sql_queries` by @alexander-alderman-webb in [#6295](https://github.com/getsentry/sentry-python/pull/6295) |
| 87 | +- 🤖 Update test matrix with new releases (05/18) by @github-actions in [#6279](https://github.com/getsentry/sentry-python/pull/6279) |
| 88 | +- Ignore import ordering commit in blame by @alexander-alderman-webb in [#6272](https://github.com/getsentry/sentry-python/pull/6272) |
| 89 | +- Enable Ruff import ordering by @alexander-alderman-webb in [#6270](https://github.com/getsentry/sentry-python/pull/6270) |
| 90 | + |
3 | 91 | ## 2.60.0 |
4 | 92 |
|
5 | 93 | Adds a new `stream_gen_ai_spans` option that controls how `gen_ai` spans are |
|
0 commit comments