Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion src/sentry/conf/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -2696,7 +2696,9 @@ def custom_parameter_sort(parameter: dict) -> tuple[str, int]:
# Similarity-v1: uses hardcoded set of event properties for diffing
SENTRY_SIMILARITY_INDEX_REDIS_CLUSTER = "default"

DEFAULT_GROUPING_CONFIG = "newstyle:2023-01-11"
WINTER_2023_GROUPING_CONFIG = "newstyle:2023-01-11"
FALL_2025_GROUPING_CONFIG = "newstyle:2025-11-21"
DEFAULT_GROUPING_CONFIG = WINTER_2023_GROUPING_CONFIG
BETA_GROUPING_CONFIG = ""

# How long the migration phase for grouping lasts
Expand Down
6 changes: 3 additions & 3 deletions src/sentry/grouping/strategies/configurations.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from sentry.conf.server import FALL_2025_GROUPING_CONFIG, WINTER_2023_GROUPING_CONFIG
from sentry.grouping.strategies.base import (
StrategyConfiguration,
create_strategy_configuration_class,
Expand Down Expand Up @@ -52,7 +53,7 @@ def register_grouping_config(id: str, **kwargs) -> type[StrategyConfiguration]:

# This is the current default config
register_grouping_config(
id="newstyle:2023-01-11",
id=WINTER_2023_GROUPING_CONFIG,
# There's no `base` argument here because this config is based on `BASE_STRATEGY`. To base a
# config on a previous config, include its `id` value as the value for `base` here.
initial_context={
Expand All @@ -63,10 +64,9 @@ def register_grouping_config(id: str, **kwargs) -> type[StrategyConfiguration]:
fingerprinting_bases=["javascript@2024-02-02"],
)

FALL_2025_GROUPING_CONFIG = "newstyle:2025-11-21"
register_grouping_config(
id=FALL_2025_GROUPING_CONFIG,
base="newstyle:2023-01-11",
base=WINTER_2023_GROUPING_CONFIG,
initial_context={
"use_legacy_exception_subcomponent_order": False,
},
Expand Down
5 changes: 2 additions & 3 deletions tests/sentry/grouping/test_components.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

import pytest

from sentry.conf.server import DEFAULT_GROUPING_CONFIG
from sentry.conf.server import FALL_2025_GROUPING_CONFIG, WINTER_2023_GROUPING_CONFIG
from sentry.grouping.component import (
BaseGroupingComponent,
ChainedExceptionGroupingComponent,
Expand All @@ -13,7 +13,6 @@
StacktraceGroupingComponent,
ThreadsGroupingComponent,
)
from sentry.grouping.strategies.configurations import FALL_2025_GROUPING_CONFIG
from sentry.services.eventstore.models import Event
from sentry.testutils.cases import TestCase

Expand Down Expand Up @@ -387,7 +386,7 @@ def test_get_subcomponent(self) -> None:
def test_configs_put_exception_subcomponents_in_expected_order(self) -> None:
self.event.data["exception"]["values"][0]["stacktrace"] = {"frames": []}

self.project.update_option("sentry:grouping_config", DEFAULT_GROUPING_CONFIG)
self.project.update_option("sentry:grouping_config", WINTER_2023_GROUPING_CONFIG)
variants = self.event.get_grouping_variants()
exception_component = variants["app"].root_component.values[0]
assert isinstance(exception_component, ExceptionGroupingComponent)
Expand Down
Loading