|
1 | 1 | # Changelog |
2 | 2 |
|
| 3 | +## 2.61.0 |
| 4 | + |
| 5 | +### New Features ✨ |
| 6 | + |
| 7 | +- 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) |
| 8 | +- Allow integrations to define control flow exceptions by @sentrivana in [#6425](https://github.com/getsentry/sentry-python/pull/6425) |
| 9 | +- Disable string truncation for events by default by @alexander-alderman-webb in [#6290](https://github.com/getsentry/sentry-python/pull/6290) |
| 10 | + |
| 11 | + Following a previous significant increase of the string truncation limit, we've now completely removed the limit by default. |
| 12 | + In case you have large strings in your events, you should now be able to see them. |
| 13 | + |
| 14 | + In rare cases, if you have really long strings (or a lot of them), you might see envelopes being dropped because of their size. |
| 15 | + If that happens, you can set the `max_value_length` `init` option to the previous value of `100_000`: |
| 16 | + |
| 17 | + ```python |
| 18 | + sentry_sdk.init( |
| 19 | + ..., |
| 20 | + max_value_length=100_000, |
| 21 | + ) |
| 22 | + ``` |
| 23 | + |
| 24 | +### Bug Fixes 🐛 |
| 25 | + |
| 26 | +#### Langchain |
| 27 | + |
| 28 | +- Stop setting transaction status when child span fails by @alexander-alderman-webb in [#6301](https://github.com/getsentry/sentry-python/pull/6301) |
| 29 | +- Catch `TypeError` on `langchain.agents` import by @alexander-alderman-webb in [#6268](https://github.com/getsentry/sentry-python/pull/6268) |
| 30 | + |
| 31 | +#### Openai Agents |
| 32 | + |
| 33 | +- Handle `starting_agent` keyword argument in runner patches by @ericapisani in [#6428](https://github.com/getsentry/sentry-python/pull/6428) |
| 34 | +- Remove hosted MCP tool spans by @alexander-alderman-webb in [#6391](https://github.com/getsentry/sentry-python/pull/6391) |
| 35 | +- Use `name`, not `description` in `start_span` by @sentrivana in [#6323](https://github.com/getsentry/sentry-python/pull/6323) |
| 36 | +- Stop setting transaction status when child span fails by @alexander-alderman-webb in [#6303](https://github.com/getsentry/sentry-python/pull/6303) |
| 37 | + |
| 38 | +#### Pydantic AI |
| 39 | + |
| 40 | +- Stop setting tokens on Invoke Agent spans by @alexander-alderman-webb in [#6320](https://github.com/getsentry/sentry-python/pull/6320) |
| 41 | +- Stop setting transaction status when child span fails by @alexander-alderman-webb in [#6302](https://github.com/getsentry/sentry-python/pull/6302) |
| 42 | +- Remove `Agent.run_stream_events()` patch by @alexander-alderman-webb in [#6281](https://github.com/getsentry/sentry-python/pull/6281) |
| 43 | + |
| 44 | +#### Strawberry |
| 45 | + |
| 46 | +- Wrap yields in try-except to ensure span cleanup by @ericapisani in [#6381](https://github.com/getsentry/sentry-python/pull/6381) |
| 47 | +- Fix `AttributeError` on `graphql_span` in `resolve` by @sentrivana in [#6289](https://github.com/getsentry/sentry-python/pull/6289) |
| 48 | + |
| 49 | +#### Other |
| 50 | + |
| 51 | +- (anthropic) Do not set `gen_ai.response.model` to `None` by @alexander-alderman-webb in [#6312](https://github.com/getsentry/sentry-python/pull/6312) |
| 52 | +- (asyncpg) Use Sentry span attribute name conventions by @ericapisani in [#6306](https://github.com/getsentry/sentry-python/pull/6306) |
| 53 | +- (boto3) Guard setting method by @sentrivana in [#6288](https://github.com/getsentry/sentry-python/pull/6288) |
| 54 | +- (cohere) Stop setting transaction status when child span fails by @alexander-alderman-webb in [#6300](https://github.com/getsentry/sentry-python/pull/6300) |
| 55 | +- (google-genai) Guard against `None` response ID and response model by @alexander-alderman-webb in [#6314](https://github.com/getsentry/sentry-python/pull/6314) |
| 56 | +- (huey) Fix group and chord handling in enqueue by @ericapisani in [#6392](https://github.com/getsentry/sentry-python/pull/6392) |
| 57 | +- (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) |
| 58 | +- (serializer) Don't call `__iter__` on arbitrary sequences by @sentrivana in [#6304](https://github.com/getsentry/sentry-python/pull/6304) |
| 59 | + |
| 60 | + Previously, we'd attempt to serialize any `Sequence` by walking through it by calling its `__iter__` function. |
| 61 | + We've now changed the serializer to only serialize built-in sequences (like lists, tuples, and sets) to avoid |
| 62 | + triggering side-effects from custom `__iter__` implementations. |
| 63 | + |
| 64 | + This might mean some objects might be serialized differently. If you want to continue serializing a specific |
| 65 | + custom sequence class the old way, you can register it via `sentry_sdk.serializer.add_repr_sequence_type` (see |
| 66 | + [here](https://github.com/getsentry/sentry-python/blob/54f768680cad8a40ab97be4dddd16c12c9cba493/sentry_sdk/serializer.py#L60-L61)). |
| 67 | + |
| 68 | +- Memory leak in SentrySpanProcessor by @volodkindv in [#6271](https://github.com/getsentry/sentry-python/pull/6271) |
| 69 | + |
| 70 | +### Documentation 📚 |
| 71 | + |
| 72 | +- (celery) Remove duplicated "is" in `beat.py` docstring by @quyentonndbs in [#6266](https://github.com/getsentry/sentry-python/pull/6266) |
| 73 | + |
| 74 | +### Internal Changes 🔧 |
| 75 | + |
| 76 | +#### Langchain |
| 77 | + |
| 78 | +- Deduplicate by removing `node.callspec.id` matching by @alexander-alderman-webb in [#6426](https://github.com/getsentry/sentry-python/pull/6426) |
| 79 | +- Remove `WatchedSpan` class by @alexander-alderman-webb in [#6407](https://github.com/getsentry/sentry-python/pull/6407) |
| 80 | + |
| 81 | +#### Openai Agents |
| 82 | + |
| 83 | +- Deduplicate by removing `node.callspec.id` matching by @alexander-alderman-webb in [#6424](https://github.com/getsentry/sentry-python/pull/6424) |
| 84 | +- Fix asyncio loop missing for sync tests by @sl0thentr0py in [#6412](https://github.com/getsentry/sentry-python/pull/6412) |
| 85 | + |
| 86 | +#### Pydantic Ai |
| 87 | + |
| 88 | +- Support `Agent.run_stream_events()` returning a context manager by @alexander-alderman-webb in [#6322](https://github.com/getsentry/sentry-python/pull/6322) |
| 89 | +- Remove test without assertions by @alexander-alderman-webb in [#6321](https://github.com/getsentry/sentry-python/pull/6321) |
| 90 | + |
| 91 | +#### Other |
| 92 | + |
| 93 | +- (openai) Deduplicate by removing `node.callspec.id` matching by @alexander-alderman-webb in [#6427](https://github.com/getsentry/sentry-python/pull/6427) |
| 94 | +- Respect context manager lifecycles in `fake_record_sql_queries` by @alexander-alderman-webb in [#6295](https://github.com/getsentry/sentry-python/pull/6295) |
| 95 | + |
3 | 96 | ## 2.60.0 |
4 | 97 |
|
5 | 98 | Adds a new `stream_gen_ai_spans` option that controls how `gen_ai` spans are |
|
0 commit comments