From ff77b22e597ab2468be1898cea68563c317794b5 Mon Sep 17 00:00:00 2001 From: getsentry-bot <10587625+getsentry-bot@users.noreply.github.com> Date: Thu, 12 Nov 2026 12:29:41 +0000 Subject: [PATCH 1/3] ref: bump sentry-relay to 0.10.2 Co-Authored-By: tobias-wilfert <36408720+tobias-wilfert@users.noreply.github.com> --- pyproject.toml | 2 +- uv.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 83340f1d1971..720636833746 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -105,7 +105,7 @@ dependencies = [ "sentry-protos>=0.117.0", "sentry-redis-tools>=0.5.0", "sentry-viewercontext>=0.2.0", - "sentry-relay>=0.10.1", + "sentry-relay>=0.10.2", "sentry-scm>=4.0.0", "sentry-sdk[http2]==3.0.0b4", "sentry-usage-accountant>=0.0.10", diff --git a/uv.lock b/uv.lock index ab99837577ff..014305cacdf2 100644 --- a/uv.lock +++ b/uv.lock @@ -2431,7 +2431,7 @@ requires-dist = [ { name = "sentry-options", specifier = ">=1.2.15" }, { name = "sentry-protos", specifier = ">=0.117.0" }, { name = "sentry-redis-tools", specifier = ">=0.5.0" }, - { name = "sentry-relay", specifier = ">=0.10.1" }, + { name = "sentry-relay", specifier = ">=0.10.2" }, { name = "sentry-scm", specifier = ">=4.0.0" }, { name = "sentry-sdk", extras = ["http2"], specifier = "==3.0.0b4" }, { name = "sentry-usage-accountant", specifier = ">=0.0.10" }, @@ -2634,15 +2634,15 @@ wheels = [ [[package]] name = "sentry-relay" -version = "0.10.1" +version = "0.10.2" source = { registry = "https://pypi.devinfra.sentry.io/simple" } dependencies = [ { name = "milksnake" }, ] wheels = [ - { url = "https://pypi.devinfra.sentry.io/wheels/sentry_relay-0.10.1-py2.py3-none-macosx_14_0_arm64.whl", hash = "sha256:d4505bb062d03a2a10c1ae0388883795635fe6a67d71557dd49bf5b863db0694" }, - { url = "https://pypi.devinfra.sentry.io/wheels/sentry_relay-0.10.1-py2.py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:510408ae20af9648f104855fe3435396655899e23a52454cfc18dfd08f882fc9" }, - { url = "https://pypi.devinfra.sentry.io/wheels/sentry_relay-0.10.1-py2.py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:3325ef78796553ddb921c9f392d8c5b2b48a0698e95dc2b0ef55d767c66f7160" }, + { url = "https://pypi.devinfra.sentry.io/wheels/sentry_relay-0.10.2-py2.py3-none-macosx_14_0_arm64.whl", hash = "sha256:a5ee2e0e32a711b1bc308d40c9b227d603ff10d619ac8c6196367a17c57a6bd7" }, + { url = "https://pypi.devinfra.sentry.io/wheels/sentry_relay-0.10.2-py2.py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:002679c89ce15c5fac03c9e056b4f19c3185233575ce20cc0de3913f00fa3782" }, + { url = "https://pypi.devinfra.sentry.io/wheels/sentry_relay-0.10.2-py2.py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:3cc5f42495e714c34a5495d49f57006f62ea82c25ac4c0264fd4b8702826be29" }, ] [[package]] From 536023f32a4dd439bc1e5ff3cde29955b6cd1568 Mon Sep 17 00:00:00 2001 From: Tobias Wilfert <36408720+tobias-wilfert@users.noreply.github.com> Date: Thu, 12 Nov 2026 14:14:45 +0100 Subject: [PATCH 2/3] remove `sentry_user` --- src/sentry/receivers/features.py | 2 +- src/sentry/snuba/metrics/extraction.py | 3 --- tests/sentry/event_manager/test_normalization.py | 2 +- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/sentry/receivers/features.py b/src/sentry/receivers/features.py index 3a1630b56243..e66ef1c5fb95 100644 --- a/src/sentry/receivers/features.py +++ b/src/sentry/receivers/features.py @@ -196,7 +196,7 @@ def record_generic_event_processed( # Check to make sure more the ip address is being sent. # testing for this in test_no_user_tracking_for_ip_address_only # list(d.keys()) pattern is to make this python3 safe - if user_keys and len(set(user_keys) - {"ip_address", "sentry_user"}) > 0: + if user_keys and len(set(user_keys) - {"ip_address"}) > 0: feature_slugs.append("user_tracking") # Custom Tags diff --git a/src/sentry/snuba/metrics/extraction.py b/src/sentry/snuba/metrics/extraction.py index d204deb148f5..3c38bc3c648d 100644 --- a/src/sentry/snuba/metrics/extraction.py +++ b/src/sentry/snuba/metrics/extraction.py @@ -113,9 +113,6 @@ def get_default_spec_version(cls: type[OnDemandMetricSpecVersioning]) -> SpecVer "level": "level", "logger": "logger", # Top-level structures ("interfaces") - # sentry_user is a special field added for on-demand metrics - # https://github.com/getsentry/relay/pull/3122 - "user": "sentry_user", "user.email": "user.email", "user.id": "user.id", "user.ip": "user.ip_address", diff --git a/tests/sentry/event_manager/test_normalization.py b/tests/sentry/event_manager/test_normalization.py index 29f593d1cf28..f4d24c446125 100644 --- a/tests/sentry/event_manager/test_normalization.py +++ b/tests/sentry/event_manager/test_normalization.py @@ -43,7 +43,7 @@ def test_interface_is_relabeled() -> None: manager.normalize() data = manager.get_data() - assert data["user"] == {"id": "1", "sentry_user": "id:1"} + assert data["user"] == {"id": "1"} @pytest.mark.parametrize("user", ["missing", None, {}, {"ip_address": None}]) From 299deaf0e7a7cae5399854147d4f929eeecee429 Mon Sep 17 00:00:00 2001 From: Tobias Wilfert <36408720+tobias-wilfert@users.noreply.github.com> Date: Thu, 12 Nov 2026 14:47:15 +0100 Subject: [PATCH 3/3] re-add `sentry_user` mapping --- src/sentry/snuba/metrics/extraction.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/sentry/snuba/metrics/extraction.py b/src/sentry/snuba/metrics/extraction.py index 3c38bc3c648d..7ee6ad85103a 100644 --- a/src/sentry/snuba/metrics/extraction.py +++ b/src/sentry/snuba/metrics/extraction.py @@ -113,6 +113,11 @@ def get_default_spec_version(cls: type[OnDemandMetricSpecVersioning]) -> SpecVer "level": "level", "logger": "logger", # Top-level structures ("interfaces") + # sentry_user is a special field added for on-demand metrics + # https://github.com/getsentry/relay/pull/3122 + # No longer emitted by Relay but kept here see: + # https://github.com/getsentry/sentry/pull/130901 + "user": "sentry_user", "user.email": "user.email", "user.id": "user.id", "user.ip": "user.ip_address",