Skip to content

Commit 79cf430

Browse files
Merge branch 'master' into webb/asgi/double-mount-prefix
2 parents e7c7fab + 883e585 commit 79cf430

31 files changed

Lines changed: 5333 additions & 3853 deletions

CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,27 @@
11
# Changelog
22

3+
## 2.63.0
4+
5+
### Bug Fixes 🐛
6+
7+
#### Fastapi
8+
9+
- Prevent double wrapping of sync handlers on FastAPI >= 0.137 by @jhonny-on in [#6569](https://github.com/getsentry/sentry-python/pull/6569)
10+
- Use effective_route_context path for prefixed routers by @ericapisani in [#6572](https://github.com/getsentry/sentry-python/pull/6572)
11+
12+
#### Other
13+
14+
- (asgi) Gate query string and client IP behind send_default_pii by @ericapisani in [#6501](https://github.com/getsentry/sentry-python/pull/6501)
15+
- (serializer) Avoid creating reference cycles on every call by @Malkiz223 in [#6563](https://github.com/getsentry/sentry-python/pull/6563)
16+
- (user) Set `user.ip_address` on telemetry if present by @sentrivana in [#6555](https://github.com/getsentry/sentry-python/pull/6555)
17+
- Remove 0000 trace_id fallbacks by @sl0thentr0py in [#6570](https://github.com/getsentry/sentry-python/pull/6570)
18+
- MANIFEST.in: Graft tests directory. by @charlesroelli in [#6237](https://github.com/getsentry/sentry-python/pull/6237)
19+
20+
### Internal Changes 🔧
21+
22+
- (fastapi) Verify request info capture with POST endpoints by @alexander-alderman-webb in [#6287](https://github.com/getsentry/sentry-python/pull/6287)
23+
- (starlette) Verify request info capture with POST endpoints by @alexander-alderman-webb in [#6269](https://github.com/getsentry/sentry-python/pull/6269)
24+
325
## 2.62.0
426

527
### New Features ✨

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ lldb -- ../../uwsgi/uwsgi --pythonpath "$PWD/.venv/lib/python3.14/site-packages"
198198

199199
### Troubleshooting "module not found" error in relation to the `sentry-sdk` when it's installed in editable mode
200200

201-
If you are trying to debug a Django applicaton such as that described above, and have the Sentry SDK installed in editable mode in the Django project, you will likely encounter this error because the editable package is not being found in the uWSGI's python path. To fix this, the above command needs to be updated to include a `--pythonpath` argument that passes in where your local `sentry-python` codebase is:
201+
If you are trying to debug a Django application such as that described above, and have the Sentry SDK installed in editable mode in the Django project, you will likely encounter this error because the editable package is not being found in the uWSGI's python path. To fix this, the above command needs to be updated to include a `--pythonpath` argument that passes in where your local `sentry-python` codebase is:
202202

203203
```bash
204204
lldb -- ../../uwsgi/uwsgi --pythonpath "$PWD/.venv/lib/python3.14/site-packages" \

docs/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
copyright = "2019-{}, Sentry Team and Contributors".format(datetime.now().year)
3232
author = "Sentry Team and Contributors"
3333

34-
release = "2.62.0"
34+
release = "2.63.0"
3535
version = ".".join(release.split(".")[:2]) # The short X.Y version.
3636

3737

scripts/populate_tox/package_dependencies.jsonl

Lines changed: 88 additions & 98 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

scripts/populate_tox/releases.jsonl

Lines changed: 24 additions & 24 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

scripts/test-lambda-locally/uv.lock

Lines changed: 373 additions & 236 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sentry_sdk/_log_batcher.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,19 @@ def _to_transport_format(item: "Log") -> "Any":
2727

2828
res = {
2929
"timestamp": int(item["time_unix_nano"]) / 1.0e9,
30-
"trace_id": item.get("trace_id", "00000000-0000-0000-0000-000000000000"),
31-
"span_id": item.get("span_id"),
3230
"level": str(item["severity_text"]),
3331
"body": str(item["body"]),
3432
"attributes": {
3533
k: serialize_attribute(v) for (k, v) in item["attributes"].items()
3634
},
3735
}
3836

37+
if item.get("trace_id") is not None:
38+
res["trace_id"] = item["trace_id"]
39+
40+
if item.get("span_id") is not None:
41+
res["span_id"] = item["span_id"]
42+
3943
return res
4044

4145
def _record_lost(self, item: "Log") -> None:

sentry_sdk/_metrics_batcher.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ class MetricsBatcher(Batcher["Metric"]):
2121
def _to_transport_format(item: "Metric") -> "Any":
2222
res = {
2323
"timestamp": item["timestamp"],
24-
"trace_id": item["trace_id"],
2524
"name": item["name"],
2625
"type": item["type"],
2726
"value": item["value"],
@@ -30,6 +29,9 @@ def _to_transport_format(item: "Metric") -> "Any":
3029
},
3130
}
3231

32+
if item.get("trace_id") is not None:
33+
res["trace_id"] = item["trace_id"]
34+
3335
if item.get("span_id") is not None:
3436
res["span_id"] = item["span_id"]
3537

sentry_sdk/client.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
import json
22
import os
3+
import platform
34
import random
45
import socket
6+
import sys
57
import uuid
68
import warnings
79
from collections.abc import Iterable, Mapping
@@ -241,6 +243,11 @@ def _serialized_v1_span_to_serialized_v2_span(
241243
if "version" in sdk_info:
242244
attributes["sentry.sdk.version"] = sdk_info["version"]
243245

246+
attributes["process.runtime.name"] = platform.python_implementation()
247+
attributes["process.runtime.version"] = (
248+
f"{sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}"
249+
)
250+
244251
if not attributes:
245252
return res
246253

sentry_sdk/consts.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1765,4 +1765,4 @@ def _get_default_options() -> "dict[str, Any]":
17651765
del _get_default_options
17661766

17671767

1768-
VERSION = "2.62.0"
1768+
VERSION = "2.63.0"

0 commit comments

Comments
 (0)