26.9.0
------

### New Features ✨

#### Aci

- Move dedupe abstract function to stateful detector class by @RudraPatel2003 in [#123163](https://github.com/getsentry/sentry/pull/123163)
- Rename evaluate_impl to evaluate by @RudraPatel2003 in [#123022](https://github.com/getsentry/sentry/pull/123022)
- Rename evaluate to \_evaluate by @RudraPatel2003 in [#123017](https://github.com/getsentry/sentry/pull/123017)
- Rename DetectorHandler and BaseDetectorHandler by @RudraPatel2003 in [#122951](https://github.com/getsentry/sentry/pull/122951)

#### Action Log

- Fold comment mutations into the comment they supersede by @shashjar in [#124131](https://github.com/getsentry/sentry/pull/124131)
- Instrument the activity read path by @shashjar in [#123846](https://github.com/getsentry/sentry/pull/123846)
- Gate activity reads on backfill completion by @shashjar in [#123521](https://github.com/getsentry/sentry/pull/123521)
- Measure action log enqueue duration by @cvxluo in [#123593](https://github.com/getsentry/sentry/pull/123593)
- Add dedicated outbox producer rollout by @cvxluo in [#122120](https://github.com/getsentry/sentry/pull/122120)
- Route recovery through dedicated outbox by @cvxluo in [#121985](https://github.com/getsentry/sentry/pull/121985)

#### Admin

- Add invoice lookup by @sentry-junior in [#124130](https://github.com/getsentry/sentry/pull/124130)
- Add integration reset action by @sentry-junior in [#123638](https://github.com/getsentry/sentry/pull/123638)
- Show both 24h sample rates in the customer overview by @shellmayr in [#123553](https://github.com/getsentry/sentry/pull/123553)
- Query all regions in parallel on the customers page by @shellmayr in [#123421](https://github.com/getsentry/sentry/pull/123421)
- Require retention periods to be 30 day intervals by @bcoe in [#122996](https://github.com/getsentry/sentry/pull/122996)
- Show billing platform status on customer page by @armenzg in [#122635](https://github.com/getsentry/sentry/pull/122635)

#### Agents

- Show token usage breakdowns by @sentry-junior in [#124165](https://github.com/getsentry/sentry/pull/124165)
- Add agent-assisted setup to Explore onboarding by @obostjancic in [#124038](https://github.com/getsentry/sentry/pull/124038)
- Update onboarding Arcade by @sentry-junior in [#123566](https://github.com/getsentry/sentry/pull/123566)
- Add Cloudflare Agents SDK to agent onboarding by @ArthurKnaus in [#123687](https://github.com/getsentry/sentry/pull/123687)
- Add Flue to the agent tracing onboarding by @ArthurKnaus in [#123685](https://github.com/getsentry/sentry/pull/123685)
- Surface Eve in agent tracing onboarding by @ArthurKnaus in [#123686](https://github.com/getsentry/sentry/pull/123686)

#### Ai Monitoring

- Enable enhanced conversation queries by default by @vgrozdanic in [#124383](https://github.com/getsentry/sentry/pull/124383)
- Support conversation messages alias by @vgrozdanic in [#124152](https://github.com/getsentry/sentry/pull/124152)
- Add conversation project links by @vgrozdanic in [#124034](https://github.com/getsentry/sentry/pull/124034)
- Rename conversation aliases by @vgrozdanic in [#124013](https://github.com/getsentry/sentry/pull/124013)
- Filter and sort whole conversations by @vgrozdanic in [#123899](https://github.com/getsentry/sentry/pull/123899)
- Sort conversation table from headers by @vgrozdanic in [#123758](https://github.com/getsentry/sentry/pull/123758)
- Sort conversation lists by supported aliases by @vgrozdanic in [#123735](https://github.com/getsentry/sentry/pull/123735)
- Support conversation sorting by @vgrozdanic in [#123691](https://github.com/getsentry/sentry/pull/123691)
- Register conversation metadata cleanup by @vgrozdanic in [#122694](https://github.com/getsentry/sentry/pull/122694)

#### Api

- Mark experimental public endpoints as PUBLIC_EXPERIMENTAL by @DominikB2014 in [#124192](https://github.com/getsentry/sentry/pull/124192)
- Add a PUBLIC_EXPERIMENTAL publish status by @DominikB2014 in [#123914](https://github.com/getsentry/sentry/pull/123914)
- Add auto-detected `client_kind` attribute to /events by @DominikB2014 in [#123143](https://github.com/getsentry/sentry/pull/123143)
- Publish AI conversation endpoints by @vgrozdanic in [#123323](https://github.com/getsentry/sentry/pull/123323)
- Publish issue view listing endpoint by @cvxluo in [#123080](https://github.com/getsentry/sentry/pull/123080)
- Publish typed issue view creation endpoint by @cvxluo in [#123079](https://github.com/getsentry/sentry/pull/123079)
- Audit undeclared runtime permission scopes by @gricha in [#122046](https://github.com/getsentry/sentry/pull/122046)
- Add organization authentication config endpoint by @evanpurkhiser in [#122277](https://github.com/getsentry/sentry/pull/122277)
- Add password recovery endpoints by @evanpurkhiser in [#122276](https://github.com/getsentry/sentry/pull/122276)
- Resume pending MFA from auth config by @evanpurkhiser in [#122274](https://github.com/getsentry/sentry/pull/122274)
- Add two-factor authentication endpoints by @evanpurkhiser in [#122273](https://github.com/getsentry/sentry/pull/122273)
- Support organization context during login by @evanpurkhiser in [#122271](https://github.com/getsentry/sentry/pull/122271)
- Validate login requests with a serializer by @evanpurkhiser in [#122270](https://github.com/getsentry/sentry/pull/122270)
- Return authentication state from login by @evanpurkhiser in [#122264](https://github.com/getsentry/sentry/pull/122264)

#### Apidocs

- Withhold enum values and verify schema omissions in [#123968](https://github.com/getsentry/sentry/pull/123968)
- Let serializers declare the type of validated_data by @azulus in [#123923](https://github.com/getsentry/sentry/pull/123923)
- Lint request parameters read without a serializer by @azulus in [#123921](https://github.com/getsentry/sentry/pull/123921)
- Lint undeclared serializers on public endpoints by @azulus in [#123919](https://github.com/getsentry/sentry/pull/123919)
- Lint that schema omissions carry a stated reason by @azulus in [#123491](https://github.com/getsentry/sentry/pull/123491)
- Document the custom integration features field by @azulus in [#123515](https://github.com/getsentry/sentry/pull/123515)
- Document organization member and SCIM fields by @azulus in [#123486](https://github.com/getsentry/sentry/pull/123486)
- Convert internal request fields to omit_from_public_schema by @azulus in [#123488](https://github.com/getsentry/sentry/pull/123488)
- Document project detail fields instead of hiding them by @azulus in [#123467](https://github.com/getsentry/sentry/pull/123467)
- Document alert rule and monitor fields by @azulus in [#123487](https://github.com/getsentry/sentry/pull/123487)
- Convert withheld response keys to omit_from_public_schema by @azulus in [#123489](https://github.com/getsentry/sentry/pull/123489)
- Document notification, external team and release fields by @azulus in [#123485](https://github.com/getsentry/sentry/pull/123485)
- Document issue ignore and snooze fields by @azulus in [#123484](https://github.com/getsentry/sentry/pull/123484)
- Document Discover and Explore saved-query fields by @azulus in [#123483](https://github.com/getsentry/sentry/pull/123483)
- Add omit_from_public_schema with a required reason by @azulus in [#123462](https://github.com/getsentry/sentry/pull/123462)

#### Apigw

- Add org->cell resolution cache by @gi0baro in [#122884](https://github.com/getsentry/sentry/pull/122884)
- Widen latency histogram buckets by @ldelvoye in [#122483](https://github.com/getsentry/sentry/pull/122483)

#### Attachments

- Emit outcomes when deleting pending attachments by @jjbayer in [#123757](https://github.com/getsentry/sentry/pull/123757)
- Defer storage for attachments without event ID by @jjbayer in [#123568](https://github.com/getsentry/sentry/pull/123568)
- Add PendingEventAttachment table by @jjbayer in [#123556](https://github.com/getsentry/sentry/pull/123556)

#### Auth

- Include organization slug in SSO errors by @evanpurkhiser in [#124103](https://github.com/getsentry/sentry/pull/124103)
- Add Auth V2 frontend analytics by @evanpurkhiser in [#123608](https://github.com/getsentry/sentry/pull/123608)
- Add WebAuthn authenticator carousel by @evanpurkhiser in [#123438](https://github.com/getsentry/sentry/pull/123438)
- Animate Auth V2 login transitions by @evanpurkhiser in [#123388](https://github.com/getsentry/sentry/pull/123388)
- Add dividers to login separators by @evanpurkhiser in [#123353](https://github.com/getsentry/sentry/pull/123353)
- Display login errors on email field by @evanpurkhiser in [#123349](https://github.com/getsentry/sentry/pull/123349)
- Apply Auth V2 rollout to login cookie by @evanpurkhiser in [#123041](https://github.com/getsentry/sentry/pull/123041)
- Register Auth V2 rollout feature flag by @evanpurkhiser in [#123040](https://github.com/getsentry/sentry/pull/123040)
- Compose React login flows by @evanpurkhiser in [#122336](https://github.com/getsentry/sentry/pull/122336)
- Add organization authentication card by @evanpurkhiser in [#122335](https://github.com/getsentry/sentry/pull/122335)
- Add organization selector by @evanpurkhiser in [#122334](https://github.com/getsentry/sentry/pull/122334)
- Add two-factor authentication form by @evanpurkhiser in [#122333](https://github.com/getsentry/sentry/pull/122333)
- Add two-factor authentication hooks by @evanpurkhiser in [#122332](https://github.com/getsentry/sentry/pull/122332)
- Add email authentication form by @evanpurkhiser in [#122331](https://github.com/getsentry/sentry/pull/122331)
- Add email authentication hooks by @evanpurkhiser in [#122330](https://github.com/getsentry/sentry/pull/122330)
- Add React auth config query by @evanpurkhiser in [#122329](https://github.com/getsentry/sentry/pull/122329)
- Add new login toggle to help menu by @evanpurkhiser in [#122864](https://github.com/getsentry/sentry/pull/122864)
- Register Auth V2 toggle feature flag by @evanpurkhiser in [#122862](https://github.com/getsentry/sentry/pull/122862)
- Add signup_method to signup verification analytics, add logs, metrics, analytics to sso email verification required feature by @nora-shap in [#122683](https://github.com/getsentry/sentry/pull/122683)
- Gate React login behind a cookie by @evanpurkhiser in [#122267](https://github.com/getsentry/sentry/pull/122267)
- Add console SMS backend by @evanpurkhiser in [#122224](https://github.com/getsentry/sentry/pull/122224)
- Add React login shell by @evanpurkhiser in [#122268](https://github.com/getsentry/sentry/pull/122268)

#### Autofix

- Generalize autofix feature payload by @rbro112 in [#124146](https://github.com/getsentry/sentry/pull/124146)
- Instrument the check-runs sweep's GitHub cost by @joseph-sentry in [#122830](https://github.com/getsentry/sentry/pull/122830)
- Prune stale check suites before consuming CI feedback by @joseph-sentry in [#122775](https://github.com/getsentry/sentry/pull/122775)
- Stop PR iteration from an `@sentry` comment by @alexsohn1126 in [#122477](https://github.com/getsentry/sentry/pull/122477)
- Support bash tool in autofix evidence by @Zylphrex in [#123001](https://github.com/getsentry/sentry/pull/123001)
- Support read_file tool in autofix evidence by @Zylphrex in [#122944](https://github.com/getsentry/sentry/pull/122944)
- Require root cause headline and expose it in overview API by @NicoHinderling in [#122869](https://github.com/getsentry/sentry/pull/122869)
- Disable autofix-rca-in-seer with bash tools on by @Zylphrex in [#122847](https://github.com/getsentry/sentry/pull/122847)
- Add toggle to enable bash tools for autofix by @Zylphrex in [#122789](https://github.com/getsentry/sentry/pull/122789)
- Require nightshift for autofix-should-run-repo-checks by @Zylphrex in [#122785](https://github.com/getsentry/sentry/pull/122785)
- Add pause for PR iteration by @alexsohn1126 in [#122086](https://github.com/getsentry/sentry/pull/122086)
- Move truncated-runs notice into the assignee menu by @mtopo27 in [#122615](https://github.com/getsentry/sentry/pull/122615)
- Ask handoff agents for informative PR descriptions by @sehr-m in [#122085](https://github.com/getsentry/sentry/pull/122085)
- Collapse changed-files list after 5 files by @NicoHinderling in [#122487](https://github.com/getsentry/sentry/pull/122487)
- Link merged overview cards to pull requests by @mtopo27 in [#122166](https://github.com/getsentry/sentry/pull/122166)

#### Conversations

- Track agent prompt copies by @sentry-junior in [#124387](https://github.com/getsentry/sentry/pull/124387)
- Track onboarding interactions by @sentry-junior in [#124266](https://github.com/getsentry/sentry/pull/124266)
- Add conversation aliases by @vgrozdanic in [#124014](https://github.com/getsentry/sentry/pull/124014)
- Name the traces behind a conversation by @ArthurKnaus in [#123300](https://github.com/getsentry/sentry/pull/123300)
- Default the chart to conversation count by @ArthurKnaus in [#122822](https://github.com/getsentry/sentry/pull/122822)

#### Cursor Origin

- Add the API clients by @wedamija in [#124358](https://github.com/getsentry/sentry/pull/124358)
- Derive repository languages from the git tree by @wedamija in [#124372](https://github.com/getsentry/sentry/pull/124372)
- Add auth primitives and app registration in [#124348](https://github.com/getsentry/sentry/pull/124348)

#### Dashboards

- Add endpoint to hide dashboards per user in [#124310](https://github.com/getsentry/sentry/pull/124310)
- Add DashboardHiddenUser model in [#124294](https://github.com/getsentry/sentry/pull/124294)
- Dynamically fetch global filter attributes by @nsdeschenes in [#123435](https://github.com/getsentry/sentry/pull/123435)
- Query App Starts table from app.vitals.start.value and app.vitals.start.screen by @buenaflor in [#122577](https://github.com/getsentry/sentry/pull/122577)
- Add Trace Metrics table visualization for Series by @narsaynorath in [#122849](https://github.com/getsentry/sentry/pull/122849)
- Explain page filter adjustments instead of hiding them by @DominikB2014 in [#120841](https://github.com/getsentry/sentry/pull/120841)

#### Deletions

- Make event deletion task self-chaining idempotent by @shashjar in [#122777](https://github.com/getsentry/sentry/pull/122777)
- Add project-level event deletion task killswitch by @shashjar in [#122770](https://github.com/getsentry/sentry/pull/122770)

#### Derived Data

- Batch status consistency check by @kcons in [#123497](https://github.com/getsentry/sentry/pull/123497)
- Log particularly old incremental updates by @kcons in [#122376](https://github.com/getsentry/sentry/pull/122376)

#### Discover

- Add starring to saved query response by @lzhao-sentry in [#124048](https://github.com/getsentry/sentry/pull/124048)
- Add endpoint for single saved query updates by @lzhao-sentry in [#123926](https://github.com/getsentry/sentry/pull/123926)
- Add starred manager and endpoint for discover saved queries by @lzhao-sentry in [#123795](https://github.com/getsentry/sentry/pull/123795)
- Add shared helpers and endpoint for starring by @lzhao-sentry in [#123589](https://github.com/getsentry/sentry/pull/123589)
- Update discover queries api to use per user last visited by @lzhao-sentry in [#123188](https://github.com/getsentry/sentry/pull/123188)
- Add models for starred and last visited by @lzhao-sentry in [#123138](https://github.com/getsentry/sentry/pull/123138)

#### Dynamic Sampling

- Add killswitch option for the legacy jobs by @shellmayr in [#123723](https://github.com/getsentry/sentry/pull/123723)
- Return EAP effective sample rate in endpoint for admin by @shellmayr in [#123552](https://github.com/getsentry/sentry/pull/123552)
- Add option to clamp the recalibration factor by @shellmayr in [#123429](https://github.com/getsentry/sentry/pull/123429)
- Serve rules from the per-org caches behind a rollout option by @shellmayr in [#122567](https://github.com/getsentry/sentry/pull/122567)
- Write the per-org sample rates to cache by @shellmayr in [#122569](https://github.com/getsentry/sentry/pull/122569)
- Cache org feature flags for per-org dynamic sampling by @shellmayr in [#122460](https://github.com/getsentry/sentry/pull/122460)
- Add metric for cache hits/misses & make TTL configurable for recalibration by @shellmayr in [#121949](https://github.com/getsentry/sentry/pull/121949)

#### Eslint

- Make no-redudant-default-arguments work across files by @TkDodo in [#122976](https://github.com/getsentry/sentry/pull/122976)
- No-redundant default argument by @TkDodo in [#122820](https://github.com/getsentry/sentry/pull/122820)

#### Event Formatter

- Render the alert definition for metric issues by @shayna-ch in [#123594](https://github.com/getsentry/sentry/pull/123594)
- Add json output to the shared formatter by @shayna-ch in [#123493](https://github.com/getsentry/sentry/pull/123493)
- Keep breadcrumbs out of the MCP payload by @shayna-ch in [#123472](https://github.com/getsentry/sentry/pull/123472)

#### Explore

- Expose automatic JSON expansion flag to Relay by @k-fish in [#124176](https://github.com/getsentry/sentry/pull/124176)
- Show agent data without conversations by @obostjancic in [#124279](https://github.com/getsentry/sentry/pull/124279)
- Add combined saved queries get endpoint in [#124180](https://github.com/getsentry/sentry/pull/124180)
- Add search filters to equation \_if aggregates by @wmak in [#122912](https://github.com/getsentry/sentry/pull/122912)
- Measure ingestion delay and expose it on the events-timeseries endpoint by @edwardgou-sentry in [#124104](https://github.com/getsentry/sentry/pull/124104)
- Use new starring utils for saved queries by @lzhao-sentry in [#124051](https://github.com/getsentry/sentry/pull/124051)
- Add data-fidelity annotations to the timeseries endpoint by @manessaraj in [#123786](https://github.com/getsentry/sentry/pull/123786)
- Return array element values from attribute-values endpoint by @manessaraj in [#123325](https://github.com/getsentry/sentry/pull/123325)
- Add a Share button to send time-locked URL by @JoshuaKGoldberg in [#123625](https://github.com/getsentry/sentry/pull/123625)
- Preserve span samples when adding columns by @nsdeschenes in [#123004](https://github.com/getsentry/sentry/pull/123004)
- Show start + finish timestamp in more legible utc by @adrianviquez in [#123238](https://github.com/getsentry/sentry/pull/123238)
- Add first and last functions by @wmak in [#123192](https://github.com/getsentry/sentry/pull/123192)
- Add expandable span sample details by @nsdeschenes in [#122744](https://github.com/getsentry/sentry/pull/122744)
- Support array attributes in preprod search by @manessaraj in [#122485](https://github.com/getsentry/sentry/pull/122485)
- Autocomplete array attribute element values by @manessaraj in [#121847](https://github.com/getsentry/sentry/pull/121847)
- Support array attributes in logs and trace metrics search by @manessaraj in [#122484](https://github.com/getsentry/sentry/pull/122484)
- Add per-series \_if filters for span aggregates by @wmak in [#121767](https://github.com/getsentry/sentry/pull/121767)
- Support array attributes in the column picker by @manessaraj in [#122410](https://github.com/getsentry/sentry/pull/122410)

#### Flags

- Register Gen AI Agents overview flag by @obostjancic in [#124391](https://github.com/getsentry/sentry/pull/124391)
- Create public identity fields getter by @kenzoengineer in [#122653](https://github.com/getsentry/sentry/pull/122653)

#### Gal

- Mark new projects as backfilled in [#124140](https://github.com/getsentry/sentry/pull/124140)
- Enable database writes by default by @cvxluo in [#123972](https://github.com/getsentry/sentry/pull/123972)

#### Github

- Record when an installation's permissions were last read by @joseph-sentry in [#123982](https://github.com/getsentry/sentry/pull/123982)
- Describe features lost when an install is missing permissions in [#124105](https://github.com/getsentry/sentry/pull/124105)
- Mention Seer code review and Autofix on integration page by @joseph-sentry in [#124187](https://github.com/getsentry/sentry/pull/124187)

#### Hybrid Cloud

- Dual-write backfill watermark to Postgres (behind option) by @strongs in [#123838](https://github.com/getsentry/sentry/pull/123838)
- Move backfill watermark tables to the hybridcloud app by @strongs in [#123945](https://github.com/getsentry/sentry/pull/123945)
- Add outbox backfill watermark models by @strongs in [#123816](https://github.com/getsentry/sentry/pull/123816)
- Report backfill watermark state on every cycle by @strongs in [#123535](https://github.com/getsentry/sentry/pull/123535)
- Measure synchronous outbox flush duration by @cvxluo in [#123351](https://github.com/getsentry/sentry/pull/123351)
- Read deletion watermarks from postgres behind a flag by @strongs in [#123260](https://github.com/getsentry/sentry/pull/123260)
- Dual-write deletion watermarks to Postgres (behind an option) by @strongs in [#123195](https://github.com/getsentry/sentry/pull/123195)
- Add models for hybrid cloud deletion watermarks by @strongs in [#123171](https://github.com/getsentry/sentry/pull/123171)

#### Hybridcloud

- Size webhook mailboxes from a rolling rate, not a volume gate by @vaind in [#123449](https://github.com/getsentry/sentry/pull/123449)
- Add per-category and silo/type tags to outbox SLO … by @valencitas in [#123466](https://github.com/getsentry/sentry/pull/123466)
- Chain a strict drain into its mailbox's next claim by @vaind in [#123274](https://github.com/getsentry/sentry/pull/123274)
- Bucket Jira and VSTS webhook mailboxes by issue by @vaind in [#123292](https://github.com/getsentry/sentry/pull/123292)
- Generalize mailbox event-type suffixes behind a registry by @vaind in [#123293](https://github.com/getsentry/sentry/pull/123293)
- Report webhook backlog depth per provider by @vaind in [#123158](https://github.com/getsentry/sentry/pull/123158)
- Add a break-glass option to shed inbound webhooks by @vaind in [#122904](https://github.com/getsentry/sentry/pull/122904)
- Overselect scheduler heads to hit the dispatch target by @vaind in [#122689](https://github.com/getsentry/sentry/pull/122689)
- Report mailbox depth quantiles alongside max_depth by @vaind in [#122035](https://github.com/getsentry/sentry/pull/122035)

#### Inbound Filters

- Add catch-all filters by @shellmayr in [#123307](https://github.com/getsentry/sentry/pull/123307)
- Read and write the filter data type in the API by @shellmayr in [#123565](https://github.com/getsentry/sentry/pull/123565)
- Serialize catch-all and span filters to Relay by @shellmayr in [#123564](https://github.com/getsentry/sentry/pull/123564)
- Add a data_type column to custom inbound filters by @shellmayr in [#123432](https://github.com/getsentry/sentry/pull/123432)

#### Inbox

- Collapse completed PRs before latest regression by @roggenkemper in [#123173](https://github.com/getsentry/sentry/pull/123173)
- Show autofix progress messages by @malwilley in [#123355](https://github.com/getsentry/sentry/pull/123355)
- Add header docs tooltip by @malwilley in [#122943](https://github.com/getsentry/sentry/pull/122943)
- Track issue preview views by @malwilley in [#122901](https://github.com/getsentry/sentry/pull/122901)
- Link empty states to broader inboxes by @roggenkemper in [#122593](https://github.com/getsentry/sentry/pull/122593)

#### Integrations

- Accept Azure DevOps work item URLs when linking by @betegon in [#124308](https://github.com/getsentry/sentry/pull/124308)
- Accept GitHub issue and pull request URLs by @betegon in [#124305](https://github.com/getsentry/sentry/pull/124305)
- Accept GitLab issue URLs when linking by @betegon in [#124306](https://github.com/getsentry/sentry/pull/124306)
- Accept Bitbucket issue URLs when linking in [#124307](https://github.com/getsentry/sentry/pull/124307)
- Accept Jira URLs when linking external issues in [#124067](https://github.com/getsentry/sentry/pull/124067)
- Search GitHub issue form options by @scttcper in [#123455](https://github.com/getsentry/sentry/pull/123455)
- Link the configurations crumb to the integration's configurations tab by @shashjar in [#123470](https://github.com/getsentry/sentry/pull/123470)
- Prefetch GitHub issue form options by @scttcper in [#123285](https://github.com/getsentry/sentry/pull/123285)
- Defer GitHub issue form options by @scttcper in [#123284](https://github.com/getsentry/sentry/pull/123284)
- Add request detail drawer to the Request Log by @mrduncan in [#121577](https://github.com/getsentry/sentry/pull/121577)

#### Investigations

- Wire orchestration execution by @arslnb in [#123360](https://github.com/getsentry/sentry/pull/123360)
- Materialize the investigation report from Seer events by @wedamija in [#123537](https://github.com/getsentry/sentry/pull/123537)
- Reduce Seer orchestration projection events by @arslnb in [#123281](https://github.com/getsentry/sentry/pull/123281)
- Add serializers for Seer orchestration payloads by @wedamija in [#123534](https://github.com/getsentry/sentry/pull/123534)
- Add the Seer orchestration client by @wedamija in [#123452](https://github.com/getsentry/sentry/pull/123452)
- Stage Seer orchestration events by @arslnb in [#123242](https://github.com/getsentry/sentry/pull/123242)
- Accept orchestration commands by @wedamija in [#123404](https://github.com/getsentry/sentry/pull/123404)
- Emit duration metrics to Datadog by @arslnb in [#123498](https://github.com/getsentry/sentry/pull/123498)
- Implement GET endpoint for investigation orchestration by @wedamija in [#123402](https://github.com/getsentry/sentry/pull/123402)
- Add agentic investigation creation by @arslnb in [#123086](https://github.com/getsentry/sentry/pull/123086)
- Add orchestration persistence by @arslnb in [#122972](https://github.com/getsentry/sentry/pull/122972)
- Add exhaustive UI stories by @billyvg in [#122856](https://github.com/getsentry/sentry/pull/122856)
- Record terminal lifecycle outcomes by @arslnb in [#122809](https://github.com/getsentry/sentry/pull/122809)
- Support all metric detector types by @arslnb in [#122783](https://github.com/getsentry/sentry/pull/122783)
- Focus active investigation progress by @arslnb in [#122682](https://github.com/getsentry/sentry/pull/122682)
- Add lifecycle telemetry by @arslnb in [#122678](https://github.com/getsentry/sentry/pull/122678)
- Add in-product feedback by @arslnb in [#122679](https://github.com/getsentry/sentry/pull/122679)
- Surface generated investigation summaries by @arslnb in [#122242](https://github.com/getsentry/sentry/pull/122242)
- Improve breached metric analysis by @arslnb in [#122241](https://github.com/getsentry/sentry/pull/122241)
- Build interactive investigation detail view by @arslnb in [#122154](https://github.com/getsentry/sentry/pull/122154)
- Add breached metric entrypoints by @arslnb in [#122114](https://github.com/getsentry/sentry/pull/122114)

#### Issues

- Keep event controls visible while scrolling by @scttcper in [#123668](https://github.com/getsentry/sentry/pull/123668)
- Use AvatarButton for compact controls by @roggenkemper in [#123575](https://github.com/getsentry/sentry/pull/123575)
- Support cjs, mts, and cts code mappings by @scttcper in [#123083](https://github.com/getsentry/sentry/pull/123083)
- Expose latest issue regression with linked PRs by @roggenkemper in [#123172](https://github.com/getsentry/sentry/pull/123172)
- Remove legacy issue activity editor by @scttcper in [#122113](https://github.com/getsentry/sentry/pull/122113)
- GA Seer actions and collapse status flapping by @scttcper in [#122532](https://github.com/getsentry/sentry/pull/122532)

#### Metrics

- Option to disable generic metrics by @jjbayer in [#124159](https://github.com/getsentry/sentry/pull/124159)
- Add an export button by @JoshuaKGoldberg in [#122041](https://github.com/getsentry/sentry/pull/122041)

#### Monitors

- Add partition list to clock pulse by @strongs in [#124355](https://github.com/getsentry/sentry/pull/124355)
- Improvements to app metric equation rendering by @bcoe in [#122367](https://github.com/getsentry/sentry/pull/122367)

#### Onboarding

- Track agentic setup views by @sentry-junior in [#124297](https://github.com/getsentry/sentry/pull/124297)
- Add SCM messaging step interaction analytics by @jaydgoss in [#124185](https://github.com/getsentry/sentry/pull/124185)
- Add SCM messaging step funnel analytics by @jaydgoss in [#124123](https://github.com/getsentry/sentry/pull/124123)
- Polish the welcome setup cards by @itsdangold in [#124128](https://github.com/getsentry/sentry/pull/124128)
- Compare the messaging destination on project reuse by @jaydgoss in [#122802](https://github.com/getsentry/sentry/pull/122802)
- Create projects from SCM messaging by @jaydgoss in [#122596](https://github.com/getsentry/sentry/pull/122596)
- Rework the agentic progress card by @itsdangold in [#123607](https://github.com/getsentry/sentry/pull/123607)
- Rework the welcome setup step by @itsdangold in [#123606](https://github.com/getsentry/sentry/pull/123606)
- Track agentic stage completion by @evanpurkhiser in [#122888](https://github.com/getsentry/sentry/pull/122888)
- Explain agent progress updates by @evanpurkhiser in [#122840](https://github.com/getsentry/sentry/pull/122840)
- Use code blocks for setup commands by @evanpurkhiser in [#122853](https://github.com/getsentry/sentry/pull/122853)
- Wire agent progress into welcome setup by @evanpurkhiser in [#122786](https://github.com/getsentry/sentry/pull/122786)
- Use dashed icon for pending agent stages by @evanpurkhiser in [#122787](https://github.com/getsentry/sentry/pull/122787)
- Preload agentic run initialization by @evanpurkhiser in [#122781](https://github.com/getsentry/sentry/pull/122781)
- Refine agentic progress display by @evanpurkhiser in [#122774](https://github.com/getsentry/sentry/pull/122774)
- Persist agentic run initialization by @evanpurkhiser in [#122728](https://github.com/getsentry/sentry/pull/122728)
- Add agentic progress components by @evanpurkhiser in [#122057](https://github.com/getsentry/sentry/pull/122057)
- Add agentic progress hooks by @evanpurkhiser in [#121994](https://github.com/getsentry/sentry/pull/121994)
- Section the SCM platform picker into Popular and Other by @jaydgoss in [#122104](https://github.com/getsentry/sentry/pull/122104)
- Support grouped options in ScmVirtualizedMenuList by @jaydgoss in [#122103](https://github.com/getsentry/sentry/pull/122103)

#### Pr Iter

- Add checkpoint metrics to manual PR iteration by @alexsohn1126 in [#124342](https://github.com/getsentry/sentry/pull/124342)
- Record the review bots behind consumed feedback in [#124281](https://github.com/getsentry/sentry/pull/124281)
- Include the iteration id in log context by @joseph-sentry in [#123791](https://github.com/getsentry/sentry/pull/123791)
- Record iteration outcome instead of a bool by @joseph-sentry in [#123584](https://github.com/getsentry/sentry/pull/123584)
- Record the trigger source on the iteration event by @joseph-sentry in [#123641](https://github.com/getsentry/sentry/pull/123641)
- Pause PR iteration when the run errors by @joseph-sentry in [#123371](https://github.com/getsentry/sentry/pull/123371)
- Grey out the iteration form on a paused run by @alexsohn1126 in [#123159](https://github.com/getsentry/sentry/pull/123159)
- Expose `pr_iteration_paused` on Autofix state by @alexsohn1126 in [#123157](https://github.com/getsentry/sentry/pull/123157)
- Block PR iteration on missing GH perms by @joseph-sentry in [#122573](https://github.com/getsentry/sentry/pull/122573)
- Run deferred consume when CI is complete by @joseph-sentry in [#122520](https://github.com/getsentry/sentry/pull/122520)

#### Pr Iteration

- Record blocked PR iterations in analytics by @joseph-sentry in [#124112](https://github.com/getsentry/sentry/pull/124112)
- Measure missing-permission comments vs app updates by @joseph-sentry in [#123459](https://github.com/getsentry/sentry/pull/123459)

#### Pr Metrics

- Report how deep the activity sweep's backlog is by @vaind in [#121616](https://github.com/getsentry/sentry/pull/121616)
- Link a delegated agent's PR on the match that attributes it by @vaind in [#121877](https://github.com/getsentry/sentry/pull/121877)

#### Preprod

- Gate snapshot objectstore writes behind an option by @NicoHinderling in [#124210](https://github.com/getsentry/sentry/pull/124210)
- Add direct IPA download for iOS builds by @mtopo27 in [#124410](https://github.com/getsentry/sentry/pull/124410)
- Send explicit image types for icons and snapshots in [#124330](https://github.com/getsentry/sentry/pull/124330)
- Read app icons from the size-analysis usecase in [#124328](https://github.com/getsentry/sentry/pull/124328)
- Read snapshot objectstore content from both usecases in [#124194](https://github.com/getsentry/sentry/pull/124194)
- Auto-approve snapshots with sub-threshold hash diffs by @NicoHinderling in [#123954](https://github.com/getsentry/sentry/pull/123954)
- Add one-click overlay visibility toggle to snapshot toolbar by @NicoHinderling in [#124071](https://github.com/getsentry/sentry/pull/124071)
- Add keyboard shortcuts help to the snapshot toolbar by @NicoHinderling in [#124066](https://github.com/getsentry/sentry/pull/124066)
- Make single-image snapshot cards zoomable in list view by @NicoHinderling in [#124062](https://github.com/getsentry/sentry/pull/124062)
- Make missing-base snapshot copy actionable by @NicoHinderling in [#123943](https://github.com/getsentry/sentry/pull/123943)
- Pass organization_slug to launchpad process_artifact task by @NicoHinderling in [#123538](https://github.com/getsentry/sentry/pull/123538)

#### Relay

- Add Nintendo event rewriting feature flag by @JoshuaMoelans in [#123020](https://github.com/getsentry/sentry/pull/123020)
- Update to relay version 0.9.28 by @jjbayer in [#122202](https://github.com/getsentry/sentry/pull/122202)

#### Rollout

- Add wildcard matching to SafeRolloutComparator by @kenzoengineer in [#123864](https://github.com/getsentry/sentry/pull/123864)
- Add error metric to `SafeRolloutComparator` by @kenzoengineer in [#122659](https://github.com/getsentry/sentry/pull/122659)

#### Scm

- Tag SCM exceptions with organization slug and ID by @sentry in [#123190](https://github.com/getsentry/sentry/pull/123190)
- Add PR changed-files endpoint with diff hunks by @NicoHinderling in [#122119](https://github.com/getsentry/sentry/pull/122119)

#### Scm Messaging Integrations Ui

- Microsoft teams connection modal busy state by @Abdkhan14 in [#123748](https://github.com/getsentry/sentry/pull/123748)
- Hiding other rows on complete by @Abdkhan14 in [#123006](https://github.com/getsentry/sentry/pull/123006)
- Refetching providers/integrations list on window focus by @Abdkhan14 in [#122729](https://github.com/getsentry/sentry/pull/122729)

#### Scraps

- Make button size responsive by @priscilawebdev in [#123110](https://github.com/getsentry/sentry/pull/123110)
- Add RelativeTime component by @ChrisandraVaz in [#121854](https://github.com/getsentry/sentry/pull/121854)
- Interactive Chip compound components by @natemoo-re in [#121648](https://github.com/getsentry/sentry/pull/121648)
- Add Tooltip.Header, Grid, Row and Footer by @ChrisandraVaz in [#121983](https://github.com/getsentry/sentry/pull/121983)
- Make Scraps the canonical story URL by @priscilawebdev in [#122556](https://github.com/getsentry/sentry/pull/122556)
- Add typed OTP input formats by @evanpurkhiser in [#122222](https://github.com/getsentry/sentry/pull/122222)
- Add OTP input primitive by @evanpurkhiser in [#122211](https://github.com/getsentry/sentry/pull/122211)

#### Seer

- Add monitor cleanup workflow UI by @trevor-e in [#123978](https://github.com/getsentry/sentry/pull/123978)
- Redesign IconSeer loading animation for ThinkingBlock in [#124300](https://github.com/getsentry/sentry/pull/124300)
- Add monitor cleanup workflow execution in [#123966](https://github.com/getsentry/sentry/pull/123966)
- Add autofix issue data model by @Mihir-Mavalankar in [#124191](https://github.com/getsentry/sentry/pull/124191)
- Register fixability data flag by @Mihir-Mavalankar in [#124142](https://github.com/getsentry/sentry/pull/124142)
- Add the single log line embed by @billyvg in [#123906](https://github.com/getsentry/sentry/pull/123906)
- Give the profile embed a real block level by @billyvg in [#123901](https://github.com/getsentry/sentry/pull/123901)
- Render autofix embed detail through the live-run components by @ryan953 in [#123667](https://github.com/getsentry/sentry/pull/123667)
- Add the agent conversation embeds by @billyvg in [#123908](https://github.com/getsentry/sentry/pull/123908)
- Add the single error event embed by @billyvg in [#123905](https://github.com/getsentry/sentry/pull/123905)
- Record when a markdown embed is rendered by @billyvg in [#123912](https://github.com/getsentry/sentry/pull/123912)
- Add trace waterfall embed by @billyvg in [#123047](https://github.com/getsentry/sentry/pull/123047)
- Add the saved query block embed by @billyvg in [#123799](https://github.com/getsentry/sentry/pull/123799)
- Add the logs query block embed by @billyvg in [#123798](https://github.com/getsentry/sentry/pull/123798)
- Add the replays query block embed by @billyvg in [#123796](https://github.com/getsentry/sentry/pull/123796)
- Add spans query embed by @billyvg in [#123012](https://github.com/getsentry/sentry/pull/123012)
- Add the metrics query block embed by @billyvg in [#123793](https://github.com/getsentry/sentry/pull/123793)
- Add saved issue view previews by @billyvg in [#123051](https://github.com/getsentry/sentry/pull/123051)
- Add errorsQuery and errorsQueryAggregate embeds by @billyvg in [#122917](https://github.com/getsentry/sentry/pull/122917)
- Call the Autofix completion hook when a run fails by @joseph-sentry in [#123045](https://github.com/getsentry/sentry/pull/123045)
- Add rich alert block embeds by @billyvg in [#122859](https://github.com/getsentry/sentry/pull/122859)
- Add type-specific monitor block embeds by @billyvg in [#122751](https://github.com/getsentry/sentry/pull/122751)
- Record prompt version on night shift deliveries by @trevor-e in [#123407](https://github.com/getsentry/sentry/pull/123407)
- Emit analytics for each automated PR iteration by @joseph-sentry in [#123197](https://github.com/getsentry/sentry/pull/123197)
- No-op the Autofix completion hook on failed runs by @joseph-sentry in [#123044](https://github.com/getsentry/sentry/pull/123044)
- Add release card embed by @billyvg in [#122922](https://github.com/getsentry/sentry/pull/122922)
- Render dashboards in block embeds by @billyvg in [#122836](https://github.com/getsentry/sentry/pull/122836)
- Add user-initiated Seer activities to issue details tool output by @hobzcalvin in [#122952](https://github.com/getsentry/sentry/pull/122952)
- Structured logging for the automated PR-iteration flow by @joseph-sentry in [#122088](https://github.com/getsentry/sentry/pull/122088)
- Add structured Night Shift errors by @trevor-e in [#123065](https://github.com/getsentry/sentry/pull/123065)
- Add browser-fetching autofixRef embed by @ryan953 in [#122099](https://github.com/getsentry/sentry/pull/122099)
- Track sidebar resize and position analytics by @sentry-junior in [#123058](https://github.com/getsentry/sentry/pull/123058)
- Collapse Autofix setup warning into a filter-row tooltip by @mtopo27 in [#122975](https://github.com/getsentry/sentry/pull/122975)
- Add force bash mode toggles for Ask Seer and Autofix by @chromy in [#122982](https://github.com/getsentry/sentry/pull/122982)
- Show generated headline as autofix overview card title by @NicoHinderling in [#122872](https://github.com/getsentry/sentry/pull/122872)
- Make Recommended the default autofix overview sort by @mtopo27 in [#122880](https://github.com/getsentry/sentry/pull/122880)
- Let anywhere in the app post a message into the Seer chat by @ryan953 in [#122900](https://github.com/getsentry/sentry/pull/122900)
- Collapse each response into one ThinkingBlock by @natemoo-re in [#121972](https://github.com/getsentry/sentry/pull/121972)
- Add recommended sort to the autofix overview endpoint by @mtopo27 in [#122879](https://github.com/getsentry/sentry/pull/122879)
- Render code-mode tool calls with ToolCall by @natemoo-re in [#121331](https://github.com/getsentry/sentry/pull/121331)
- Window autofix overview SCM enrichment by visibility by @NicoHinderling in [#122755](https://github.com/getsentry/sentry/pull/122755)
- Register the organizations:seer-xray feature flag by @ryan953 in [#122768](https://github.com/getsentry/sentry/pull/122768)
- Support conditional requests on the autofix state endpoint by @alexsohn1126 in [#121885](https://github.com/getsentry/sentry/pull/121885)
- Add employee-only Seer XRay Mode and wire LLM context into navigation by @ryan953 in [#122143](https://github.com/getsentry/sentry/pull/122143)
- Render replay clip player in block-level replay embed by @billyvg in [#122711](https://github.com/getsentry/sentry/pull/122711)
- Default the Seer Autofix drawer to 80% width by @jshchnz in [#122747](https://github.com/getsentry/sentry/pull/122747)
- Add windowed autofix-overview SCM-info endpoint by @NicoHinderling in [#122735](https://github.com/getsentry/sentry/pull/122735)
- Add resource link embeds for Sentry entities and queries by @ryan953 in [#122626](https://github.com/getsentry/sentry/pull/122626)
- Add ToolCall chat component by @natemoo-re in [#121330](https://github.com/getsentry/sentry/pull/121330)
- Add dashboard and replay embeds by @billyvg in [#122620](https://github.com/getsentry/sentry/pull/122620)
- Drop 90-day option from Autofix overview activity filter by @mtopo27 in [#122609](https://github.com/getsentry/sentry/pull/122609)
- Show the skeleton on an Autofix Overview sort change by @mtopo27 in [#122611](https://github.com/getsentry/sentry/pull/122611)
- Add analytics to the Autofix Overview page by @mtopo27 in [#122426](https://github.com/getsentry/sentry/pull/122426)
- Link failing checks to their runs on autofix overview by @NicoHinderling in [#122489](https://github.com/getsentry/sentry/pull/122489)
- Add failing check run URLs to autofix overview API by @NicoHinderling in [#122486](https://github.com/getsentry/sentry/pull/122486)
- Expose Autofix Overview page in the issues nav by @mtopo27 in [#122307](https://github.com/getsentry/sentry/pull/122307)
- Consolidate Autofix Overview loading states by @mtopo27 in [#122425](https://github.com/getsentry/sentry/pull/122425)
- Prefetch PR file diffs on hover over code changes by @mtopo27 in [#122320](https://github.com/getsentry/sentry/pull/122320)
- Warn when selected projects can't run Autofix by @mtopo27 in [#122300](https://github.com/getsentry/sentry/pull/122300)
- Add projectConfig expand to autofix overview endpoint by @mtopo27 in [#122261](https://github.com/getsentry/sentry/pull/122261)
- Allow free Autofix overview access by @trevor-e in [#122101](https://github.com/getsentry/sentry/pull/122101)
- Default autofix overview to 7 day window by @NicoHinderling in [#122251](https://github.com/getsentry/sentry/pull/122251)
- Toast autofix milestone advances on overview by @NicoHinderling in [#122240](https://github.com/getsentry/sentry/pull/122240)
- Include autofix_rca runs in autofix overview by @NicoHinderling in [#122245](https://github.com/getsentry/sentry/pull/122245)
- Animate the Checks Running badge spinner by @NicoHinderling in [#122243](https://github.com/getsentry/sentry/pull/122243)
- Add Seer button to overview PR and merged cards by @NicoHinderling in [#122238](https://github.com/getsentry/sentry/pull/122238)
- Add collapse/expand all groups toggle to autofix overview by @mtopo27 in [#122239](https://github.com/getsentry/sentry/pull/122239)
- Break out Autofix Activity selector on overview by @mtopo27 in [#122235](https://github.com/getsentry/sentry/pull/122235)
- Turn autofix overview working status into a Seer button by @NicoHinderling in [#122230](https://github.com/getsentry/sentry/pull/122230)
- Show project platform icon next to short ID on overview card by @mtopo27 in [#122232](https://github.com/getsentry/sentry/pull/122232)
- Gate autofix overview handoff on precomputed repo eligibility by @NicoHinderling in [#122229](https://github.com/getsentry/sentry/pull/122229)
- Add coding-agent repo eligibility to autofix overview by @NicoHinderling in [#122226](https://github.com/getsentry/sentry/pull/122226)
- Open autofix overview Seer drawer in place by @NicoHinderling in [#122223](https://github.com/getsentry/sentry/pull/122223)
- Add In Progress tab to autofix overview by @NicoHinderling in [#122192](https://github.com/getsentry/sentry/pull/122192)
- Poll live autofix run status on overview by @NicoHinderling in [#122191](https://github.com/getsentry/sentry/pull/122191)
- Add status expand for live autofix run status by @NicoHinderling in [#122190](https://github.com/getsentry/sentry/pull/122190)
- Execute autofix actions from overview cards by @NicoHinderling in [#122186](https://github.com/getsentry/sentry/pull/122186)
- Add an agent token compatibility user by @gricha in [#121839](https://github.com/getsentry/sentry/pull/121839)
- Add an assignee filter to the Autofix overview by @NicoHinderling in [#122182](https://github.com/getsentry/sentry/pull/122182)
- Show failed check details on Autofix overview PR tags by @NicoHinderling in [#122184](https://github.com/getsentry/sentry/pull/122184)
- Expose failed check names on Autofix overview PRs by @NicoHinderling in [#122183](https://github.com/getsentry/sentry/pull/122183)
- Hide closed pull requests on Autofix overview by @NicoHinderling in [#122179](https://github.com/getsentry/sentry/pull/122179)
- Report truncated sections on the Autofix overview by @NicoHinderling in [#122181](https://github.com/getsentry/sentry/pull/122181)
- Show Seer trial CTA on autofix overview by @NicoHinderling in [#120424](https://github.com/getsentry/sentry/pull/120424)
- Group Autofix overview file lists by repository by @NicoHinderling in [#122173](https://github.com/getsentry/sentry/pull/122173)
- Include repository name on Autofix overview PRs by @NicoHinderling in [#122172](https://github.com/getsentry/sentry/pull/122172)
- Show generated code changes on Autofix overview by @NicoHinderling in [#122165](https://github.com/getsentry/sentry/pull/122165)
- Render PR statuses as tags by @mtopo27 in [#122170](https://github.com/getsentry/sentry/pull/122170)
- Expose generated code changes on Autofix overview by @NicoHinderling in [#122162](https://github.com/getsentry/sentry/pull/122162)
- Add Autofix overview empty state by @mtopo27 in [#122168](https://github.com/getsentry/sentry/pull/122168)
- Add Autofix overview UI by @NicoHinderling in [#121749](https://github.com/getsentry/sentry/pull/121749)
- Resolve a coding agent's repo by the id it was launched against by @vaind in [#121873](https://github.com/getsentry/sentry/pull/121873)
- Add selectable sort to autofix overview endpoint by @NicoHinderling in [#122117](https://github.com/getsentry/sentry/pull/122117)

#### Seer Infra Telemetry

- Group GCP connection errors by affected projects and services by @shashjar in [#124089](https://github.com/getsentry/sentry/pull/124089)
- Preserve service-level GCP connection verification results by @shashjar in [#124073](https://github.com/getsentry/sentry/pull/124073)
- Make GCP project IDs a multi-select on configuration page by @shashjar in [#123809](https://github.com/getsentry/sentry/pull/123809)
- Use a multi-select field for GCP project IDs in the setup wizard by @shashjar in [#123814](https://github.com/getsentry/sentry/pull/123814)
- Add hints, links, and visibility toggle to Datadog installation flow by @srest2021 in [#123458](https://github.com/getsentry/sentry/pull/123458)
- Add permission setup instructions to GCP integration onboarding flow by @shashjar in [#123461](https://github.com/getsentry/sentry/pull/123461)
- Show GCP connection status on the integration settings page by @shashjar in [#123258](https://github.com/getsentry/sentry/pull/123258)
- Expose GCP connection status in integration config data by @shashjar in [#123251](https://github.com/getsentry/sentry/pull/123251)
- Re-verify GCP connection after configuration changes from frontend by @shashjar in [#123193](https://github.com/getsentry/sentry/pull/123193)
- Make GCP integration settings editable and re-verify on change by @shashjar in [#123187](https://github.com/getsentry/sentry/pull/123187)
- Revise Connectors page to display integrations with Seer context category by @srest2021 in [#123049](https://github.com/getsentry/sentry/pull/123049)
- Add GCP connection verification step to install wizard by @shashjar in [#122928](https://github.com/getsentry/sentry/pull/122928)
- Verify GCP connection during integration setup (backend) by @shashjar in [#122906](https://github.com/getsentry/sentry/pull/122906)
- Add GCP connection verification endpoint by @shashjar in [#122107](https://github.com/getsentry/sentry/pull/122107)
- Show read-only config on GCP integration configure page by @shashjar in [#122512](https://github.com/getsentry/sentry/pull/122512)

#### Settings

- Clarify Spike Protection notification setup by @sentry-junior in [#123517](https://github.com/getsentry/sentry/pull/123517)
- Paginate project environments by @scttcper in [#122108](https://github.com/getsentry/sentry/pull/122108)

#### Skills

- Add migrate-breadcrumb-list skill by @Jesse-Box in [#123903](https://github.com/getsentry/sentry/pull/123903)
- Add remove-option-or-flag skill by @vaind in [#121842](https://github.com/getsentry/sentry/pull/121842)

#### Smart Assignment

- Fuzzy-match candidates in [#124232](https://github.com/getsentry/sentry/pull/124232)
- Add get_project_members Seer RPC tool by @hobzcalvin in [#124136](https://github.com/getsentry/sentry/pull/124136)
- Pass repos to SA prompt to the agent doesn't guess by @hobzcalvin in [#123381](https://github.com/getsentry/sentry/pull/123381)
- Resolve unverified user emails when delivering results by @hobzcalvin in [#123383](https://github.com/getsentry/sentry/pull/123383)
- Add some metrics for datadog dashboard by @hobzcalvin in [#123011](https://github.com/getsentry/sentry/pull/123011)
- Seer RPC to get assignees for issues in bulk by @hobzcalvin in [#122614](https://github.com/getsentry/sentry/pull/122614)

#### Tracemetrics

- Add visualize reset button by @adrianviquez in [#122940](https://github.com/getsentry/sentry/pull/122940)
- Allow saving Table in dashboards with flag by @narsaynorath in [#122878](https://github.com/getsentry/sentry/pull/122878)
- Add feature flag for table support in dashboards by @narsaynorath in [#122860](https://github.com/getsentry/sentry/pull/122860)
- Add sum and count for gauge metrics by @k-fish in [#122475](https://github.com/getsentry/sentry/pull/122475)

#### Ui

- Support multiple and creatable select fields in the auto-save form by @shashjar in [#123803](https://github.com/getsentry/sentry/pull/123803)
- Persist the conversations table column widths by @ArthurKnaus in [#123310](https://github.com/getsentry/sentry/pull/123310)
- Animate branded page artwork by @evanpurkhiser in [#122328](https://github.com/getsentry/sentry/pull/122328)
- Add branded page layout by @evanpurkhiser in [#122262](https://github.com/getsentry/sentry/pull/122262)

#### Workflow Engine

- Add detector and action filters by @gricha in [#124077](https://github.com/getsentry/sentry/pull/124077)
- Add the comparison information to logs by @saponifi3d in [#123278](https://github.com/getsentry/sentry/pull/123278)
- Add evaluation logs to detectors by @saponifi3d in [#121908](https://github.com/getsentry/sentry/pull/121908)
- Add option to enable debug logging by workflow id by @kcons in [#122360](https://github.com/getsentry/sentry/pull/122360)
- Add option to pick workflow_ids that should trigger evaluation logs by @kcons in [#122359](https://github.com/getsentry/sentry/pull/122359)
- Tag action-based Condition evaluation debug logs with ids by @kcons in [#122357](https://github.com/getsentry/sentry/pull/122357)
- Comprehensive debug logging for LatestAdoptedReleaseConditionHandler by @kcons in [#122344](https://github.com/getsentry/sentry/pull/122344)

#### Workflows

- Require condition comparison schemas by @sentry-junior in [#124143](https://github.com/getsentry/sentry/pull/124143)
- Add project scope endpoint by @malwilley in [#124133](https://github.com/getsentry/sentry/pull/124133)
- Allow team admins to delete workflows connected to their projects by @malwilley in [#123286](https://github.com/getsentry/sentry/pull/123286)
- Allow team admins to create alerts for their own projects by @malwilley in [#123033](https://github.com/getsentry/sentry/pull/123033)

#### Other

- (action backfill) Filter options based on value by @kcons in [#122791](https://github.com/getsentry/sentry/pull/122791)
- (agent-tracing) Align traces table styling by @sentry-junior in [#124284](https://github.com/getsentry/sentry/pull/124284)
- (alerts) Metrics monitoring of anomaly detection failures by @kcons in [#123670](https://github.com/getsentry/sentry/pull/123670)
- (anomaly detection) More refined tracking of Seer-provided errors by @kcons in [#124095](https://github.com/getsentry/sentry/pull/124095)
- (audit) Mark delegated agent actions by @gricha in [#122031](https://github.com/getsentry/sentry/pull/122031)
- (avatarButton) Support round shape, suggested state, and empty avatars by @natemoo-re in [#123352](https://github.com/getsentry/sentry/pull/123352)
- (billing) Show billing-platform migration banner on subscription overview by @armenzg in [#122636](https://github.com/getsentry/sentry/pull/122636)
- (buttonTracking) Track anonymous custom events by @evanpurkhiser in [#123482](https://github.com/getsentry/sentry/pull/123482)
- (chat) Clamp tool call input/output boxes with click-to-expand by @natemoo-re in [#123161](https://github.com/getsentry/sentry/pull/123161)
- (codeblock) Add wrapping and persistent copy action by @evanpurkhiser in [#122780](https://github.com/getsentry/sentry/pull/122780)
- (crons) Log a sample of over-quota and rate limited check-in drops by @wedamija in [#122544](https://github.com/getsentry/sentry/pull/122544)
- (dart) Fall back to token-level remapping for compound exception types by @buenaflor in [#123151](https://github.com/getsentry/sentry/pull/123151)
- (derived) Add basic gating helpers by @kcons in [#122616](https://github.com/getsentry/sentry/pull/122616)
- (difs) Add flag to delete corrupt files during migration by @lcian in [#123730](https://github.com/getsentry/sentry/pull/123730)
- (docs) Add agent guidance around save hooks in migrations by @kcons in [#123627](https://github.com/getsentry/sentry/pull/123627)
- (events) Add Windows Error Reporting context by @jpnurmi in [#121702](https://github.com/getsentry/sentry/pull/121702)
- (forms) Make RowLayout responsive by @TkDodo in [#123692](https://github.com/getsentry/sentry/pull/123692)
- (icons) Add dashed circle icon by @evanpurkhiser in [#122772](https://github.com/getsentry/sentry/pull/122772)
- (integration) Add tooltip to pending deletion by @sentaur-athena in [#121473](https://github.com/getsentry/sentry/pull/121473)
- (issue-details) Register priority and assignee UI flag by @roggenkemper in [#122909](https://github.com/getsentry/sentry/pull/122909)
- (lint) Disallow mocking supported test hooks in [#124341](https://github.com/getsentry/sentry/pull/124341)
- (markdown) Report silent markdown render fallbacks to Sentry by @ryan953 in [#122968](https://github.com/getsentry/sentry/pull/122968)
- (models) Add a get_or_none helper so first() isn't the ergonomic choice by @kcons in [#123469](https://github.com/getsentry/sentry/pull/123469)
- (nav) Add new badge to Explore Agents sidebar item by @sentry-junior in [#123289](https://github.com/getsentry/sentry/pull/123289)
- (notifications) Add referrer query param to activity notifications by @malwilley in [#122665](https://github.com/getsentry/sentry/pull/122665)
- (orgs) Reserve solutions organization slug by @sentry-junior in [#120635](https://github.com/getsentry/sentry/pull/120635)
- (ourlogs) Add ourlogs-regex-searches feature flag by @JoshuaKGoldberg in [#123778](https://github.com/getsentry/sentry/pull/123778)
- (project-creation) Migrate project creation flow to new workflow engine endpoints by @malwilley in [#123074](https://github.com/getsentry/sentry/pull/123074)
- (redis) Reject writes with no TTL by @ldelvoye in [#122927](https://github.com/getsentry/sentry/pull/122927)
- (release) Use spans dataset for release comparison table by @adrianviquez in [#123406](https://github.com/getsentry/sentry/pull/123406)
- (releases) Migrate the release detail header to BreadcrumbList by @Jesse-Box in [#124160](https://github.com/getsentry/sentry/pull/124160)
- (replay) Up inner_limit from 1k-10k when verify_replay_exists flag is on by @adrianviquez in [#123048](https://github.com/getsentry/sentry/pull/123048)
- (scim) Extend privilege sync to support all UserPermissions by @michelletran-sentry in [#123003](https://github.com/getsentry/sentry/pull/123003)
- (scm-messaging-integration) Minor ui changes by @Abdkhan14 in [#123929](https://github.com/getsentry/sentry/pull/123929)
- (search) Add deprecation-aware attribute lookup by @nsdeschenes in [#123306](https://github.com/getsentry/sentry/pull/123306)
- (seer-explorer) Show work in flight in the agent's own words by @azulus in [#122919](https://github.com/getsentry/sentry/pull/122919)
- (seerExplorer) Code Mode entity deep-links + longest-prefix inheritance by @sentry-junior in [#122890](https://github.com/getsentry/sentry/pull/122890)
- (sentry-apps) Collapse template configuration panels by @cvxluo in [#122404](https://github.com/getsentry/sentry/pull/122404)
- (slack) Add native Seer write approvals by @gricha in [#122497](https://github.com/getsentry/sentry/pull/122497)
- (stacktrace) Add astro file extension for syntax highlighting by @JuJup in [#122603](https://github.com/getsentry/sentry/pull/122603)
- (stacktraces) Trim the IL2CPP method hash from native function names by @bitsandfoxes in [#121963](https://github.com/getsentry/sentry/pull/121963)
- (symbolication) Add request headers for project and event ID by @loewenheim in [#123722](https://github.com/getsentry/sentry/pull/123722)
- (tabs) Remove disableOverflow prop and correct automatic overflow behavior by @priscilawebdev in [#123879](https://github.com/getsentry/sentry/pull/123879)
- (tasks) Log GAL coordinator phases by @yuvmen in [#122619](https://github.com/getsentry/sentry/pull/122619)
- (teapot-backend) Integrate Teapot GPU symbolication service with Sentry by @mujacica in [#119375](https://github.com/getsentry/sentry/pull/119375)
- (trace) Enable zooming from vital indicator pills by @nsdeschenes in [#122699](https://github.com/getsentry/sentry/pull/122699)
- (traces) Scope agent activity view to one conversation at a time by @ArthurKnaus in [#123559](https://github.com/getsentry/sentry/pull/123559)
- (usageStats) Add `callback_error` client discard reason by @msonnb in [#123316](https://github.com/getsentry/sentry/pull/123316)
- (warden) Add wrdn-dos-review skill silently via warden-skills by @oioki in [#122326](https://github.com/getsentry/sentry/pull/122326)
- Drop the require_email_verification column by @lynnagara in [#123481](https://github.com/getsentry/sentry/pull/123481)
- Autofix routes are on the org only path by @lynnagara in [#123465](https://github.com/getsentry/sentry/pull/123465)
- Support conditional inclusion of routes on the legacy issues/ path by @lynnagara in [#123401](https://github.com/getsentry/sentry/pull/123401)
- Strict cssTypes by @TkDodo in [#123305](https://github.com/getsentry/sentry/pull/123305)
- Add cancel button when editing monitors by @RudraPatel2003 in [#122932](https://github.com/getsentry/sentry/pull/122932)
- Remove incidents flag by @RudraPatel2003 in [#122607](https://github.com/getsentry/sentry/pull/122607)
- Set incidents feature flag to true by @RudraPatel2003 in [#122522](https://github.com/getsentry/sentry/pull/122522)
- Remove "incidents" Feature components on frontend by @RudraPatel2003 in [#122374](https://github.com/getsentry/sentry/pull/122374)
- Remove organizations:incidents flag on frontend by @RudraPatel2003 in [#121984](https://github.com/getsentry/sentry/pull/121984)

### Bug Fixes 🐛

#### Action Log

- Serialize comments by their `Activity` id by @shashjar in [#123512](https://github.com/getsentry/sentry/pull/123512)
- Sanitize non-jsonb-able data when converting from Activity by @kcons in [#123532](https://github.com/getsentry/sentry/pull/123532)
- Hash dedicated outbox rollout key by @cvxluo in [#123391](https://github.com/getsentry/sentry/pull/123391)

#### Admin

- Parse chart date range URL params as UTC by @shellmayr in [#124167](https://github.com/getsentry/sentry/pull/124167)
- Block non-Seer product trial starts on enterprise plans by @sentry-junior in [#123807](https://github.com/getsentry/sentry/pull/123807)
- Parse project ID in admin home project search by @shellmayr in [#123414](https://github.com/getsentry/sentry/pull/123414)
- Positioning of base sample rate in dynamic sampling table by @shellmayr in [#123423](https://github.com/getsentry/sentry/pull/123423)
- Stop queries from interfering with each other on customer details page by @shellmayr in [#123312](https://github.com/getsentry/sentry/pull/123312)
- Move the region probe spinner to stop layout shifts by @shellmayr in [#123134](https://github.com/getsentry/sentry/pull/123134)

#### Agents

- Match additional model provider icons by @sentry-junior in [#124395](https://github.com/getsentry/sentry/pull/124395)
- Remove beta labels by @obostjancic in [#122738](https://github.com/getsentry/sentry/pull/122738)
- Show span ID in AI span details by @ArthurKnaus in [#122829](https://github.com/getsentry/sentry/pull/122829)

#### Ai

- Expand standalone conversation tags by @matejminar in [#124157](https://github.com/getsentry/sentry/pull/124157)
- Avoid deprecated message attribute access by @NicoHinderling in [#122998](https://github.com/getsentry/sentry/pull/122998)
- Assign conversation API to telemetry experience by @vgrozdanic in [#122458](https://github.com/getsentry/sentry/pull/122458)

#### Ai Monitoring

- Prefer last user message for conversation titles by @vgrozdanic in [#123684](https://github.com/getsentry/sentry/pull/123684)
- Match conversation agent flow on operation type agent by @sentry-junior in [#123326](https://github.com/getsentry/sentry/pull/123326)
- Query replacement telemetry attributes by @obostjancic in [#123112](https://github.com/getsentry/sentry/pull/123112)
- Repair conversation span trees by @vgrozdanic in [#123137](https://github.com/getsentry/sentry/pull/123137)
- Refresh active conversation metadata by @vgrozdanic in [#122693](https://github.com/getsentry/sentry/pull/122693)

#### Alerts

- Advertise required scope for monitor updates by @gricha in [#124149](https://github.com/getsentry/sentry/pull/124149)
- Load saved teams missing from the selector by @scttcper in [#123928](https://github.com/getsentry/sentry/pull/123928)
- Show selected members in automation rules by @scttcper in [#123913](https://github.com/getsentry/sentry/pull/123913)
- Return validation error for unsupported alert datasets by @sentry-junior in [#122209](https://github.com/getsentry/sentry/pull/122209)
- Clarify Microsoft Teams channel input by @malwilley in [#123527](https://github.com/getsentry/sentry/pull/123527)
- Log InvalidSearchQuery in EAP alerts at info level by @sentry in [#123098](https://github.com/getsentry/sentry/pull/123098)
- Migration to repair latest adopted release environments by @hobzcalvin in [#122096](https://github.com/getsentry/sentry/pull/122096)

#### Analytics

- Initialize Amplitude for logged-out users by @evanpurkhiser in [#123805](https://github.com/getsentry/sentry/pull/123805)
- Send logged-out events to Amplitude by @evanpurkhiser in [#123783](https://github.com/getsentry/sentry/pull/123783)

#### Api

- Validate more path-provided model object IDs by @kcons in [#124368](https://github.com/getsentry/sentry/pull/124368)
- Allow event:write for unlinking and own comments by @betegon in [#123925](https://github.com/getsentry/sentry/pull/123925)
- Remove alert-filters from API examples by @sentry-junior in [#123863](https://github.com/getsentry/sentry/pull/123863)
- Remove stale alert-filters from unused-frontend-features set by @sentry-junior in [#123850](https://github.com/getsentry/sentry/pull/123850)
- Capture more script user agents in client_kind by @DominikB2014 in [#123640](https://github.com/getsentry/sentry/pull/123640)
- Align team project creation permissions by @jaydgoss in [#123050](https://github.com/getsentry/sentry/pull/123050)
- Correct Explore saved query contracts by @gricha in [#123645](https://github.com/getsentry/sentry/pull/123645)
- Classify Seer callers ahead of unknown in client_kind by @DominikB2014 in [#123578](https://github.com/getsentry/sentry/pull/123578)
- Skip issue mutations without project access by @cvxluo in [#123108](https://github.com/getsentry/sentry/pull/123108)
- Reject invalid organization stats parameters by @cvxluo in [#123170](https://github.com/getsentry/sentry/pull/123170)
- Reject invalid artifact bundle UUIDs by @NicoHinderling in [#122999](https://github.com/getsentry/sentry/pull/122999)
- Honor scope hierarchy in permission scope audit by @gricha in [#123064](https://github.com/getsentry/sentry/pull/123064)
- Complete generated query parameters by @billyvg in [#122837](https://github.com/getsentry/sentry/pull/122837)
- Preserve opaque keys under additional_fields on write by @sentry-junior in [#122398](https://github.com/getsentry/sentry/pull/122398)
- Reject negative pagination cursors by @cvxluo in [#122411](https://github.com/getsentry/sentry/pull/122411)
- Reject negative issue snooze conditions by @cvxluo in [#122435](https://github.com/getsentry/sentry/pull/122435)
- Handle invalid date query params in incidents endpoint by @sentry in [#122171](https://github.com/getsentry/sentry/pull/122171)
- Drop null entries from resolvedWith in event serialization by @emilbonnek in [#122124](https://github.com/getsentry/sentry/pull/122124)

#### Attachments

- Save pending attachments when saving a transaction by @jjbayer in [#123875](https://github.com/getsentry/sentry/pull/123875)
- Set content type on Objectstore attachment uploads by @jan-auer in [#122571](https://github.com/getsentry/sentry/pull/122571)

#### Auth

- Remove account settings from organization login by @evanpurkhiser in [#123823](https://github.com/getsentry/sentry/pull/123823)
- Synchronize branded sign-in loading by @evanpurkhiser in [#123647](https://github.com/getsentry/sentry/pull/123647)
- Use consistent sign-in copy in organization card by @evanpurkhiser in [#123615](https://github.com/getsentry/sentry/pull/123615)
- Keep 2FA authorizing state during redirect by @evanpurkhiser in [#123613](https://github.com/getsentry/sentry/pull/123613)
- Simplify organization auth card copy by @evanpurkhiser in [#123571](https://github.com/getsentry/sentry/pull/123571)
- Show WebAuthn authorization progress by @evanpurkhiser in [#123475](https://github.com/getsentry/sentry/pull/123475)
- Show pending state for organization SSO by @evanpurkhiser in [#123573](https://github.com/getsentry/sentry/pull/123573)
- Render login warnings by @evanpurkhiser in [#123454](https://github.com/getsentry/sentry/pull/123454)
- Keep organization lookup busy during transition by @evanpurkhiser in [#123460](https://github.com/getsentry/sentry/pull/123460)
- Adapt organization clear action for mobile by @evanpurkhiser in [#123457](https://github.com/getsentry/sentry/pull/123457)
- Keep login button available for password managers by @evanpurkhiser in [#123434](https://github.com/getsentry/sentry/pull/123434)
- Set sso flags on invite accept by @nora-shap in [#123088](https://github.com/getsentry/sentry/pull/123088)
- Shorten passkey waiting message by @evanpurkhiser in [#123346](https://github.com/getsentry/sentry/pull/123346)
- Preserve rollout across organizations by @evanpurkhiser in [#123257](https://github.com/getsentry/sentry/pull/123257)
- Reject static asset paths as post-login redirects by @nora-shap in [#123095](https://github.com/getsentry/sentry/pull/123095)
- Redirect SSO directly to organization by @evanpurkhiser in [#123152](https://github.com/getsentry/sentry/pull/123152)
- Canonicalize customer domain login URLs by @evanpurkhiser in [#123155](https://github.com/getsentry/sentry/pull/123155)
- Send Auth V2 cookie through SAML callbacks by @evanpurkhiser in [#123052](https://github.com/getsentry/sentry/pull/123052)
- Allow organization cards to overflow by @evanpurkhiser in [#123038](https://github.com/getsentry/sentry/pull/123038)
- Exempt invited SSO signups from required email verification by @nora-shap in [#122812](https://github.com/getsentry/sentry/pull/122812)
- Camelize auth config callback keys by @evanpurkhiser in [#122259](https://github.com/getsentry/sentry/pull/122259)
- Stop duplicating x509 cert on SAML settings by @sentry-junior in [#122730](https://github.com/getsentry/sentry/pull/122730)
- Restrict console messaging backends to debug mode by @evanpurkhiser in [#122317](https://github.com/getsentry/sentry/pull/122317)

#### Autofix

- Include Linear link in Cloud Agent PR prompt by @sentry-junior in [#124269](https://github.com/getsentry/sentry/pull/124269)
- Gracefully fail when manual feedback is not accepted by @alexsohn1126 in [#124098](https://github.com/getsentry/sentry/pull/124098)
- Skip record_seer_run for free cohort orgs by @Mihir-Mavalankar in [#123444](https://github.com/getsentry/sentry/pull/123444)
- Disable code-changes reset when PR iteration is paused by @joseph-sentry in [#123464](https://github.com/getsentry/sentry/pull/123464)
- Propagate the referrer through the RCA feature path by @chromy in [#123574](https://github.com/getsentry/sentry/pull/123574)
- Expand small code changes by default by @trevor-e in [#123665](https://github.com/getsentry/sentry/pull/123665)
- Send user context with feature runs by @trevor-e in [#123393](https://github.com/getsentry/sentry/pull/123393)
- Allow bash tools with seer rca again by @Zylphrex in [#123253](https://github.com/getsentry/sentry/pull/123253)
- Open the Seer Agent debug drawer with sentry_run_id by @chromy in [#123008](https://github.com/getsentry/sentry/pull/123008)
- Respect force bash mode from the Start Analysis button by @chromy in [#123007](https://github.com/getsentry/sentry/pull/123007)
- Don't offer PR iteration after a failed PR create by @joseph-sentry in [#122599](https://github.com/getsentry/sentry/pull/122599)
- Autoscroll the Seer Autofix drawer to the bottom on open by @jshchnz in [#122745](https://github.com/getsentry/sentry/pull/122745)
- Refresh repository write permissions by @jamieQ in [#122498](https://github.com/getsentry/sentry/pull/122498)
- Don't treat a failed push as an opened PR by @joseph-sentry in [#121745](https://github.com/getsentry/sentry/pull/121745)
- Don't mark seer action busy when feedback is queued by @malwilley in [#122415](https://github.com/getsentry/sentry/pull/122415)
- Turn off the context engine for autofix runs by @chromy in [#122423](https://github.com/getsentry/sentry/pull/122423)
- Show start card when no run exists by @jamieQ in [#122288](https://github.com/getsentry/sentry/pull/122288)
- Align changed file rows by @mtopo27 in [#122207](https://github.com/getsentry/sentry/pull/122207)

#### Automations

- Set de-escalation priority default by @sentry-junior in [#124216](https://github.com/getsentry/sentry/pull/124216)
- Hide bulk actions without write access by @malwilley in [#123531](https://github.com/getsentry/sentry/pull/123531)
- Format custom frequency intervals by @malwilley in [#122784](https://github.com/getsentry/sentry/pull/122784)

#### Billing

- Sanitize the partner support note by @oioki in [#122323](https://github.com/getsentry/sentry/pull/122323)
- Show account credits when no billing details are on file by @itsdangold in [#123448](https://github.com/getsentry/sentry/pull/123448)

#### Ci

- Reconcile pull request scope metadata by @jamieQ in [#123792](https://github.com/getsentry/sentry/pull/123792)
- Use exact PR file lists for change detection by @mchen-sentry in [#122736](https://github.com/getsentry/sentry/pull/122736)

#### Conversations

- Center empty table status by @sentry-junior in [#123997](https://github.com/getsentry/sentry/pull/123997)
- Make missing messages banner dismissible by @sentry-junior in [#123996](https://github.com/getsentry/sentry/pull/123996)
- Align the conversation header skeleton with its content by @ArthurKnaus in [#123425](https://github.com/getsentry/sentry/pull/123425)
- Stop the trace link looking external by @ArthurKnaus in [#122828](https://github.com/getsentry/sentry/pull/122828)
- Use user ID as display-name fallback by @fallintoplace in [#120756](https://github.com/getsentry/sentry/pull/120756)
- Stop loading after reaching the pagination cap by @fallintoplace in [#120751](https://github.com/getsentry/sentry/pull/120751)

#### Crons

- Remap live environments during project transfer by @evanpurkhiser in [#124199](https://github.com/getsentry/sentry/pull/124199)
- Require enough check-ins for incident threshold by @sentry-junior in [#123991](https://github.com/getsentry/sentry/pull/123991)
- Timeout seat acceptance during check-in ingest by @sentry-junior in [#123175](https://github.com/getsentry/sentry/pull/123175)
- Expire system incident redis keys by @ldelvoye in [#122517](https://github.com/getsentry/sentry/pull/122517)

#### Dashboards

- Tighten and align the widget table star column by @JoshuaKGoldberg in [#123436](https://github.com/getsentry/sentry/pull/123436)
- Prevent global filter button stretching by @priscilawebdev in [#123311](https://github.com/getsentry/sentry/pull/123311)
- Open Add Widget menu away from side nav by @sentry-junior in [#123191](https://github.com/getsentry/sentry/pull/123191)
- Make tests for widget builder and nav bar position alignment by @nikkikapadia in [#122875](https://github.com/getsentry/sentry/pull/122875)
- No title unstacked bar charts by @nikkikapadia in [#122911](https://github.com/getsentry/sentry/pull/122911)
- Prettify typed EAP attribute keys in group by by @DominikB2014 in [#123013](https://github.com/getsentry/sentry/pull/123013)
- Restore revisions with accessible projects by @skaasten in [#122916](https://github.com/getsentry/sentry/pull/122916)
- Prevent IndexError for deleted dashboard creators by @sentry in [#122945](https://github.com/getsentry/sentry/pull/122945)
- Stop cascading delete on creator removal by @sentry-junior in [#122910](https://github.com/getsentry/sentry/pull/122910)
- Audit log create, edit, and delete by @sentry-junior in [#122876](https://github.com/getsentry/sentry/pull/122876)
- Seer edit prompt z-index over dropdowns by @nikkikapadia in [#122754](https://github.com/getsentry/sentry/pull/122754)
- Fix ai agent overview trace table widget type by @edwardgou-sentry in [#122868](https://github.com/getsentry/sentry/pull/122868)
- Reject newly invalid widget heights on update by @skaasten in [#122748](https://github.com/getsentry/sentry/pull/122748)
- Enforce widget minimum height on create by @skaasten in [#122601](https://github.com/getsentry/sentry/pull/122601)
- Widget builder not respecting navbar width by @nikkikapadia in [#122778](https://github.com/getsentry/sentry/pull/122778)
- AI Agents Overview linked dashboard url not normalized by @nikkikapadia in [#122510](https://github.com/getsentry/sentry/pull/122510)
- Enforce min height when duplicating dashboard by @narsaynorath in [#122764](https://github.com/getsentry/sentry/pull/122764)
- Remove redundant is_transaction from frontend overview table by @DominikB2014 in [#122722](https://github.com/getsentry/sentry/pull/122722)
- Table widget stories collapsing by @lzhao-sentry in [#122586](https://github.com/getsentry/sentry/pull/122586)
- Don't 500 when validating with an empty project list by @skaasten in [#120998](https://github.com/getsentry/sentry/pull/120998)
- Format negative bytes in metrics charts by @lzhao-sentry in [#122476](https://github.com/getsentry/sentry/pull/122476)
- Suggest refreshing when a save hits stale widget ids by @DominikB2014 in [#122482](https://github.com/getsentry/sentry/pull/122482)
- Return results instead of 400 for widgets with an empty orderby by @skaasten in [#121752](https://github.com/getsentry/sentry/pull/121752)

#### Deletions

- Drop the stale-comment immortality pin from PullRequest retention by @vaind in [#121952](https://github.com/getsentry/sentry/pull/121952)
- Make checkin deletions via monitor env stop using bulk deletion task by @wedamija in [#122309](https://github.com/getsentry/sentry/pull/122309)

#### Derived

- Properly classify promotion race by @kcons in [#123985](https://github.com/getsentry/sentry/pull/123985)
- Narrow the child duplication window in generate_project_derived_data by @kcons in [#123980](https://github.com/getsentry/sentry/pull/123980)
- Schedule consistency checks from leftover heal budget by @sentry-junior in [#123363](https://github.com/getsentry/sentry/pull/123363)

#### Derived Data

- Don't block promotion because live row points at invalid data by @kcons in [#123639](https://github.com/getsentry/sentry/pull/123639)
- Refine promote_to_live logic by @kcons in [#123386](https://github.com/getsentry/sentry/pull/123386)
- When reporting status divergence, report result in all cases by @kcons in [#123345](https://github.com/getsentry/sentry/pull/123345)
- Make heal_stale_derived_data stale group selection more efficient by @kcons in [#123096](https://github.com/getsentry/sentry/pull/123096)
- Ignore status updates from merged in commits by @kcons in [#122967](https://github.com/getsentry/sentry/pull/122967)
- Refine incremental update tracking by @kcons in [#122766](https://github.com/getsentry/sentry/pull/122766)
- Force constraint validation when trying to create GroupDerivedData by @kcons in [#122494](https://github.com/getsentry/sentry/pull/122494)

#### Difs

- Make migration tasks more reliable by @lcian in [#123148](https://github.com/getsentry/sentry/pull/123148)
- Shorten Objectstore migration activations by @lcian in [#122688](https://github.com/getsentry/sentry/pull/122688)
- Skip permanently corrupt DIFs when migrating by @lcian in [#122393](https://github.com/getsentry/sentry/pull/122393)

#### Discover

- Remove unnecessary type assertion in fields spec by @sentry-junior in [#122721](https://github.com/getsentry/sentry/pull/122721)
- Remove /homepage and redirect to index by @nikkikapadia in [#120742](https://github.com/getsentry/sentry/pull/120742)
- Adjust backend validation for returning transactions queries by @nikkikapadia in [#121959](https://github.com/getsentry/sentry/pull/121959)
- Change upsell text to team instead of business by @nikkikapadia in [#122084](https://github.com/getsentry/sentry/pull/122084)

#### Dynamic Sampling

- Carry the recalibration factor across a pipeline switch by @shellmayr in [#123142](https://github.com/getsentry/sentry/pull/123142)
- Don't write legacy recalibration after switch to per-org by @shellmayr in [#123121](https://github.com/getsentry/sentry/pull/123121)
- Compute the per-org recalibration factor only for served orgs by @shellmayr in [#122994](https://github.com/getsentry/sentry/pull/122994)
- Invalidate project config when recalibration factor changes by @shellmayr in [#122981](https://github.com/getsentry/sentry/pull/122981)
- Skip a per-org recalibration write within one cycle by @shellmayr in [#122974](https://github.com/getsentry/sentry/pull/122974)
- Run recalibration only on EAP by @shellmayr in [#122583](https://github.com/getsentry/sentry/pull/122583)
- Clamp the effective sample rate to 1 by @shellmayr in [#121937](https://github.com/getsentry/sentry/pull/121937)

#### Event Formatter

- Stop json field types depending on item count by @shayna-ch in [#123808](https://github.com/getsentry/sentry/pull/123808)
- Skip tags with null keys by @sentry-junior in [#123529](https://github.com/getsentry/sentry/pull/123529)

#### Explore

- Preserve project icons after sorting aggregates in [#124292](https://github.com/getsentry/sentry/pull/124292)
- Disable conversation search history by @vgrozdanic in [#124278](https://github.com/getsentry/sentry/pull/124278)
- Add function type badges to aggregate dropdowns by @nsdeschenes in [#124161](https://github.com/getsentry/sentry/pull/124161)
- Ignore empty cross-event query filters by @nsdeschenes in [#124058](https://github.com/getsentry/sentry/pull/124058)
- Disable copy-as-filter for array attribute cells by @manessaraj in [#124114](https://github.com/getsentry/sentry/pull/124114)
- Pass actor when checking the annotations feature flag by @manessaraj in [#124030](https://github.com/getsentry/sentry/pull/124030)
- Stop dropping attributes past the attribute name limit by @JoshuaKGoldberg in [#122066](https://github.com/getsentry/sentry/pull/122066)
- Show logs sidebar collapse at same breakpoint as panel by @sentry-junior in [#123144](https://github.com/getsentry/sentry/pull/123144)
- Export with highest accuracy sampling by @JoshuaKGoldberg in [#122873](https://github.com/getsentry/sentry/pull/122873)
- Register span item details referrer by @nsdeschenes in [#122843](https://github.com/getsentry/sentry/pull/122843)
- Type array columns in events validate endpoint by @manessaraj in [#122399](https://github.com/getsentry/sentry/pull/122399)
- Populate avg_if argument options in the equation editor by @JoshuaKGoldberg in [#122203](https://github.com/getsentry/sentry/pull/122203)
- Fix bug expanding rows in explore by @k-fish in [#120491](https://github.com/getsentry/sentry/pull/120491)
- Show empty boolean group-by as (no value) by @manessaraj in [#122346](https://github.com/getsentry/sentry/pull/122346)

#### Forms

- Include :orgId in new provider form route for search by @sentry in [#121051](https://github.com/getsentry/sentry/pull/121051)
- Have SelectField restores focus after selecting an option with the keyboard by @TkDodo in [#122570](https://github.com/getsentry/sentry/pull/122570)

#### Gal

- Attribute external issue actions to apps by @cvxluo in [#124050](https://github.com/getsentry/sentry/pull/124050)
- Resolve enrollment through feature handlers by @cvxluo in [#122645](https://github.com/getsentry/sentry/pull/122645)

#### Github

- Scope installation lookups to the GitHub provider by @vaind in [#123818](https://github.com/getsentry/sentry/pull/123818)
- Chunk pull request status GraphQL queries by @NicoHinderling in [#122671](https://github.com/getsentry/sentry/pull/122671)

#### Gitlab

- Reconcile the project hook when a repository is relinked by @vaind in [#123742](https://github.com/getsentry/sentry/pull/123742)
- Bound the receipt failure counter's error tag by @vaind in [#122815](https://github.com/getsentry/sentry/pull/122815)

#### Grouping

- Filter out invalid bases in `EnhancementsConfig` objects by @lobsterkatie in [#122503](https://github.com/getsentry/sentry/pull/122503)
- Mark Flutter web pub-cache frames as not in-app by @buenaflor in [#122395](https://github.com/getsentry/sentry/pull/122395)

#### Hc

- Updates RPC error reporting code by @GabeVillalobos in [#123848](https://github.com/getsentry/sentry/pull/123848)
- Wraps RPC JSON body parsing in explicit error-handling, updates RPC internal error handling in API by @GabeVillalobos in [#123842](https://github.com/getsentry/sentry/pull/123842)

#### Hybridcloud

- Read the rate window without a pipelined mget by @joseph-sentry in [#124099](https://github.com/getsentry/sentry/pull/124099)
- Do not drop webhooks when mailbox sizing fails by @joseph-sentry in [#124047](https://github.com/getsentry/sentry/pull/124047)
- Bound drains by their claim's deadline; merge the drains by @vaind in [#122893](https://github.com/getsentry/sentry/pull/122893)
- Dispatch skip-on-failure mailboxes from their oldest due record by @vaind in [#122686](https://github.com/getsentry/sentry/pull/122686)
- Scope webhook mailboxes to their destination cell by @vaind in [#122687](https://github.com/getsentry/sentry/pull/122687)
- Allow skip-on-failure for Bitbucket, GHE and GitLab webhooks by @vaind in [#121057](https://github.com/getsentry/sentry/pull/121057)

#### Inbox

- Avoid separating old PRs when there are no new ones to show by @malwilley in [#123938](https://github.com/getsentry/sentry/pull/123938)
- Restore selected issue scroll position by @roggenkemper in [#122846](https://github.com/getsentry/sentry/pull/122846)
- Improve fix applied issue actions by @roggenkemper in [#122632](https://github.com/getsentry/sentry/pull/122632)
- Add referrer to issue preview links by @malwilley in [#122898](https://github.com/getsentry/sentry/pull/122898)
- Disambiguate multiple PR actions by @roggenkemper in [#122633](https://github.com/getsentry/sentry/pull/122633)
- Show retry CTA when Seer produces no code changes by @roggenkemper in [#122464](https://github.com/getsentry/sentry/pull/122464)
- Simplify view PR action label by @roggenkemper in [#121318](https://github.com/getsentry/sentry/pull/121318)
- Include identified issues in assigned section by @malwilley in [#122515](https://github.com/getsentry/sentry/pull/122515)
- Align Autofix action icons by @roggenkemper in [#122481](https://github.com/getsentry/sentry/pull/122481)
- Hide "Identified" section when on the "All" tab by @malwilley in [#122480](https://github.com/getsentry/sentry/pull/122480)

#### Insights

- Detect mobile vitals spans for module flags by @sentry-junior in [#122684](https://github.com/getsentry/sentry/pull/122684)
- Repair legacy `/performance/<module>/` redirects by @mrduncan in [#122407](https://github.com/getsentry/sentry/pull/122407)
- Fix web vitals and screen load detection by @mjq in [#122266](https://github.com/getsentry/sentry/pull/122266)

#### Integrations

- Guard inbound assignee sync against reordered webhooks by @vaind in [#121157](https://github.com/getsentry/sentry/pull/121157)
- Use GraphQL for GitHub assignees by @scttcper in [#123657](https://github.com/getsentry/sentry/pull/123657)
- Scope external user lookup by user by @sentry-junior in [#123525](https://github.com/getsentry/sentry/pull/123525)
- Honor pagerduty.app-id from config.yml by @bhataprameya in [#122025](https://github.com/getsentry/sentry/pull/122025)
- Preserve ticket rule selections by @scttcper in [#123676](https://github.com/getsentry/sentry/pull/123676)
- Search GitHub after prefetching empty query by @scttcper in [#123456](https://github.com/getsentry/sentry/pull/123456)
- Check the assignment result in inbound assignee sync by @shashjar in [#122933](https://github.com/getsentry/sentry/pull/122933)
- Ignore reordered and replayed inbound status webhooks by @vaind in [#121084](https://github.com/getsentry/sentry/pull/121084)
- Portal team mapping select menus above table rows by @sentry-junior in [#122535](https://github.com/getsentry/sentry/pull/122535)
- Store webhook request bodies without double encoding by @mrduncan in [#122361](https://github.com/getsentry/sentry/pull/122361)

#### Investigations

- Store Seer's producing run id instead of a foreign key by @wedamija in [#123536](https://github.com/getsentry/sentry/pull/123536)
- Hide the raw JSON query answer from the transcript by @natemoo-re in [#123162](https://github.com/getsentry/sentry/pull/123162)
- Route details through Explore by @arslnb in [#122805](https://github.com/getsentry/sentry/pull/122805)
- Make generated summaries friendlier by @arslnb in [#122681](https://github.com/getsentry/sentry/pull/122681)
- Run dependency-aware cell workflows by @arslnb in [#122185](https://github.com/getsentry/sentry/pull/122185)

#### Issue Detection

- Handle data location differences in segment-derived evidence spans by @lobsterkatie in [#123509](https://github.com/getsentry/sentry/pull/123509)
- Fix missing evidence data in segment-based occurrences by @lobsterkatie in [#123450](https://github.com/getsentry/sentry/pull/123450)

#### Issue Detectors

- Fix missing nodestore data on segment-derived occurrences by @lobsterkatie in [#123288](https://github.com/getsentry/sentry/pull/123288)
- Ignore parentless spans in N+1 API calls detector by @lobsterkatie in [#123062](https://github.com/getsentry/sentry/pull/123062)
- Handle multiple bracketed values in hostnames by @lobsterkatie in [#122637](https://github.com/getsentry/sentry/pull/122637)

#### Issue Details

- Don't show success notification on failure by @hobzcalvin in [#123672](https://github.com/getsentry/sentry/pull/123672)
- Allow dupe-name repos, still query by unique (name,SHA) by @hobzcalvin in [#123671](https://github.com/getsentry/sentry/pull/123671)

#### Issues

- Lower unpinned event header z-index in [#124324](https://github.com/getsentry/sentry/pull/124324)
- Drop the 100vh content floor when the sidebar stacks by @ryan953 in [#124090](https://github.com/getsentry/sentry/pull/124090)
- Restore issue details divider by @priscilawebdev in [#124022](https://github.com/getsentry/sentry/pull/124022)
- Fall back to the exception type for synthetic exceptions by @bitsandfoxes in [#123322](https://github.com/getsentry/sentry/pull/123322)
- Render exceptions without stack traces by @scttcper in [#123675](https://github.com/getsentry/sentry/pull/123675)
- Cap page size on full=true event and hash listings by @oioki in [#123694](https://github.com/getsentry/sentry/pull/123694)
- Prefer the crash location for synthetic exception titles by @bitsandfoxes in [#123430](https://github.com/getsentry/sentry/pull/123430)
- Singularize suggested assignee tooltip in inbox by @sentry-junior in [#123530](https://github.com/getsentry/sentry/pull/123530)
- Prevent view hierarchy from loading forever by @scttcper in [#123031](https://github.com/getsentry/sentry/pull/123031)
- Hide divider with closed sidebar by @priscilawebdev in [#122978](https://github.com/getsentry/sentry/pull/122978)
- Carry `received` into buffered-spans occurrences by @mrduncan in [#123073](https://github.com/getsentry/sentry/pull/123073)
- Handle Snuba query errors in GroupTagsEndpoint by @mrduncan in [#123032](https://github.com/getsentry/sentry/pull/123032)
- Preserve suspect commit score ordering by @scttcper in [#123043](https://github.com/getsentry/sentry/pull/123043)
- Anchor issue preview hovercard to the visible title by @ChrisandraVaz in [#121919](https://github.com/getsentry/sentry/pull/121919)
- Decode text attachment previews from raw bytes by @scttcper in [#122677](https://github.com/getsentry/sentry/pull/122677)
- Preserve pull request links when merging issues by @scttcper in [#122542](https://github.com/getsentry/sentry/pull/122542)
- Cap page size when listing issue events with full=true by @oioki in [#122718](https://github.com/getsentry/sentry/pull/122718)
- Stop leaking a grouphash key per group type without a noise_config by @strongs in [#122042](https://github.com/getsentry/sentry/pull/122042)
- Return 400 for invalid search queries on issues-stats by @mrduncan in [#122219](https://github.com/getsentry/sentry/pull/122219)

#### Jira

- Accept a pasted Jira URL when linking an issue by @shashjar in [#123389](https://github.com/getsentry/sentry/pull/123389)
- Follow issue key changes when a ticket moves projects by @shashjar in [#123198](https://github.com/getsentry/sentry/pull/123198)
- Use timezone-aware JWT timestamps by @NicoHinderling in [#122997](https://github.com/getsentry/sentry/pull/122997)
- Make a second call to fetch project details for saved config projects by @Christinarlong in [#122547](https://github.com/getsentry/sentry/pull/122547)

#### Loader

- Reuse initial loader during app bootstrap by @evanpurkhiser in [#123644](https://github.com/getsentry/sentry/pull/123644)
- Default to system theme before React loads by @evanpurkhiser in [#123576](https://github.com/getsentry/sentry/pull/123576)

#### Markdown

- Reset list item font size to md by @sentry-junior in [#123069](https://github.com/getsentry/sentry/pull/123069)
- Echo unknown tags by default, report only in SeerMarkdown by @sentry-junior in [#123053](https://github.com/getsentry/sentry/pull/123053)

#### Metrics

- Stop the metrics table header from stretching to center its content by @JoshuaKGoldberg in [#123397](https://github.com/getsentry/sentry/pull/123397)
- Restore MetricInfoTabs additionalActions prop by @JoshuaKGoldberg in [#122504](https://github.com/getsentry/sentry/pull/122504)

#### Monitors

- Sort monitors by last occurrence time by @cvxluo in [#124236](https://github.com/getsentry/sentry/pull/124236)
- Surface API errors when enabling monitors by @cvxluo in [#124137](https://github.com/getsentry/sentry/pull/124137)

#### Onboarding

- Make the SCM create project view an accessible form by @jaydgoss in [#123835](https://github.com/getsentry/sentry/pull/123835)
- Key the MS Teams channel picker by name by @jaydgoss in [#123622](https://github.com/getsentry/sentry/pull/123622)
- Send the MS Teams channel name as the alert action target by @jaydgoss in [#123602](https://github.com/getsentry/sentry/pull/123602)
- Remove unsupported one-minute alert interval from new project alerts by @malwilley in [#122865](https://github.com/getsentry/sentry/pull/122865)
- Keep SCM provider pills on a single wrapping row by @jaydgoss in [#122894](https://github.com/getsentry/sentry/pull/122894)
- Establish query containers for SCM steps by @jaydgoss in [#122891](https://github.com/getsentry/sentry/pull/122891)
- Hide SCM install UI from members without access by @jaydgoss in [#122630](https://github.com/getsentry/sentry/pull/122630)
- Sort SCM platform picker alphabetically by @jaydgoss in [#122102](https://github.com/getsentry/sentry/pull/122102)

#### Ourlogs

- Copy and filter full log values, not truncated ones by @JoshuaKGoldberg in [#123377](https://github.com/getsentry/sentry/pull/123377)
- Preserve grouping keys when switching to aggregates by @JoshuaKGoldberg in [#123183](https://github.com/getsentry/sentry/pull/123183)

#### Pr Iter

- Show correct perms update URL in modal by @joseph-sentry in [#122737](https://github.com/getsentry/sentry/pull/122737)
- Link to org based github permissions url by @joseph-sentry in [#122724](https://github.com/getsentry/sentry/pull/122724)

#### Pr Iter

- Wait for pending push before draining feedback by @joseph-sentry in [#123586](https://github.com/getsentry/sentry/pull/123586)
- Ignore bot reviews with no inline comments by @alexsohn1126 in [#123922](https://github.com/getsentry/sentry/pull/123922)

#### Preprod

- Include build configuration in installable artifact download filename by @sentry-junior in [#123871](https://github.com/getsentry/sentry/pull/123871)
- Match updates by raw build number by @jamieQ in [#122984](https://github.com/getsentry/sentry/pull/122984)
- Correct Xcode capitalization by @sentry-junior in [#123557](https://github.com/getsentry/sentry/pull/123557)
- Disallow logical operators in builds search by @chromy in [#123577](https://github.com/getsentry/sentry/pull/123577)
- Use itms-services URL scheme for iOS app installs by @itaybre in [#123369](https://github.com/getsentry/sentry/pull/123369)
- Return snapshot state as enum name string by @NicoHinderling in [#123264](https://github.com/getsentry/sentry/pull/123264)
- Include base sha in missing snapshot messages by @sentry-junior in [#123054](https://github.com/getsentry/sentry/pull/123054)
- Order builds by raw number suffix by @jamieQ in [#122731](https://github.com/getsentry/sentry/pull/122731)

#### React Compiler

- Refactor CommitsList query state to avoid invariant by @sentry in [#123669](https://github.com/getsentry/sentry/pull/123669)
- Avoid invariant on computed-key destructuring in IconClose by @sentry in [#122296](https://github.com/getsentry/sentry/pull/122296)

#### Replay

- Hide duplicate installation mode dropdown in onboarding by @DominikB2014 in [#122848](https://github.com/getsentry/sentry/pull/122848)
- Show bulk-delete range errors in the UI by @JoshuaKGoldberg in [#122587](https://github.com/getsentry/sentry/pull/122587)

#### Replays

- Prevent stack overflow in replayerStepper by @sentry in [#122427](https://github.com/getsentry/sentry/pull/122427)
- Prevent infinite update loop in network sort by @sentry in [#123558](https://github.com/getsentry/sentry/pull/123558)
- Correct useReplayData memoization for React Compiler by @sentry in [#123666](https://github.com/getsentry/sentry/pull/123666)
- Keep replay details loading until the project slug resolves by @JoshuaKGoldberg in [#123445](https://github.com/getsentry/sentry/pull/123445)
- Handle replays missing their initial snapshot by @JoshuaKGoldberg in [#122858](https://github.com/getsentry/sentry/pull/122858)
- Keep issue toggles enabled after save by @scttcper in [#121894](https://github.com/getsentry/sentry/pull/121894)
- Pause without seeking when the tab is hidden by @JoshuaKGoldberg in [#122047](https://github.com/getsentry/sentry/pull/122047)
- Parse ISO timestamp_ms from events endpoint by @sentry-junior in [#122193](https://github.com/getsentry/sentry/pull/122193)

#### Reprocessing

- Cull parallel reprocessing tasks by @tobias-wilfert in [#123693](https://github.com/getsentry/sentry/pull/123693)
- Remove strict equality from check by @tobias-wilfert in [#123317](https://github.com/getsentry/sentry/pull/123317)

#### Scraps

- Recognize all locale helpers in prefer-info-text by @TkDodo in [#124394](https://github.com/getsentry/sentry/pull/124394)
- Match detail page overflow background by @priscilawebdev in [#123680](https://github.com/getsentry/sentry/pull/123680)
- Stop calling the tracking hook from inside Button by @chromy in [#122985](https://github.com/getsentry/sentry/pull/122985)
- Stop AlertLink collapsing inside flex containers by @mrduncan in [#122400](https://github.com/getsentry/sentry/pull/122400)
- Strip separators from pasted OTP values by @evanpurkhiser in [#122263](https://github.com/getsentry/sentry/pull/122263)
- Prevent 1Password from covering OTP input by @evanpurkhiser in [#122220](https://github.com/getsentry/sentry/pull/122220)
- Normalize completed OTP values by @evanpurkhiser in [#122217](https://github.com/getsentry/sentry/pull/122217)

#### Sdk Crash

- Exclude React Native dev-server hot-reload init crashes from SDK crash detection by @antonis in [#123117](https://github.com/getsentry/sentry/pull/123117)
- Ignore fetch instrumentation rejection handler in RN crash detection by @antonis in [#120646](https://github.com/getsentry/sentry/pull/120646)

#### Search

- Parse backtick-delimited aggregate query arguments by @vgrozdanic in [#123897](https://github.com/getsentry/sentry/pull/123897)
- Preserve grouped aggregate filter values by @nsdeschenes in [#123037](https://github.com/getsentry/sentry/pull/123037)
- Reject unsupported project inbox sorts by @cvxluo in [#122414](https://github.com/getsentry/sentry/pull/122414)
- Reject boolean has filters in issue search by @cvxluo in [#122429](https://github.com/getsentry/sentry/pull/122429)
- Allow Command Palette from query builder by @jamieQ in [#122313](https://github.com/getsentry/sentry/pull/122313)

#### Seer

- Synchronize drawer URL state through nuqs by @trevor-e in [#124411](https://github.com/getsentry/sentry/pull/124411)
- Expose trigger source on workflow runs by @trevor-e in [#124379](https://github.com/getsentry/sentry/pull/124379)
- Notify Slack threads when Seer needs approval in [#124332](https://github.com/getsentry/sentry/pull/124332)
- Allow a metric_endpoint to be passed to make_signed_seer_api_request in [#124333](https://github.com/getsentry/sentry/pull/124333)
- Disable issue data FK constraints in [#124325](https://github.com/getsentry/sentry/pull/124325)
- Skip the iteration push when the PR is closed by @alexsohn1126 in [#123831](https://github.com/getsentry/sentry/pull/123831)
- Make the release embed responsive at all widths by @billyvg in [#123955](https://github.com/getsentry/sentry/pull/123955)
- Hide an iteration that failed to write code changes by @joseph-sentry in [#123372](https://github.com/getsentry/sentry/pull/123372)
- Attribute Seer RPC queries as seer, not unknown by @DominikB2014 in [#123785](https://github.com/getsentry/sentry/pull/123785)
- Align inline resource link icons by @billyvg in [#123376](https://github.com/getsentry/sentry/pull/123376)
- Disable Autofix project setup for members by @jamieQ in [#123777](https://github.com/getsentry/sentry/pull/123777)
- Keep long PR feedback comments inside the code changes card by @alexsohn1126 in [#123490](https://github.com/getsentry/sentry/pull/123490)
- Refresh issue progress views when an autofix step lands by @ryan953 in [#123611](https://github.com/getsentry/sentry/pull/123611)
- Prevent thinking UI flash during tool call retries by @natemoo-re in [#123503](https://github.com/getsentry/sentry/pull/123503)
- Decouple Autofix Overview activity filter from global time by @NicoHinderling in [#123533](https://github.com/getsentry/sentry/pull/123533)
- Fix ambiguous monitor embed id instructions by @billyvg in [#123510](https://github.com/getsentry/sentry/pull/123510)
- Keep investigation runs out of the Explorer chat history by @wedamija in [#123384](https://github.com/getsentry/sentry/pull/123384)
- Gate Seer UI on issueSummary.enabled, not the config object by @vaind in [#122197](https://github.com/getsentry/sentry/pull/122197)
- Add bottom padding to expanded repo settings by @sentry-junior in [#123115](https://github.com/getsentry/sentry/pull/123115)
- Drop the duplicate failure reason field by @joseph-sentry in [#123380](https://github.com/getsentry/sentry/pull/123380)
- Allow collapsing ThinkingBlock while thinking is active by @natemoo-re in [#123252](https://github.com/getsentry/sentry/pull/123252)
- Fix dashboard preview chart behavior by @billyvg in [#123327](https://github.com/getsentry/sentry/pull/123327)
- Drain the PR-iteration feedback queue atomically by @joseph-sentry in [#123140](https://github.com/getsentry/sentry/pull/123140)
- Add timeout recovery for Explorer chat by @gricha in [#122934](https://github.com/getsentry/sentry/pull/122934)
- Clarify Night Shift run errors by @trevor-e in [#122675](https://github.com/getsentry/sentry/pull/122675)
- Propagate Explorer failure reasons by @gricha in [#122969](https://github.com/getsentry/sentry/pull/122969)
- Include selected projects in page LLM context by @sentry-junior in [#123036](https://github.com/getsentry/sentry/pull/123036)
- Name the install that owns the repo on handoff 403s by @joseph-sentry in [#122758](https://github.com/getsentry/sentry/pull/122758)
- Skip Night Shift runs without quota by @trevor-e in [#122668](https://github.com/getsentry/sentry/pull/122668)
- Accept numeric project IDs in query embeds by @sentry-junior in [#122966](https://github.com/getsentry/sentry/pull/122966)
- Show hex conversation id in slack agent responses by @sentry-junior in [#122796](https://github.com/getsentry/sentry/pull/122796)
- Make Autofix Overview responsive on narrow widths by @mtopo27 in [#122854](https://github.com/getsentry/sentry/pull/122854)
- Gate autofix overview cards on the issueStats query by @NicoHinderling in [#122851](https://github.com/getsentry/sentry/pull/122851)
- Move Autofix Overview collapse toggle to the tabs row by @mtopo27 in [#122613](https://github.com/getsentry/sentry/pull/122613)
- Make code changes file-row hover and diff border full-width by @mtopo27 in [#122842](https://github.com/getsentry/sentry/pull/122842)
- Keep failing-checks tooltip open on the overview card by @mtopo27 in [#122743](https://github.com/getsentry/sentry/pull/122743)
- Hide Slack upgrade nudge without integration access by @sentry-junior in [#122496](https://github.com/getsentry/sentry/pull/122496)
- Only kick off automation for new issues by @Mihir-Mavalankar in [#122640](https://github.com/getsentry/sentry/pull/122640)
- Use absolute redirect target for autofix overview by @NicoHinderling in [#122676](https://github.com/getsentry/sentry/pull/122676)
- Show 0 affected users on Autofix overview cards by @mtopo27 in [#122642](https://github.com/getsentry/sentry/pull/122642)
- Limit Night Shift to recent issues by @trevor-e in [#122518](https://github.com/getsentry/sentry/pull/122518)
- Reword autofix overview milestone toasts as completed actions by @mtopo27 in [#122316](https://github.com/getsentry/sentry/pull/122316)
- Scope autofix overview to the selected projects by @mtopo27 in [#122305](https://github.com/getsentry/sentry/pull/122305)
- Refine code changes styling in autofix overview by @NicoHinderling in [#122250](https://github.com/getsentry/sentry/pull/122250)
- Break long tokens in autofix overview issue titles by @NicoHinderling in [#122247](https://github.com/getsentry/sentry/pull/122247)
- Add comment about agent source filtering ephemerality for overview endpoint by @NicoHinderling in [#122249](https://github.com/getsentry/sentry/pull/122249)
- Record merged milestone despite abandoned sibling PRs by @NicoHinderling in [#122246](https://github.com/getsentry/sentry/pull/122246)
- Clear free cohort repos on paid activation by @trevor-e in [#122225](https://github.com/getsentry/sentry/pull/122225)
- Match sort and assignee filter sizes on autofix overview by @mtopo27 in [#122221](https://github.com/getsentry/sentry/pull/122221)
- Render failing checks as a bulleted list by @NicoHinderling in [#122189](https://github.com/getsentry/sentry/pull/122189)
- Render overview summaries as Markdown by @mtopo27 in [#122187](https://github.com/getsentry/sentry/pull/122187)

#### Seer Explorer

- Unlock show thinking via code mode flag by @sentry-junior in [#123601](https://github.com/getsentry/sentry/pull/123601)
- Do not open a reasoning box that renders nothing by @azulus in [#123279](https://github.com/getsentry/sentry/pull/123279)

#### Seer Infra Telemetry

- Fix Datadog org URL in Datadog integration installation flow by @srest2021 in [#123652](https://github.com/getsentry/sentry/pull/123652)
- Hide the previous GCP integration verification check result while a new one runs by @shashjar in [#123528](https://github.com/getsentry/sentry/pull/123528)
- Show the GCP connection check as running after a save by @shashjar in [#123356](https://github.com/getsentry/sentry/pull/123356)
- Switch Datadog whoami from MCP to API by @srest2021 in [#123283](https://github.com/getsentry/sentry/pull/123283)

#### Sentry Apps

- Add feedback text to alert webhooks by @michaelknowles in [#123696](https://github.com/getsentry/sentry/pull/123696)
- Skip webhook send when webhook_url is empty by @sentry-junior in [#123612](https://github.com/getsentry/sentry/pull/123612)
- Reject non-latin-1 webhook headers by @sentry-junior in [#123263](https://github.com/getsentry/sentry/pull/123263)

#### Slack

- Avoid reusing prior Seer response by @gricha in [#123243](https://github.com/getsentry/sentry/pull/123243)
- Stop an empty Seer mention before it runs an agent turn by @sehr-m in [#122941](https://github.com/getsentry/sentry/pull/122941)
- Hyperlink team and channel in team-link success message by @sentry-junior in [#122756](https://github.com/getsentry/sentry/pull/122756)

#### Spans

- Handle NoneType in \_anyvalue to prevent ValueError by @sentry in [#119986](https://github.com/getsentry/sentry/pull/119986)
- Reject malformed segment IDs before buffering by @lvthanh03 in [#124141](https://github.com/getsentry/sentry/pull/124141)
- Allow filtering by more than one release version by @narsaynorath in [#121643](https://github.com/getsentry/sentry/pull/121643)

#### Tasks

- Move GAL backfills to long pool by @yuvmen in [#123072](https://github.com/getsentry/sentry/pull/123072)
- Extend issue merge processing deadline by @yuvmen in [#122939](https://github.com/getsentry/sentry/pull/122939)
- Restore GAL backfills to issues pool by @yuvmen in [#122524](https://github.com/getsentry/sentry/pull/122524)

#### Tests

- Update metricsTab.spec.tsx URL param to valid JSON by @sentry in [#124060](https://github.com/getsentry/sentry/pull/124060)
- Update test_typed_validated_data.py by @kenzoengineer in [#124057](https://github.com/getsentry/sentry/pull/124057)

#### Type Coverage

- Ignore false positives from library generics by @TkDodo in [#122691](https://github.com/getsentry/sentry/pull/122691)
- Ignore nested generic any types by @TkDodo in [#122576](https://github.com/getsentry/sentry/pull/122576)

#### Ui

- Disable the project badge link in the breadcrumb title by @Jesse-Box in [#124003](https://github.com/getsentry/sentry/pull/124003)
- Remove conflicting bubble transform styles by @evanpurkhiser in [#123619](https://github.com/getsentry/sentry/pull/123619)
- Position illustration bubbles consistently by @evanpurkhiser in [#123595](https://github.com/getsentry/sentry/pull/123595)
- Respect reduced motion preference by @evanpurkhiser in [#123581](https://github.com/getsentry/sentry/pull/123581)
- Add missing React keys by @scttcper in [#123511](https://github.com/getsentry/sentry/pull/123511)
- Fix responsive column hiding in saved entity tables by @natemoo-re in [#123495](https://github.com/getsentry/sentry/pull/123495)
- Contain branded artwork effects by @evanpurkhiser in [#123437](https://github.com/getsentry/sentry/pull/123437)
- Respect effective project access without membership by @noraxchakalova in [#122311](https://github.com/getsentry/sentry/pull/122311)
- Consolidate button type imports by @priscilawebdev in [#123290](https://github.com/getsentry/sentry/pull/123290)
- Constrain tags to container width by @priscilawebdev in [#123130](https://github.com/getsentry/sentry/pull/123130)
- Speed up detector threshold slider keypresses in test by @sentry-junior in [#123078](https://github.com/getsentry/sentry/pull/123078)
- Stop reserving a scrollbar gutter on scrollable tables by @shellmayr in [#122554](https://github.com/getsentry/sentry/pull/122554)
- Preserve space before login banner link by @sentry-junior in [#122163](https://github.com/getsentry/sentry/pull/122163)

#### Workflow Engine

- Filter all projects detector out when querying by projects by @leeandher in [#124408](https://github.com/getsentry/sentry/pull/124408)
- Reject boolean deescalation comparisons in [#124304](https://github.com/getsentry/sentry/pull/124304)
- Tolerate missing frequency on issue alert dual-write by @sentry-junior in [#122059](https://github.com/getsentry/sentry/pull/122059)
- Remove ordering from all project detector queries by @leeandher in [#123507](https://github.com/getsentry/sentry/pull/123507)
- Coerce assigned_to target_identifier to int by @sentry-junior in [#123378](https://github.com/getsentry/sentry/pull/123378)
- Reduce DataCondition cache TTL by @kcons in [#122422](https://github.com/getsentry/sentry/pull/122422)
- Fix TaggedEventHandler logging by @kcons in [#122281](https://github.com/getsentry/sentry/pull/122281)

#### Workflows

- Enqueue activity processing after commit in [#124345](https://github.com/getsentry/sentry/pull/124345)
- Advertise missing scope for all-project updates by @gricha in [#123917](https://github.com/getsentry/sentry/pull/123917)
- Require integer prioritylevel in priority conditions by @kcons in [#123973](https://github.com/getsentry/sentry/pull/123973)
- Validate Sentry App settings as a list by @cvxluo in [#123405](https://github.com/getsentry/sentry/pull/123405)
- Allow team admins to update alerts solely connected to their projects by @malwilley in [#123385](https://github.com/getsentry/sentry/pull/123385)
- Validate nested action filters by @cvxluo in [#122405](https://github.com/getsentry/sentry/pull/122405)

#### Other

- (alert-webhooks) Handle deleted issue in alert webhook task by @sentry in [#123659](https://github.com/getsentry/sentry/pull/123659)
- (apidocs) Stop documenting query values endpoints do not honor in [#124346](https://github.com/getsentry/sentry/pull/124346)
- (assemble) Prevent File.DoesNotExist race in assemble_artifacts by @sentry in [#122248](https://github.com/getsentry/sentry/pull/122248)
- (assisted-query) Expose numeric issue ID field by @jamieQ in [#124214](https://github.com/getsentry/sentry/pull/124214)
- (auth-v2) Switch cookie settings based on protocol by @natemoo-re in [#123185](https://github.com/getsentry/sentry/pull/123185)
- (avatarButton) Sample border color reliably across environments and image types by @natemoo-re in [#123245](https://github.com/getsentry/sentry/pull/123245)
- (backup) Preserve multiple project keys on import by @sentry-junior in [#124253](https://github.com/getsentry/sentry/pull/124253)
- (bitbucket) Skip deleted refs in webhooks by @NicoHinderling in [#123000](https://github.com/getsentry/sentry/pull/123000)
- (breadcrumbs) Avoid expanding the top bar by @priscilawebdev in [#122690](https://github.com/getsentry/sentry/pull/122690)
- (charts) Fix charts sometimes being mis-sized and spilling out of their container by @edwardgou-sentry in [#122649](https://github.com/getsentry/sentry/pull/122649)
- (chat) ThinkingBlock summary title and title overflow by @natemoo-re in [#123254](https://github.com/getsentry/sentry/pull/123254)
- (cleanup) Delete pending attachments from objectstore by @jjbayer in [#123728](https://github.com/getsentry/sentry/pull/123728)
- (ctrl) Adds additional failure metric for connection resets, minor cleanup from #123660 by @GabeVillalobos in [#124193](https://github.com/getsentry/sentry/pull/124193)
- (dates) Support stats periods measured in seconds by @JoshuaKGoldberg in [#121779](https://github.com/getsentry/sentry/pull/121779)
- (deps) Bump js-yaml to patch CPU exhaustion vulnerabilities by @oioki in [#122456](https://github.com/getsentry/sentry/pull/122456)
- (detectors) Preserve fractional anomaly threshold bounds by @sentry-junior in [#123313](https://github.com/getsentry/sentry/pull/123313)
- (dev) Stop node_modules/.bin from shadowing the venv by @ldelvoye in [#123476](https://github.com/getsentry/sentry/pull/123476)
- (devserver) Ignore --ingest on the control silo by @alexsohn1126 in [#122237](https://github.com/getsentry/sentry/pull/122237)
- (discord) Truncate embed titles to Discord's 256 char limit by @sentry-junior in [#122145](https://github.com/getsentry/sentry/pull/122145)
- (emails) Remove outdated body background pattern by @sentry-junior in [#122523](https://github.com/getsentry/sentry/pull/122523)
- (eslint) Import/no-duplicates by @TkDodo in [#123116](https://github.com/getsentry/sentry/pull/123116)
- (explorer) Show progress while a Code Mode call is in flight by @azulus in [#122670](https://github.com/getsentry/sentry/pull/122670)
- (feature-flags) Add more platforms by @mrduncan in [#122810](https://github.com/getsentry/sentry/pull/122810)
- (features) Honor registered handlers in batch checks by @cvxluo in [#123181](https://github.com/getsentry/sentry/pull/123181)
- (flags) Raise flag name limit to 256 characters by @DominikB2014 in [#122589](https://github.com/getsentry/sentry/pull/122589)
- (frontend) Sync first-event flags into ProjectsStore by @sentry-junior in [#122715](https://github.com/getsentry/sentry/pull/122715)
- (incidents) Skip non-numeric subscription aggregation values by @sentry-junior in [#123164](https://github.com/getsentry/sentry/pull/123164)
- (interfaces) Skip null span entries during to_python by @sentry-junior in [#122750](https://github.com/getsentry/sentry/pull/122750)
- (issue-inbox) Enable Seer rollout in frontend by @cvxluo in [#122896](https://github.com/getsentry/sentry/pull/122896)
- (issue-progress) Clear fix applied when issue reopens by @malwilley in [#122773](https://github.com/getsentry/sentry/pull/122773)
- (jest) Exclude nested agent worktrees from the module map by @vaind in [#122196](https://github.com/getsentry/sentry/pull/122196)
- (logs) Export from server when local values are truncated by @JoshuaKGoldberg in [#122834](https://github.com/getsentry/sentry/pull/122834)
- (members) Remove duplicate loading indicator by @priscilawebdev in [#124155](https://github.com/getsentry/sentry/pull/124155)
- (msteams) Read name and type from the Teams channel list response by @jaydgoss in [#123621](https://github.com/getsentry/sentry/pull/123621)
- (notification-action) Route ticketing actions through group type registry by @sentry-junior in [#123618](https://github.com/getsentry/sentry/pull/123618)
- (objectstore) Handle ranges for compressed objects by @lcian in [#122396](https://github.com/getsentry/sentry/pull/122396)
- (occurrences on eap) Fix escaping in build_escaped_term_filter by @vaind in [#122138](https://github.com/getsentry/sentry/pull/122138)
- (pagefilters) Keep absolute date ranges inside the max window by @JoshuaKGoldberg in [#122039](https://github.com/getsentry/sentry/pull/122039)
- (performance) Query replacement telemetry attributes by @obostjancic in [#123114](https://github.com/getsentry/sentry/pull/123114)
- (prebuilt-dashboards) Allow feature gating prebuilt dashboards by @narsaynorath in [#123909](https://github.com/getsentry/sentry/pull/123909)
- (profiling) Validate profiler IDs before chunk queries by @cvxluo in [#122109](https://github.com/getsentry/sentry/pull/122109)
- (proguard) Left-align the mapping name under its header by @JoshuaKGoldberg in [#124024](https://github.com/getsentry/sentry/pull/124024)
- (project-creation) Preserve SCM details on platform change by @jaydgoss in [#122470](https://github.com/getsentry/sentry/pull/122470)
- (ratelimits) Expire concurrent rate limit keys by @strongs in [#122038](https://github.com/getsentry/sentry/pull/122038)
- (react) Inline chart component selection for static analysis by @sentry in [#122289](https://github.com/getsentry/sentry/pull/122289)
- (releases) Align release comparison table rows by @priscilawebdev in [#123127](https://github.com/getsentry/sentry/pull/123127)
- (repos) Auto-sync newly connected SCM provider so repos appear by @NicoHinderling in [#122617](https://github.com/getsentry/sentry/pull/122617)
- (rules) Attribute ticket creation to the ambient action context by @cvxluo in [#123650](https://github.com/getsentry/sentry/pull/123650)
- (scm-messaging) Persist and Busy Confirm and continue during project creation by @Abdkhan14 in [#124028](https://github.com/getsentry/sentry/pull/124028)
- (sdk) Ignore stale ECharts tooltip errors by @JoshuaKGoldberg in [#122083](https://github.com/getsentry/sentry/pull/122083)
- (sdk-loader) Prevent infinite recursion when calling `Sentry.configureScope()` by @Lms24 in [#122821](https://github.com/getsentry/sentry/pull/122821)
- (sentry apps) Self heal hooks in background w/o org id by @Christinarlong in [#123920](https://github.com/getsentry/sentry/pull/123920)
- (sentryapps) Stop project and sentry app hook collisions by @Christinarlong in [#124094](https://github.com/getsentry/sentry/pull/124094)
- (service-worker) Ignore InvalidStateError during registration by @sentry in [#123624](https://github.com/getsentry/sentry/pull/123624)
- (settings) Show authorizations breadcrumb by @TkDodo in [#123600](https://github.com/getsentry/sentry/pull/123600)
- (similar-issues) Stop truncating the score column headers by @JoshuaKGoldberg in [#124025](https://github.com/getsentry/sentry/pull/124025)
- (slack-discover) Prevent TypeError from None fields/yAxis in unfurl by @sentry in [#122169](https://github.com/getsentry/sentry/pull/122169)
- (snapshots) Bound image diff pixel processing by @jamieQ in [#122366](https://github.com/getsentry/sentry/pull/122366)
- (snuba) Register generated query referrers by @NicoHinderling in [#123005](https://github.com/getsentry/sentry/pull/123005)
- (source-maps) Left-align artifact column contents by @JoshuaKGoldberg in [#123318](https://github.com/getsentry/sentry/pull/123318)
- (span-waterfall) Replace generic metrics calculation with eap by @narsaynorath in [#124075](https://github.com/getsentry/sentry/pull/124075)
- (spike-protection) Restore row padding in the spike protection project list table by @shellmayr in [#122861](https://github.com/getsentry/sentry/pull/122861)
- (sw) Guard against null notification data in worker by @sentry in [#122433](https://github.com/getsentry/sentry/pull/122433)
- (symbolication) Bump max decompressed source size by @jjbayer in [#122133](https://github.com/getsentry/sentry/pull/122133)
- (tables) Forward overlays through Table.HeadCell by @JoshuaKGoldberg in [#122469](https://github.com/getsentry/sentry/pull/122469)
- (tabs) Prevent tabs from collapsing into the overflow menu when they exactly fit by @aashutoshrathi in [#124248](https://github.com/getsentry/sentry/pull/124248)
- (taskworker) Expire the retry_state example's redis key by @ldelvoye in [#122797](https://github.com/getsentry/sentry/pull/122797)
- (tempest) Keep screenshot toggle enabled after save by @scttcper in [#121895](https://github.com/getsentry/sentry/pull/121895)
- (trace) Hide span-only metrics from trace waterfall tab by @nsdeschenes in [#122474](https://github.com/getsentry/sentry/pull/122474)
- (trace-meta) Exclude span-sourced metrics from count by @nsdeschenes in [#122701](https://github.com/getsentry/sentry/pull/122701)
- (tracemetrics) Refresh starred query links after updates by @vjeranc in [#122135](https://github.com/getsentry/sentry/pull/122135)
- (traces) Default agent activity to timeline by @sentry-junior in [#124286](https://github.com/getsentry/sentry/pull/124286)
- (uptime) Limit max number of messages per process to 10k by @wedamija in [#123282](https://github.com/getsentry/sentry/pull/123282)
- (vsts) Stop unresolving when the work item states lookup fails by @vaind in [#123478](https://github.com/getsentry/sentry/pull/123478)
- (web) Serve Scraps without redirecting by @priscilawebdev in [#122557](https://github.com/getsentry/sentry/pull/122557)
- (webvitals) Fix web vital samples not loading in detail slideout panel by @edwardgou-sentry in [#123623](https://github.com/getsentry/sentry/pull/123623)
- Missing next bill card for platform orgs by @noahsmartin in [#123976](https://github.com/getsentry/sentry/pull/123976)
- SeerBadge tooltip by @TkDodo in [#123690](https://github.com/getsentry/sentry/pull/123690)
- Move long running issue tasks to the long pool by @evanh in [#122244](https://github.com/getsentry/sentry/pull/122244)
- Apply color scheme to all React routes by @evanpurkhiser in [#122147](https://github.com/getsentry/sentry/pull/122147)

### Documentation 📚

#### Api

- Publish existing issue linking endpoints as experimental in [#124068](https://github.com/getsentry/sentry/pull/124068)
- Complete public issue linking schemas by @betegon in [#124091](https://github.com/getsentry/sentry/pull/124091)
- Add AI conversation details response example by @vgrozdanic in [#123681](https://github.com/getsentry/sentry/pull/123681)
- Add AI conversation response example by @vgrozdanic in [#123542](https://github.com/getsentry/sentry/pull/123542)
- Document the query parameter on listOrganizationMembers by @chromy in [#123023](https://github.com/getsentry/sentry/pull/123023)

#### Breadcrumblist

- Rework the story around item types and props by @Jesse-Box in [#124154](https://github.com/getsentry/sentry/pull/124154)
- Stop documenting a preservePageFilters prop by @Jesse-Box in [#124000](https://github.com/getsentry/sentry/pull/124000)

#### Issues

- Document preprod and configuration issue categories by @shashjar in [#124054](https://github.com/getsentry/sentry/pull/124054)
- Document the project issues `statsPeriod` default and accepted values by @shashjar in [#122937](https://github.com/getsentry/sentry/pull/122937)

#### Scraps

- Add drag handle best practices by @ChrisandraVaz in [#122551](https://github.com/getsentry/sentry/pull/122551)
- Show ToolCall detail example code by @priscilawebdev in [#122816](https://github.com/getsentry/sentry/pull/122816)

#### Seer

- Fix stale paths and add the stories step to the seer-embed skill by @billyvg in [#123910](https://github.com/getsentry/sentry/pull/123910)
- Document the embed directory convention by @billyvg in [#123368](https://github.com/getsentry/sentry/pull/123368)

#### Other

- (agents) Check sentry_conventions before naming a new attribute by @DominikB2014 in [#123579](https://github.com/getsentry/sentry/pull/123579)
- (alerts) Document the metric alert params the endpoint accepts by @azulus in [#122604](https://github.com/getsentry/sentry/pull/122604)
- (auth) Clarify organization ID login semantics by @evanpurkhiser in [#122284](https://github.com/getsentry/sentry/pull/122284)

### Internal Changes 🔧

#### ✂️

- Remove unused path mapping by @TkDodo in [#122986](https://github.com/getsentry/sentry/pull/122986)
- Cleanup config by @TkDodo in [#122973](https://github.com/getsentry/sentry/pull/122973)
- Remove unused ddStringMultiFilter method by @TkDodo in [#122817](https://github.com/getsentry/sentry/pull/122817)

#### Admin

- Consolidate the two resultGrid copies by @JoshuaKGoldberg in [#123395](https://github.com/getsentry/sentry/pull/123395)
- Show only the EAP sample rate on the customer overview by @shellmayr in [#123767](https://github.com/getsentry/sentry/pull/123767)
- Use core Alert and typography on the admin home page by @shellmayr in [#123415](https://github.com/getsentry/sentry/pull/123415)
- Speed up customer details tests by @scttcper in [#123102](https://github.com/getsentry/sentry/pull/123102)
- Point the platform migration action at its own endpoint by @skonves in [#122918](https://github.com/getsentry/sentry/pull/122918)

#### Agents

- Simplify explicit role check by @matejminar in [#124005](https://github.com/getsentry/sentry/pull/124005)
- Drop unused trace error binding by @matejminar in [#123874](https://github.com/getsentry/sentry/pull/123874)
- Normalize boolean tag values without suppression by @matejminar in [#123753](https://github.com/getsentry/sentry/pull/123753)
- Reuse trace query state by @matejminar in [#123719](https://github.com/getsentry/sentry/pull/123719)
- Let the selected SDK drive the onboarding runtime by @ArthurKnaus in [#123682](https://github.com/getsentry/sentry/pull/123682)
- Remove obsolete trace link prop by @matejminar in [#123426](https://github.com/getsentry/sentry/pull/123426)

#### Ai Monitoring

- Remove duplicate conversation tests by @vgrozdanic in [#124074](https://github.com/getsentry/sentry/pull/124074)
- Reduce conversation parent repair latency by @vgrozdanic in [#124044](https://github.com/getsentry/sentry/pull/124044)
- Hydrate conversations with one query by @vgrozdanic in [#123891](https://github.com/getsentry/sentry/pull/123891)
- Remove slow conversation query path by @vgrozdanic in [#123731](https://github.com/getsentry/sentry/pull/123731)
- Query unfiltered conversations once by @vgrozdanic in [#123567](https://github.com/getsentry/sentry/pull/123567)
- Decouple conversation APIs from UI feature gate by @vgrozdanic in [#123314](https://github.com/getsentry/sentry/pull/123314)
- Consolidate conversation utilities by @vgrozdanic in [#122988](https://github.com/getsentry/sentry/pull/122988)
- Unregister one-shot title rollout option by @vgrozdanic in [#123122](https://github.com/getsentry/sentry/pull/123122)
- Use one-shot API for conversation titles by @vgrozdanic in [#122989](https://github.com/getsentry/sentry/pull/122989)
- Use Seer one-shot for conversation titles by @vgrozdanic in [#122700](https://github.com/getsentry/sentry/pull/122700)
- Index conversation metadata updates by @vgrozdanic in [#122692](https://github.com/getsentry/sentry/pull/122692)
- Move conversation list endpoint by @vgrozdanic in [#122685](https://github.com/getsentry/sentry/pull/122685)
- Move conversation details endpoint by @vgrozdanic in [#122578](https://github.com/getsentry/sentry/pull/122578)

#### Alerts

- Add new_environment_id shadow column to sentry_rule by @ldelvoye in [#124213](https://github.com/getsentry/sentry/pull/124213)
- Replace `pr_created` trigger with  `pr_ready_for_review` (again) by @leeandher in [#123055](https://github.com/getsentry/sentry/pull/123055)
- Temporarily disable the deprecation brownout of the /rules/ post endpoint by @malwilley in [#122673](https://github.com/getsentry/sentry/pull/122673)

#### Analytics

- Record analytics events to Datadog+Sentry by @rbro112 in [#124129](https://github.com/getsentry/sentry/pull/124129)
- Move autofix PR analytics events into existing autofix_events file by @rbro112 in [#124125](https://github.com/getsentry/sentry/pull/124125)

#### Api

- Require event:write for user-issue and replay-summary POSTs by @DominikB2014 in [#124287](https://github.com/getsentry/sentry/pull/124287)
- Log client_kind on the API access log by @DominikB2014 in [#123915](https://github.com/getsentry/sentry/pull/123915)
- Report client_kind attributes from every endpoint by @DominikB2014 in [#123907](https://github.com/getsentry/sentry/pull/123907)
- Set client_kind attributes for all org events endpoints by @DominikB2014 in [#123587](https://github.com/getsentry/sentry/pull/123587)
- Remove orphaned member invite validators by @vgrozdanic in [#123113](https://github.com/getsentry/sentry/pull/123113)
- Skip release stats in project event details by @cvxluo in [#122530](https://github.com/getsentry/sentry/pull/122530)
- Add authentication integration coverage by @evanpurkhiser in [#122275](https://github.com/getsentry/sentry/pull/122275)
- Scope auth error handling to protected routes by @evanpurkhiser in [#122164](https://github.com/getsentry/sentry/pull/122164)

#### Apigw

- Gate also control proxied requests behind circuitbreakers by @gi0baro in [#122845](https://github.com/getsentry/sentry/pull/122845)
- Switch from `httpx` to `punkreq` by @gi0baro in [#122723](https://github.com/getsentry/sentry/pull/122723)

#### Attachments

- Track false positives in pending attachment cleanup by @jjbayer in [#123737](https://github.com/getsentry/sentry/pull/123737)
- Stop returning SHA1 in API by @jan-auer in [#122579](https://github.com/getsentry/sentry/pull/122579)

#### Auth

- Always include organization slug in SSO errors in [#124200](https://github.com/getsentry/sentry/pull/124200)
- Specify sample_rate by @nora-shap in [#123868](https://github.com/getsentry/sentry/pull/123868)
- Drop redundant account settings assertion by @evanpurkhiser in [#123824](https://github.com/getsentry/sentry/pull/123824)
- Cleanup, add option by @nora-shap in [#123479](https://github.com/getsentry/sentry/pull/123479)
- Split login banner formats by @evanpurkhiser in [#123441](https://github.com/getsentry/sentry/pull/123441)
- Wait for authenticated SSO state by @evanpurkhiser in [#123342](https://github.com/getsentry/sentry/pull/123342)
- Cover organization SSO flows by @evanpurkhiser in [#123240](https://github.com/getsentry/sentry/pull/123240)
- Expect disabled Auth V2 cookie by @TkDodo in [#123156](https://github.com/getsentry/sentry/pull/123156)
- Cover two-factor authentication flows by @evanpurkhiser in [#122341](https://github.com/getsentry/sentry/pull/122341)
- Cover password authentication flows by @evanpurkhiser in [#122340](https://github.com/getsentry/sentry/pull/122340)
- Cover two-factor login composition by @evanpurkhiser in [#122339](https://github.com/getsentry/sentry/pull/122339)
- Cover organization login composition by @evanpurkhiser in [#122338](https://github.com/getsentry/sentry/pull/122338)
- Cover React login configuration by @evanpurkhiser in [#122337](https://github.com/getsentry/sentry/pull/122337)
- Remove old experimental SPA login by @evanpurkhiser in [#122841](https://github.com/getsentry/sentry/pull/122841)
- Extract two-factor rate limit helpers by @evanpurkhiser in [#122416](https://github.com/getsentry/sentry/pull/122416)

#### Autofix

- Give each PR iteration stage its own trace by @joseph-sentry in [#123936](https://github.com/getsentry/sentry/pull/123936)
- Remove now unused autofix feature payload fields in [#124295](https://github.com/getsentry/sentry/pull/124295)
- Shrink creating / updating pr button in drawer by @joseph-sentry in [#123774](https://github.com/getsentry/sentry/pull/123774)
- Accept all autofix metrics, remove explicit Sentry metric by @rbro112 in [#124145](https://github.com/getsentry/sentry/pull/124145)
- Register new solution/code in seer feature flags by @rbro112 in [#124083](https://github.com/getsentry/sentry/pull/124083)
- Pass proxy headers to rca-in-seer by @rbro112 in [#123986](https://github.com/getsentry/sentry/pull/123986)
- Pass base_shas to rca-in-seer by @rbro112 in [#123869](https://github.com/getsentry/sentry/pull/123869)
- Cleanup AutofixStep and autofix-in-seer logic by @rbro112 in [#123865](https://github.com/getsentry/sentry/pull/123865)
- Pass project_id to rca-in-seer by @rbro112 in [#123862](https://github.com/getsentry/sentry/pull/123862)
- Stop storing results in extras by @rbro112 in [#123860](https://github.com/getsentry/sentry/pull/123860)
- Only render bash evidence for employees by @Zylphrex in [#123781](https://github.com/getsentry/sentry/pull/123781)
- Remove skip_quota check by @rbro112 in [#123442](https://github.com/getsentry/sentry/pull/123442)
- Skip_quota used when also skipping quota checks by @rbro112 in [#123439](https://github.com/getsentry/sentry/pull/123439)
- Add skip_quota to autofix running to skip quota recoding by @rbro112 in [#123403](https://github.com/getsentry/sentry/pull/123403)
- Fix broken rca test from revert by @Zylphrex in [#123249](https://github.com/getsentry/sentry/pull/123249)
- Use a colon instead of an em dash in PR command hints by @alexsohn1126 in [#123059](https://github.com/getsentry/sentry/pull/123059)
- Pass run options through to the RCA feature by @chromy in [#122866](https://github.com/getsentry/sentry/pull/122866)
- Pass on_completion_hook to rca-in-seer by @rbro112 in [#122549](https://github.com/getsentry/sentry/pull/122549)
- Relax rate limit on group autofix repos endpoint by @NicoHinderling in [#122627](https://github.com/getsentry/sentry/pull/122627)
- Use bash tools flag to enable repo checks by @Zylphrex in [#122461](https://github.com/getsentry/sentry/pull/122461)
- Make the GitHub App permissions warning CI-specific by @joseph-sentry in [#122514](https://github.com/getsentry/sentry/pull/122514)

#### Codeowners

- Co-own AI and MCP trace surfaces by @sentry-junior in [#124390](https://github.com/getsentry/sentry/pull/124390)
- Update claude code ownership by @sentaur-athena in [#123280](https://github.com/getsentry/sentry/pull/123280)
- Organize issue codeowners by feature by @sentaur-athena in [#122286](https://github.com/getsentry/sentry/pull/122286)
- Limit owners-snuba to snuba-named paths by @phacops in [#122265](https://github.com/getsentry/sentry/pull/122265)

#### Control

- Decide request-only routing before the integration lookups by @vaind in [#123298](https://github.com/getsentry/sentry/pull/123298)
- Remove the github check-drop option now that it is baselined by @vaind in [#122581](https://github.com/getsentry/sentry/pull/122581)
- Baseline the GitHub own-repo-PR check drop to on by @vaind in [#121954](https://github.com/getsentry/sentry/pull/121954)

#### Conversations

- Narrow timestamp values inline by @matejminar in [#124389](https://github.com/getsentry/sentry/pull/124389)
- Remove querying enhancements flag by @vgrozdanic in [#124384](https://github.com/getsentry/sentry/pull/124384)
- Keep message stats type private by @matejminar in [#123677](https://github.com/getsentry/sentry/pull/123677)
- Remove redundant empty bounds branch by @matejminar in [#123544](https://github.com/getsentry/sentry/pull/123544)
- Reuse node timestamp fallback by @matejminar in [#123296](https://github.com/getsentry/sentry/pull/123296)

#### Crons

- Fix crons span sampling by @wedamija in [#123261](https://github.com/getsentry/sentry/pull/123261)
- Add parallel batching mode to clock tasks consumer by @wedamija in [#123029](https://github.com/getsentry/sentry/pull/123029)
- Small query optimization in clock tasks consumer by @wedamija in [#123024](https://github.com/getsentry/sentry/pull/123024)
- Sample rate limited processing errors instead of dropping them by @wedamija in [#122921](https://github.com/getsentry/sentry/pull/122921)
- Stop storing processing errors for throttled check-ins by @wedamija in [#122905](https://github.com/getsentry/sentry/pull/122905)
- Sample the ingest-monitors per-check-in transaction by @wedamija in [#122531](https://github.com/getsentry/sentry/pull/122531)
- Make monitors.checkin.result one increment per message by @wedamija in [#122546](https://github.com/getsentry/sentry/pull/122546)

#### Dashboards

- Wait for widget builder aliases to reset by @NicoHinderling in [#124380](https://github.com/getsentry/sentry/pull/124380)
- Replace useQueryParamState with nuqs by @ryan953 in [#123965](https://github.com/getsentry/sentry/pull/123965)
- Avoid mocking router hooks in dashboard/manage tests by @malwilley in [#124293](https://github.com/getsentry/sentry/pull/124293)
- Drive widget builder specs through the real router by @ryan953 in [#123974](https://github.com/getsentry/sentry/pull/123974)
- Avoid mocking useNavigate by @malwilley in [#123959](https://github.com/getsentry/sentry/pull/123959)
- Surface dashboard starring beside the actions menu by @Jesse-Box in [#123876](https://github.com/getsentry/sentry/pull/123876)
- Build the tooltip series marker as JSX by @oioki in [#122322](https://github.com/getsentry/sentry/pull/122322)
- Remove `organizations:dashboards-ai-generate-edit` flag registration by @cvxluo in [#120592](https://github.com/getsentry/sentry/pull/120592)

#### Db

- Remove legacy create_or_update by @vgrozdanic in [#123309](https://github.com/getsentry/sentry/pull/123309)
- Remove final create_or_update caller by @vgrozdanic in [#123035](https://github.com/getsentry/sentry/pull/123035)

#### Deps

- Bump sentry-kafka-schemas to 3.0.2 in [#124335](https://github.com/getsentry/sentry/pull/124335)
- Update sentry-redis-tools to 0.5.2 by @kcons in [#124231](https://github.com/getsentry/sentry/pull/124231)
- Bump @sentry/conventions to 0.23.0 by @nsdeschenes in [#124166](https://github.com/getsentry/sentry/pull/124166)
- Bump @sentry/conventions to 0.22.0 by @nsdeschenes in [#124017](https://github.com/getsentry/sentry/pull/124017)
- Update taskbroker-client by @evanh in [#123784](https://github.com/getsentry/sentry/pull/123784)
- Bump djangorestframework from 3.16.1 to 3.17.2 by @dependabot in [#123424](https://github.com/getsentry/sentry/pull/123424)
- Bump uv from 0.9.28 to 0.12.10 by @oioki in [#123762](https://github.com/getsentry/sentry/pull/123762)
- Bump mistune from 3.3.0 to 3.3.3 by @dependabot in [#123761](https://github.com/getsentry/sentry/pull/123761)
- Bump sentry-protos to 0.66.0 by @armcknight in [#123674](https://github.com/getsentry/sentry/pull/123674)
- Bump sentry-protos to 0.64.6 by @volokluev in [#123651](https://github.com/getsentry/sentry/pull/123651)
- Update conventions to 0.21.0 by @nsdeschenes in [#123330](https://github.com/getsentry/sentry/pull/123330)
- Bump django from 5.2.15 to 5.2.16 by @dependabot in [#122702](https://github.com/getsentry/sentry/pull/122702)
- Bump h2 from 4.3.0 to 4.4.1 by @dependabot in [#122704](https://github.com/getsentry/sentry/pull/122704)
- Bump sqlparse from 0.5.4 to 0.6.0 by @dependabot in [#122703](https://github.com/getsentry/sentry/pull/122703)
- Update conventions to 0.20.0 by @nsdeschenes in [#122562](https://github.com/getsentry/sentry/pull/122562)
- Bump vroomrs to 0.1.24 for pyo3 security fix by @manessaraj in [#122354](https://github.com/getsentry/sentry/pull/122354)

#### Deps Dev

- Bump the oxlint-dependencies group across 1 directory with 2 updates by @dependabot in [#124222](https://github.com/getsentry/sentry/pull/124222)
- Bump stylelint from 16.10.0 to 16.26.1 by @dependabot in [#121806](https://github.com/getsentry/sentry/pull/121806)

#### Dynamic Sampling

- Delete the unused SamplingMeasure abstraction by @shellmayr in [#124405](https://github.com/getsentry/sentry/pull/124405)
- Delete unused sliding window helpers by @shellmayr in [#124403](https://github.com/getsentry/sentry/pull/124403)
- Remove comments that describe the deleted legacy pipeline by @shellmayr in [#124406](https://github.com/getsentry/sentry/pull/124406)
- Delete the legacy boost-low-volume task modules by @shellmayr in [#124263](https://github.com/getsentry/sentry/pull/124263)
- Remove compatibility code between legacy & per-org dynamic sampling by @shellmayr in [#124259](https://github.com/getsentry/sentry/pull/124259)
- Query project span counts from EAP on settings page by @shellmayr in [#124260](https://github.com/getsentry/sentry/pull/124260)
- Lower the trace sample rate of the per-org tasks by @shellmayr in [#124272](https://github.com/getsentry/sentry/pull/124272)
- Remove the generic-metrics organization volume queries in \_admin endpoint by @shellmayr in [#124264](https://github.com/getsentry/sentry/pull/124264)
- Remove the admin metrics endpoint by @shellmayr in [#124262](https://github.com/getsentry/sentry/pull/124262)
- Add e2e test for per-org pipeline by @shellmayr in [#124008](https://github.com/getsentry/sentry/pull/124008)
- Delete legacy dynamic sampling jobs by @shellmayr in [#124004](https://github.com/getsentry/sentry/pull/124004)
- Stop scheduling the legacy dynamic sampling jobs by @shellmayr in [#124012](https://github.com/getsentry/sentry/pull/124012)
- Run and serve the per-org pipeline by default by @shellmayr in [#124018](https://github.com/getsentry/sentry/pull/124018)
- Remove Manual Mode and rebalance orgs through the per-org pipeline by @shellmayr in [#124006](https://github.com/getsentry/sentry/pull/124006)
- Disable the switch into Advanced Mode by @shellmayr in [#124007](https://github.com/getsentry/sentry/pull/124007)
- Remove the legacy-vs-per-org comparison logging by @shellmayr in [#124001](https://github.com/getsentry/sentry/pull/124001)
- Stop serving legacy caches as fallback by @shellmayr in [#123771](https://github.com/getsentry/sentry/pull/123771)
- Log the value served on per-org fallback by @shellmayr in [#123754](https://github.com/getsentry/sentry/pull/123754)
- Remove unused constants by @shellmayr in [#123551](https://github.com/getsentry/sentry/pull/123551)
- Remove unused bias datastructures by @shellmayr in [#123550](https://github.com/getsentry/sentry/pull/123550)
- Clean up ds per org metrics code by @shellmayr in [#123546](https://github.com/getsentry/sentry/pull/123546)
- Remove recalibration rollout option by @shellmayr in [#123543](https://github.com/getsentry/sentry/pull/123543)
- Remove the spans/segments measure differentiation by @shellmayr in [#123303](https://github.com/getsentry/sentry/pull/123303)
- Add a TTL to the latest release date key by @strongs in [#122746](https://github.com/getsentry/sentry/pull/122746)
- Remove rollout flag for recalibration by @shellmayr in [#122709](https://github.com/getsentry/sentry/pull/122709)
- Separate task tags on recalibration cache get metric by @shellmayr in [#122580](https://github.com/getsentry/sentry/pull/122580)
- Collect per-org results on the configuration by @shellmayr in [#121956](https://github.com/getsentry/sentry/pull/121956)
- Use chunking in batch pre-validate for CursoredScheduler & check the feature flag before spawning per-org tasks in DS by @shellmayr in [#121938](https://github.com/getsentry/sentry/pull/121938)

#### Explore

- Avoid mocking router hooks in useMultiQueryTable.spec.tsx by @malwilley in [#124096](https://github.com/getsentry/sentry/pull/124096)
- Avoid mocking router hooks in releasesDrawerDetails by @malwilley in [#124093](https://github.com/getsentry/sentry/pull/124093)
- Avoid mocking router hooks in savedQueriesLandingContent.spec.tsx by @malwilley in [#124092](https://github.com/getsentry/sentry/pull/124092)
- Avoid mocking router hooks in useVisualizeFields.spec by @malwilley in [#124052](https://github.com/getsentry/sentry/pull/124052)
- Avoid mocking router hooks in useSortByFields.spec.tsx by @malwilley in [#124049](https://github.com/getsentry/sentry/pull/124049)
- Remove span details flag registration by @nsdeschenes in [#123787](https://github.com/getsentry/sentry/pull/123787)
- Remove the span item details feature gate by @nsdeschenes in [#123604](https://github.com/getsentry/sentry/pull/123604)
- Migrate responsive layouts to container queries by @priscilawebdev in [#123548](https://github.com/getsentry/sentry/pull/123548)
- Save queries with TS Query mutations by @nsdeschenes in [#123570](https://github.com/getsentry/sentry/pull/123570)
- Stop gating the Metrics search bar on gen-ai-explore-metrics-search by @isaacwang-sentry in [#122654](https://github.com/getsentry/sentry/pull/122654)
- Drop pending project column from metric context by @DominikB2014 in [#122638](https://github.com/getsentry/sentry/pull/122638)
- Register flag for span details work by @nsdeschenes in [#122710](https://github.com/getsentry/sentry/pull/122710)
- Remove project from metric context model by @DominikB2014 in [#122625](https://github.com/getsentry/sentry/pull/122625)

#### Flags

- Add a temp flag to gate seer rollout of AP detector by @leeandher in [#123145](https://github.com/getsentry/sentry/pull/123145)
- Remove unused conversations feature registrations by @obostjancic in [#122565](https://github.com/getsentry/sentry/pull/122565)

#### Forms

- Migrate contract end date action by @priscilawebdev in [#122444](https://github.com/getsentry/sentry/pull/122444)
- Migrate organization API key form to Scraps by @priscilawebdev in [#122440](https://github.com/getsentry/sentry/pull/122440)
- Migrate gsAdmin forms to Scraps by @priscilawebdev in [#123720](https://github.com/getsentry/sentry/pull/123720)
- Migrate Vercel refund request modal by @priscilawebdev in [#122441](https://github.com/getsentry/sentry/pull/122441)
- Migrate dashboard parallel limit modal by @priscilawebdev in [#122446](https://github.com/getsentry/sentry/pull/122446)
- Migrate end-period modal to Scraps by @priscilawebdev in [#122445](https://github.com/getsentry/sentry/pull/122445)
- Migrate data requests lookup by @priscilawebdev in [#122449](https://github.com/getsentry/sentry/pull/122449)
- Migrate organization membership modals by @priscilawebdev in [#122448](https://github.com/getsentry/sentry/pull/122448)
- Decouple Scraps errors from RequestError by @TkDodo in [#122827](https://github.com/getsentry/sentry/pull/122827)
- Remove legacy unused project mapper field by @malwilley in [#122734](https://github.com/getsentry/sentry/pull/122734)
- Migrate OAuth client creation form by @priscilawebdev in [#122451](https://github.com/getsentry/sentry/pull/122451)
- Migrate partnership agreement form to Scraps by @priscilawebdev in [#122390](https://github.com/getsentry/sentry/pull/122390)
- Migrate SSO form to Scraps by @priscilawebdev in [#122392](https://github.com/getsentry/sentry/pull/122392)
- Migrate unsubscribe forms to Scraps by @priscilawebdev in [#122389](https://github.com/getsentry/sentry/pull/122389)
- Migrate consent forms to Scraps by @priscilawebdev in [#122391](https://github.com/getsentry/sentry/pull/122391)

#### Frontend

- Migrate responsive layouts to container queries by @priscilawebdev in [#123413](https://github.com/getsentry/sentry/pull/123413)
- Migrate components to container queries by @TkDodo in [#122695](https://github.com/getsentry/sentry/pull/122695)
- Migrate small views to container queries by @priscilawebdev in [#122558](https://github.com/getsentry/sentry/pull/122558)
- Fail knip on config hints by @sentry-junior in [#122634](https://github.com/getsentry/sentry/pull/122634)

#### Gsadmin

- Migrate spend allocation modal form by @priscilawebdev in [#122443](https://github.com/getsentry/sentry/pull/122443)
- Resolve organization membership request by @priscilawebdev in [#123408](https://github.com/getsentry/sentry/pull/123408)
- Migrate billing metric history form by @priscilawebdev in [#122447](https://github.com/getsentry/sentry/pull/122447)

#### Hc

- Splits validation and proxy logic in IntegrationProxy, adds more granular metric tracking by @GabeVillalobos in [#123660](https://github.com/getsentry/sentry/pull/123660)
- Removes redundant dict building for outbox depth counts by @GabeVillalobos in [#123523](https://github.com/getsentry/sentry/pull/123523)

#### Hybrid Cloud

- Remove Redis from outbox backfill watermark flow by @strongs in [#124318](https://github.com/getsentry/sentry/pull/124318)
- Read the outbox backfill watermark from postgres behind an option by @strongs in [#123937](https://github.com/getsentry/sentry/pull/123937)
- Drop the sentry-app backfill watermark tables by @strongs in [#123947](https://github.com/getsentry/sentry/pull/123947)
- Clean up deletion watermarks so we don't refresh every cycle by @strongs in [#123646](https://github.com/getsentry/sentry/pull/123646)
- Remove Redis from deletion watermark flow by @strongs in [#123630](https://github.com/getsentry/sentry/pull/123630)
- Rewrite both hybrid cloud watermark keys every cycle by @strongs in [#123057](https://github.com/getsentry/sentry/pull/123057)

#### Hybridcloud

- Derive total_outbox_count from category depths by @valencitas in [#123626](https://github.com/getsentry/sentry/pull/123626)
- Remove the deletion watermark cutover options by @strongs in [#123830](https://github.com/getsentry/sentry/pull/123830)
- Remove the baselined webhook drain gate options by @vaind in [#123718](https://github.com/getsentry/sentry/pull/123718)
- Register webhook worker threads at the deployed value by @vaind in [#123716](https://github.com/getsentry/sentry/pull/123716)
- Collapse the batched-delete and due-head gates by @vaind in [#123717](https://github.com/getsentry/sentry/pull/123717)
- Read webhook bucket keys through one helper by @vaind in [#123678](https://github.com/getsentry/sentry/pull/123678)
- Assemble mailbox names in one place by @vaind in [#123471](https://github.com/getsentry/sentry/pull/123471)
- Require the claim's deadline and mailbox on drains by @vaind in [#123275](https://github.com/getsentry/sentry/pull/123275)
- Resolve integration, org integrations and cells once per webhook by @vaind in [#123299](https://github.com/getsentry/sentry/pull/123299)
- Distinguish the two unbucketed mailbox routing outcomes by @vaind in [#123291](https://github.com/getsentry/sentry/pull/123291)
- Remove dead externalactor replication option by @strongs in [#123186](https://github.com/getsentry/sentry/pull/123186)
- Remove legacy outbox model setting by @cvxluo in [#123082](https://github.com/getsentry/sentry/pull/123082)
- Carry surplus discovered mailbox heads across scheduler cycles by @vaind in [#122903](https://github.com/getsentry/sentry/pull/122903)
- Clarify scheduled outbox model setting by @cvxluo in [#122408](https://github.com/getsentry/sentry/pull/122408)
- Deregister push_drain_trigger by @vaind in [#122779](https://github.com/getsentry/sentry/pull/122779)
- Stop building the retired github_event_and_action tag by @vaind in [#122814](https://github.com/getsentry/sentry/pull/122814)
- Baseline the webhook push drain trigger by @vaind in [#122717](https://github.com/getsentry/sentry/pull/122717)
- Deregister claim_dispatch_rollout by @vaind in [#122591](https://github.com/getsentry/sentry/pull/122591)
- Baseline claim dispatch for webhook drains by @vaind in [#122590](https://github.com/getsentry/sentry/pull/122590)
- Drop the redundant mailbox count from the webhook scheduler by @vaind in [#121449](https://github.com/getsentry/sentry/pull/121449)
- Batch row deletes in claim-backed drains by @vaind in [#121455](https://github.com/getsentry/sentry/pull/121455)
- Separate out explicit outbox model scheduling by @cvxluo in [#121993](https://github.com/getsentry/sentry/pull/121993)

#### Icons

- Point IconExclamation deprecation to IconWarning in [#124319](https://github.com/getsentry/sentry/pull/124319)
- Generalize IdentityIcon presentation by @evanpurkhiser in [#122368](https://github.com/getsentry/sentry/pull/122368)

#### Inbox

- Remove Seer rollout workaround by @cvxluo in [#123861](https://github.com/getsentry/sentry/pull/123861)
- Bump replay sample rate for inbox pages by @malwilley in [#122942](https://github.com/getsentry/sentry/pull/122942)
- Colocate all inbox components under the same folder by @malwilley in [#122776](https://github.com/getsentry/sentry/pull/122776)
- Prefetch issue preview details by @roggenkemper in [#122468](https://github.com/getsentry/sentry/pull/122468)
- Match feedback count badges by @roggenkemper in [#122594](https://github.com/getsentry/sentry/pull/122594)
- Clarify assignee tooltips by @roggenkemper in [#122592](https://github.com/getsentry/sentry/pull/122592)
- Reduce preview comment composer height by @roggenkemper in [#122509](https://github.com/getsentry/sentry/pull/122509)
- Hide closed pull request badges by @roggenkemper in [#122595](https://github.com/getsentry/sentry/pull/122595)
- Use new issue-inbox flag on backend by @malwilley in [#122421](https://github.com/getsentry/sentry/pull/122421)
- Use the new issue-inbox feature flag by @malwilley in [#122110](https://github.com/getsentry/sentry/pull/122110)

#### Incidents

- Remove organizations:incidents from dataset gating by @RudraPatel2003 in [#122384](https://github.com/getsentry/sentry/pull/122384)
- Remove inert organizations:incidents test wrappers by @RudraPatel2003 in [#122383](https://github.com/getsentry/sentry/pull/122383)
- Ungate the alert rule index endpoints by @RudraPatel2003 in [#122381](https://github.com/getsentry/sentry/pull/122381)
- Ungate the alert rule endpoint base classes by @RudraPatel2003 in [#122380](https://github.com/getsentry/sentry/pull/122380)
- Ungate the alert rule available actions endpoint by @RudraPatel2003 in [#122379](https://github.com/getsentry/sentry/pull/122379)
- Ungate the incident read endpoints by @RudraPatel2003 in [#122378](https://github.com/getsentry/sentry/pull/122378)
- Remove dead no_incidents_not_downgraded metric by @RudraPatel2003 in [#122377](https://github.com/getsentry/sentry/pull/122377)

#### Insights

- Avoid mocking router hooks in useFilters.spec.tsx by @malwilley in [#124087](https://github.com/getsentry/sentry/pull/124087)
- Avoid mocking router hooks in useDiscover.spec.tsx by @malwilley in [#124097](https://github.com/getsentry/sentry/pull/124097)
- Avoid mocking router hooks in useCrossPlatformProject.spec.tsx by @malwilley in [#124085](https://github.com/getsentry/sentry/pull/124085)

#### Integrations

- Cover successful Bitbucket issue URL links by @betegon in [#124347](https://github.com/getsentry/sentry/pull/124347)
- Avoid mocking router hooks in sentryAppDetailedView by @malwilley in [#124061](https://github.com/getsentry/sentry/pull/124061)
- Share full organization data across integration configs by @shashjar in [#123990](https://github.com/getsentry/sentry/pull/123990)
- Batch the `canAdd` lookup when serializing integration providers by @shashjar in [#123656](https://github.com/getsentry/sentry/pull/123656)
- Avoid hydrating projects and teams for integration lists by @shashjar in [#122533](https://github.com/getsentry/sentry/pull/122533)
- Avoid Jira status fetches for ticket actions by @scttcper in [#123399](https://github.com/getsentry/sentry/pull/123399)
- Align Integration types with serializer payloads by @joseph-sentry in [#123009](https://github.com/getsentry/sentry/pull/123009)
- Cap the number of pages fetched for autocomplete dropdown by @cmanallen in [#122886](https://github.com/getsentry/sentry/pull/122886)

#### Issue Details

- Refactor N+1 DB span evidence component tests by @lobsterkatie in [#124135](https://github.com/getsentry/sentry/pull/124135)
- Fix small span evidence bugs by @lobsterkatie in [#123969](https://github.com/getsentry/sentry/pull/123969)

#### Issue Detection

- Update conditions for segment-based occurrence creation by @lobsterkatie in [#122907](https://github.com/getsentry/sentry/pull/122907)
- Add helper to extract numerical span data by @lobsterkatie in [#122016](https://github.com/getsentry/sentry/pull/122016)

#### Issue Detectors

- Refactor utils tests by @lobsterkatie in [#122618](https://github.com/getsentry/sentry/pull/122618)
- Use helper to get numbers from spans by @lobsterkatie in [#122495](https://github.com/getsentry/sentry/pull/122495)

#### Issues

- Clean up event grouping details in [#123971](https://github.com/getsentry/sentry/pull/123971)
- Derive issue category choices from shared types by @shashjar in [#123649](https://github.com/getsentry/sentry/pull/123649)
- Separate search and filter controls by @TkDodo in [#123614](https://github.com/getsentry/sentry/pull/123614)
- Always skip integration fetch when no group has a linked issue by @mrduncan in [#123526](https://github.com/getsentry/sentry/pull/123526)
- Fix flaky frozen time in escalation tests by @shashjar in [#123504](https://github.com/getsentry/sentry/pull/123504)
- Skip integration fetch when no group has a linked issue by @mrduncan in [#123443](https://github.com/getsentry/sentry/pull/123443)
- Remove endpoint regression details by @scttcper in [#122111](https://github.com/getsentry/sentry/pull/122111)
- Remove banner on priority dropdown by @malwilley in [#122925](https://github.com/getsentry/sentry/pull/122925)
- Lower organization group index rate limits by @mrduncan in [#122622](https://github.com/getsentry/sentry/pull/122622)
- Remove graduated activity flags by @scttcper in [#122536](https://github.com/getsentry/sentry/pull/122536)
- Extend repository list cap to link issue config modal by @cmanallen in [#122720](https://github.com/getsentry/sentry/pull/122720)

#### Js

- Promote react/preserve-manual-memoization to error by @ryan953 in [#123941](https://github.com/getsentry/sentry/pull/123941)
- Bump @sentry/{browser,core,node,react} to 11.0.0-beta.2 by @andreiborza in [#123890](https://github.com/getsentry/sentry/pull/123890)
- Bump @sentry/{browser,core,node,react} to 11.0.0-beta.1 by @nicohrubec in [#123765](https://github.com/getsentry/sentry/pull/123765)
- Bump @sentry/{browser,core,node,react} to 11.0.0-beta.0 by @andreiborza in [#123555](https://github.com/getsentry/sentry/pull/123555)
- Bump @sentry/{browser,core,node,react} to 11.0.0-alpha.2 by @andreiborza in [#123302](https://github.com/getsentry/sentry/pull/123302)

#### Lint

- Restrict conventions imports to search entry point by @nsdeschenes in [#124172](https://github.com/getsentry/sentry/pull/124172)
- Fold the API endpoint linters into the flake8 plugin by @azulus in [#123633](https://github.com/getsentry/sentry/pull/123633)

#### Logs

- Remove useBox latest-ref helper from LogsInfiniteTable by @ryan953 in [#124072](https://github.com/getsentry/sentry/pull/124072)
- Avoid mocking router hooks in usePersistentLogsPageParameters.spec.tsx by @malwilley in [#124117](https://github.com/getsentry/sentry/pull/124117)
- Avoid mocking router hooks in useSaveAsItems.spec.tsx by @malwilley in [#124121](https://github.com/getsentry/sentry/pull/124121)
- Avoid mocking router hooks in useStreamingTimeseriesResult.spec.tsx by @malwilley in [#124124](https://github.com/getsentry/sentry/pull/124124)
- Avoid mocking router hooks in useLogsQuery.spec.tsx by @malwilley in [#124053](https://github.com/getsentry/sentry/pull/124053)

#### Metrics

- Avoid mocking router hooks in useSaveAsMetricItems.spec.tsx by @malwilley in [#124113](https://github.com/getsentry/sentry/pull/124113)
- Remove New badges from navigation and Explore by @nsdeschenes in [#124023](https://github.com/getsentry/sentry/pull/124023)

#### Objectstore

- Remove debug file compression flag by @jan-auer in [#122993](https://github.com/getsentry/sentry/pull/122993)
- Default debug file Zstd compression by @jan-auer in [#122991](https://github.com/getsentry/sentry/pull/122991)
- Upgrade Objectstore client to 0.2.5 by @jan-auer in [#122990](https://github.com/getsentry/sentry/pull/122990)
- Consolidate session use cases by @jan-auer in [#122826](https://github.com/getsentry/sentry/pull/122826)

#### Onboarding

- Cover the SCM messaging treatment end to end by @jaydgoss in [#124134](https://github.com/getsentry/sentry/pull/124134)
- Change wording of transactions | fix bootstrapApplication order by @JPeer264 in [#123884](https://github.com/getsentry/sentry/pull/123884)
- Compact the onboarding header chrome by @itsdangold in [#123605](https://github.com/getsentry/sentry/pull/123605)
- Extract welcome setup cards by @evanpurkhiser in [#122793](https://github.com/getsentry/sentry/pull/122793)
- Drop enableLogs from JS SDK onboardings by @nicohrubec in [#122552](https://github.com/getsentry/sentry/pull/122552)
- Migrate platform search debounce to Pacer by @scttcper in [#121816](https://github.com/getsentry/sentry/pull/121816)

#### Organizations

- Drop the new_id column from organizationmember_teams by @ldelvoye in [#123948](https://github.com/getsentry/sentry/pull/123948)
- Swap member teams id to int8 by @ldelvoye in [#123076](https://github.com/getsentry/sentry/pull/123076)
- Migrate restore form by @priscilawebdev in [#122450](https://github.com/getsentry/sentry/pull/122450)
- Index and not-null member teams new_id by @ldelvoye in [#122669](https://github.com/getsentry/sentry/pull/122669)
- Backfill new_id on member teams by @ldelvoye in [#122539](https://github.com/getsentry/sentry/pull/122539)
- Dual-write new_id on member teams by @ldelvoye in [#121773](https://github.com/getsentry/sentry/pull/121773)

#### Oxlint

- Use native oxlint rules and RuleTester by @scttcper in [#124353](https://github.com/getsentry/sentry/pull/124353)
- Promote react/refs to error in [#123961](https://github.com/getsentry/sentry/pull/123961)
- Promote react/set-state-in-effect to error by @ryan953 in [#123956](https://github.com/getsentry/sentry/pull/123956)
- Promote react/static-components to error by @ryan953 in [#123940](https://github.com/getsentry/sentry/pull/123940)
- Promote react/purity to error by @ryan953 in [#123946](https://github.com/getsentry/sentry/pull/123946)
- Remove TODO from react/rule-suppression by @ryan953 in [#123951](https://github.com/getsentry/sentry/pull/123951)
- Report unused lint disable directives by @ryan953 in [#123953](https://github.com/getsentry/sentry/pull/123953)
- Promote react/invariant to error by @ryan953 in [#123935](https://github.com/getsentry/sentry/pull/123935)
- Promote react/immutability to error by @ryan953 in [#123934](https://github.com/getsentry/sentry/pull/123934)
- Promote react/globals to an error by @ryan953 in [#123930](https://github.com/getsentry/sentry/pull/123930)
- Let stories import test fixtures by @ryan953 in [#123931](https://github.com/getsentry/sentry/pull/123931)

#### Performance

- Avoid mocking router hooks in index.spec.tsx by @malwilley in [#124078](https://github.com/getsentry/sentry/pull/124078)
- Replace legacy span attribute lookups by @nsdeschenes in [#123321](https://github.com/getsentry/sentry/pull/123321)
- Drop project tags from span-status inconsistency metric by @vaind in [#122883](https://github.com/getsentry/sentry/pull/122883)

#### Performance Issues

- Remove unused `perfProblem` code by @lobsterkatie in [#124203](https://github.com/getsentry/sentry/pull/124203)
- Remove test references to obsolete `perfProblem` by @lobsterkatie in [#124198](https://github.com/getsentry/sentry/pull/124198)

#### Pr Iter

- Post the missing-permissions comment through SCM by @joseph-sentry in [#123918](https://github.com/getsentry/sentry/pull/123918)
- Only consume feedback once a push lands by @joseph-sentry in [#123583](https://github.com/getsentry/sentry/pull/123583)
- Gate PR iteration once, at ingestion by @joseph-sentry in [#123374](https://github.com/getsentry/sentry/pull/123374)
- Get rid of unused function by @joseph-sentry in [#122505](https://github.com/getsentry/sentry/pull/122505)

#### Pr Metrics

- Let the budget, not the batch cap, bound an activity sweep by @vaind in [#123119](https://github.com/getsentry/sentry/pull/123119)
- Unsample the quantized counters and route defects to Sentry by @vaind in [#122983](https://github.com/getsentry/sentry/pull/122983)
- Deregister the five collapsed pr-metrics-* stage flags by @vaind in [#122559](https://github.com/getsentry/sentry/pull/122559)
- Collapse the five pr-metrics-* flags into the permanent gate by @vaind in [#121939](https://github.com/getsentry/sentry/pull/121939)

#### Preprod

- Remove the preprod taskworker namespace and its aliases in [#124327](https://github.com/getsentry/sentry/pull/124327)
- Move all remaining preprod tasks to the preprod.size namespace in [#124326](https://github.com/getsentry/sentry/pull/124326)
- Move snapshot tasks to the preprod.snapshots namespace in [#124322](https://github.com/getsentry/sentry/pull/124322)
- Avoid duplicate snapshot tests and retry waits by @NicoHinderling in [#123847](https://github.com/getsentry/sentry/pull/123847)
- Precompute head-image list at upload by @NicoHinderling in [#123344](https://github.com/getsentry/sentry/pull/123344)
- Serialize snapshot details without pydantic by @NicoHinderling in [#123239](https://github.com/getsentry/sentry/pull/123239)
- Raise rate limits on the artifact image endpoint by @chromy in [#122457](https://github.com/getsentry/sentry/pull/122457)
- Remove preprod-artifact-webhooks flag registration by @cvxluo in [#120258](https://github.com/getsentry/sentry/pull/120258)
- Remove `preprod-build-distribution-pr-comments` flag by @cvxluo in [#120632](https://github.com/getsentry/sentry/pull/120632)
- Remove `preprod-build-distribution-pr-comments` flag gate by @cvxluo in [#120633](https://github.com/getsentry/sentry/pull/120633)

#### Scm Messaging Integrations Ui

- Updating scmMessaging provider row file structure by @Abdkhan14 in [#123015](https://github.com/getsentry/sentry/pull/123015)
- Aligning ui with approved contract by @Abdkhan14 in [#122612](https://github.com/getsentry/sentry/pull/122612)

#### Scraps

- Promote MentionInput into core as Composer by @natemoo-re in [#123166](https://github.com/getsentry/sentry/pull/123166)
- Replace remaining CSSProperties with our own CSS types implementation by @TkDodo in [#123412](https://github.com/getsentry/sentry/pull/123412)
- Do not export ReactSelect by @TkDodo in [#123118](https://github.com/getsentry/sentry/pull/123118)
- Decouple scraps from trackAnalytics by @TkDodo in [#122832](https://github.com/getsentry/sentry/pull/122832)
- Move inspector out of scraps by @TkDodo in [#122696](https://github.com/getsentry/sentry/pull/122696)
- Move TimezoneProvider into scraps by @ChrisandraVaz in [#122063](https://github.com/getsentry/sentry/pull/122063)
- Decouple from sentry/locale with translationContext by @TkDodo in [#121958](https://github.com/getsentry/sentry/pull/121958)
- Move generatedFieldRegistry out of scraps by @TkDodo in [#121957](https://github.com/getsentry/sentry/pull/121957)

#### Sdk

- Sample `sentry.workflow_engine.tasks.process_workflows_event` at 0.00006 by @alexander-alderman-webb in [#124401](https://github.com/getsentry/sentry/pull/124401)
- Decrease `SAMPLED_DEFAULT_RATE` to 0.006 by @alexander-alderman-webb in [#124386](https://github.com/getsentry/sentry/pull/124386)
- Remove multiplexer by @alexander-alderman-webb in [#123319](https://github.com/getsentry/sentry/pull/123319)
- Decrease `SAMPLED_DEFAULT_RATE` to 0.0125 by @alexander-alderman-webb in [#124271](https://github.com/getsentry/sentry/pull/124271)
- Decrease `SAMPLED_DEFAULT_RATE` to 0.025 by @alexander-alderman-webb in [#124265](https://github.com/getsentry/sentry/pull/124265)
- Decrease `SAMPLED_DEFAULT_RATE` to 0.035 by @alexander-alderman-webb in [#124171](https://github.com/getsentry/sentry/pull/124171)
- Decrease `SAMPLED_DEFAULT_RATE` to 0.07 by @alexander-alderman-webb in [#124039](https://github.com/getsentry/sentry/pull/124039)
- Fix stale task names in SAMPLED_TASKS by @shellmayr in [#124033](https://github.com/getsentry/sentry/pull/124033)
- Fix name of sample rate constant entry from sentry.tasks.post_process.post_process_group to sentry.issues.tasks.post_process.post_process_group by @shellmayr in [#124031](https://github.com/getsentry/sentry/pull/124031)

#### Search

- Add backend parser coverage for array typed tags by @manessaraj in [#121618](https://github.com/getsentry/sentry/pull/121618)
- Unregister gen-ai-explore-metrics-search by @isaacwang-sentry in [#122648](https://github.com/getsentry/sentry/pull/122648)
- Drop the Metrics per-strategy check from the search agent endpoint by @isaacwang-sentry in [#122647](https://github.com/getsentry/sentry/pull/122647)
- Avoid idle query builder work by @scttcper in [#120725](https://github.com/getsentry/sentry/pull/120725)
- Remove legacy Ask Seer rollout paths by @nsdeschenes in [#121443](https://github.com/getsentry/sentry/pull/121443)

#### Seer

- Widen explorerMenu's textAreaRef to accept any element by @natemoo-re in [#123167](https://github.com/getsentry/sentry/pull/123167)
- Refine ThinkingBlock rendering and response padding by @natemoo-re in [#124356](https://github.com/getsentry/sentry/pull/124356)
- Tag ViewerContext resolution by endpoint in [#124189](https://github.com/getsentry/sentry/pull/124189)
- Generalize Night Shift run models in [#124301](https://github.com/getsentry/sentry/pull/124301)
- Use ThinkingBlock as the initial loading placeholder in [#124138](https://github.com/getsentry/sentry/pull/124138)
- Strip Thinking sentinel at the API boundary by @natemoo-re in [#124127](https://github.com/getsentry/sentry/pull/124127)
- Show tags the same way in the log and event embeds by @billyvg in [#124042](https://github.com/getsentry/sentry/pull/124042)
- Unregister organizations:seer-agent-autofix by @ryan953 in [#123952](https://github.com/getsentry/sentry/pull/123952)
- Give every embed block one collapsible card header by @billyvg in [#124132](https://github.com/getsentry/sentry/pull/124132)
- Split the trace waterfall into its own embed by @billyvg in [#124056](https://github.com/getsentry/sentry/pull/124056)
- Gate the autofix embeds on the Seer plan, not the rollout flag by @ryan953 in [#123939](https://github.com/getsentry/sentry/pull/123939)
- Extract the shared query embed block by @billyvg in [#123789](https://github.com/getsentry/sentry/pull/123789)
- Start sending category key over with investigations by @wedamija in [#123364](https://github.com/getsentry/sentry/pull/123364)
- Stabilize overview action loading test by @priscilawebdev in [#123549](https://github.com/getsentry/sentry/pull/123549)
- Split resource embed tests by @billyvg in [#123341](https://github.com/getsentry/sentry/pull/123341)
- Quick cleanups in PR iteration by @joseph-sentry in [#123120](https://github.com/getsentry/sentry/pull/123120)
- Memoize autofix overview cards to speed up group toggles by @mtopo27 in [#122923](https://github.com/getsentry/sentry/pull/122923)
- Remove the always-true \_has_context_engine helper by @chromy in [#122867](https://github.com/getsentry/sentry/pull/122867)
- Set up PR Ready for Review webhook signal by @leeandher in [#122713](https://github.com/getsentry/sentry/pull/122713)
- Make embed stories composable by @billyvg in [#122765](https://github.com/getsentry/sentry/pull/122765)
- Remove badge skeleton on Seer overview cards by @mtopo27 in [#122727](https://github.com/getsentry/sentry/pull/122727)
- Add strongly typed AgentRunOptions and leverage from features by @rbro112 in [#122760](https://github.com/getsentry/sentry/pull/122760)
- Serve get_runs from the local mirror by @trevor-e in [#122646](https://github.com/getsentry/sentry/pull/122646)
- Promote Autofix Overview to /issues/autofix/ by @mtopo27 in [#122664](https://github.com/getsentry/sentry/pull/122664)
- Batch overview assignee team avatars into one request by @NicoHinderling in [#122651](https://github.com/getsentry/sentry/pull/122651)
- Batch overview assignee member fetches into one request by @NicoHinderling in [#122643](https://github.com/getsentry/sentry/pull/122643)
- Serve get_runs discovery from the run mirror by @trevor-e in [#122543](https://github.com/getsentry/sentry/pull/122543)
- Remove dead explorer-pr-groups endpoint by @trevor-e in [#122528](https://github.com/getsentry/sentry/pull/122528)
- Drop transitional failedChecks names field from overview API by @NicoHinderling in [#122490](https://github.com/getsentry/sentry/pull/122490)
- Add agent token permission matrix by @gricha in [#121840](https://github.com/getsentry/sentry/pull/121840)
- Remove dead RRF math by @mjq in [#122292](https://github.com/getsentry/sentry/pull/122292)
- Remove ProjectRepository fallback for free cohort orgs by @Mihir-Mavalankar in [#122176](https://github.com/getsentry/sentry/pull/122176)
- Promote overview2 to the Autofix overview page by @NicoHinderling in [#122178](https://github.com/getsentry/sentry/pull/122178)
- Delete legacy Autofix overview page and route by @NicoHinderling in [#122177](https://github.com/getsentry/sentry/pull/122177)

#### Seer Infra Telemetry

- Rename Seer monitoring provider connectors by @sentry-junior in [#124212](https://github.com/getsentry/sentry/pull/124212)
- Read GCP project IDs as an array by @shashjar in [#123806](https://github.com/getsentry/sentry/pull/123806)
- Place user-level auth monitoring connections under their own feature flag (backend) by @srest2021 in [#123025](https://github.com/getsentry/sentry/pull/123025)
- Place user-level auth monitoring connections under their own feature flag (frontend) by @srest2021 in [#123027](https://github.com/getsentry/sentry/pull/123027)
- Improve GCP integration overview description to match Datadog format by @shashjar in [#122508](https://github.com/getsentry/sentry/pull/122508)
- Rename MONITORING feature tag to SEER CONTEXT by @sentry-junior in [#122491](https://github.com/getsentry/sentry/pull/122491)

#### Sentry Apps

- Loosen request log permisisons for internal apps by @Christinarlong in [#122657](https://github.com/getsentry/sentry/pull/122657)
- Make req log have diff perms for internal apps by @Christinarlong in [#122658](https://github.com/getsentry/sentry/pull/122658)

#### Sentry Apps

- Batch ServiceHook backfill lookups by @sentry-junior in [#123616](https://github.com/getsentry/sentry/pull/123616)
- Improve typing by @mrduncan in [#122418](https://github.com/getsentry/sentry/pull/122418)

#### Settings

- Migrate media queries to container queries by @priscilawebdev in [#123126](https://github.com/getsentry/sentry/pull/123126)
- Slim down project performance test by @scttcper in [#123101](https://github.com/getsentry/sentry/pull/123101)
- Migrate billing page to container queries by @TkDodo in [#122716](https://github.com/getsentry/sentry/pull/122716)
- Build the printable recovery codes with DOM nodes by @oioki in [#122347](https://github.com/getsentry/sentry/pull/122347)
- Link the org permission alert to the members page by @chromy in [#122200](https://github.com/getsentry/sentry/pull/122200)

#### Snapshots

- Upload frontend snapshots for fork PRs via workflow_run by @NicoHinderling in [#118943](https://github.com/getsentry/sentry/pull/118943)
- Virtualize snapshot list per-card instead of per-group by @NicoHinderling in [#123500](https://github.com/getsentry/sentry/pull/123500)
- Upload snapshots only on success by @NicoHinderling in [#122279](https://github.com/getsentry/sentry/pull/122279)
- Harden Playwright install and gate snapshot upload by @NicoHinderling in [#122272](https://github.com/getsentry/sentry/pull/122272)
- Retry Playwright install with per-attempt timeout by @NicoHinderling in [#122233](https://github.com/getsentry/sentry/pull/122233)

#### Spans

- Remove the process-segments consumer by @untitaker in [#122725](https://github.com/getsentry/sentry/pull/122725)
- Run process-segments as a task in devenv by @untitaker in [#122555](https://github.com/getsentry/sentry/pull/122555)

#### Tables

- Give table header cells a justify prop, and drop alignment-only styled wrappers by @JoshuaKGoldberg in [#123177](https://github.com/getsentry/sentry/pull/123177)
- Allow responsive container queries for `SimpleTable` columns by @JoshuaKGoldberg in [#123178](https://github.com/getsentry/sentry/pull/123178)
- Consolidate table head sorting into `SimpleTable`'s `SortableHeaderCell` by @JoshuaKGoldberg in [#122623](https://github.com/getsentry/sentry/pull/122623)
- Migrate many tables to use SimpleTable columns instead of manual grid-template-styles by @JoshuaKGoldberg in [#122500](https://github.com/getsentry/sentry/pull/122500)
- Add SimpleTable.Error and adopt the shared status rows by @JoshuaKGoldberg in [#122501](https://github.com/getsentry/sentry/pull/122501)
- Unify various explore table shims into a shared DataTable by @JoshuaKGoldberg in [#122493](https://github.com/getsentry/sentry/pull/122493)
- Drop useStateBasedColumnResize by @JoshuaKGoldberg in [#122492](https://github.com/getsentry/sentry/pull/122492)
- Move SimpleTable and InfiniteTable onto the shared table shell by @JoshuaKGoldberg in [#121181](https://github.com/getsentry/sentry/pull/121181)

#### Tasks

- Simplify GAL coordinator query by @yuvmen in [#122584](https://github.com/getsentry/sentry/pull/122584)
- Route action log backfills to long pool by @yuvmen in [#122409](https://github.com/getsentry/sentry/pull/122409)

#### Theme

- Reimport scraps typography tokens with as const literals by @sentry-junior in [#123295](https://github.com/getsentry/sentry/pull/123295)
- Reimport scraps size tokens with as const literals by @sentry-junior in [#123294](https://github.com/getsentry/sentry/pull/123294)

#### Ui

- Drop unused optional args in utils performance and replays in [#123216](https://github.com/getsentry/sentry/pull/123216)
- Use TanStack Pacer for breakpoints in [#124349](https://github.com/getsentry/sentry/pull/124349)
- Drop unused optional args in events and spans in [#123213](https://github.com/getsentry/sentry/pull/123213)
- Key/value tables, phase one: component consolidation by @JoshuaKGoldberg in [#123375](https://github.com/getsentry/sentry/pull/123375)
- Drop unused optional args in utils duration and cells by @JonasBa in [#123217](https://github.com/getsentry/sentry/pull/123217)
- Drop unused optional args in gsApp checkout and subscription views by @JonasBa in [#123237](https://github.com/getsentry/sentry/pull/123237)
- Drop unused optional args in charts, duration, and seer menus by @JonasBa in [#123208](https://github.com/getsentry/sentry/pull/123208)
- Drop unused optional args in trace details by @JonasBa in [#123234](https://github.com/getsentry/sentry/pull/123234)
- Migrate view layouts to container queries by @priscilawebdev in [#123725](https://github.com/getsentry/sentry/pull/123725)
- Drop unused optional args in dashboards widgets by @JonasBa in [#123225](https://github.com/getsentry/sentry/pull/123225)
- Drop unused optional args in banner and form adapters by @JonasBa in [#123205](https://github.com/getsentry/sentry/pull/123205)
- Drop unused optional args in discover fields and urls by @JonasBa in [#123220](https://github.com/getsentry/sentry/pull/123220)
- Drop unused optional args in gettingStartedDocs and app chrome by @JonasBa in [#123203](https://github.com/getsentry/sentry/pull/123203)
- Drop unused optional args in primary and secondary nav by @JonasBa in [#123338](https://github.com/getsentry/sentry/pull/123338)
- Drop unused optional args in assignee, highlight, and score bar by @JonasBa in [#123209](https://github.com/getsentry/sentry/pull/123209)
- Drop unused optional args in core splitPanel, form, and input by @JonasBa in [#123212](https://github.com/getsentry/sentry/pull/123212)
- Drop unused optional args in settings by @JonasBa in [#123236](https://github.com/getsentry/sentry/pull/123236)
- Migrate JavaScript linting to Oxlint by @scttcper in [#121598](https://github.com/getsentry/sentry/pull/121598)
- Pre-render branded outline animation by @evanpurkhiser in [#123637](https://github.com/getsentry/sentry/pull/123637)
- Add WebP asset support by @evanpurkhiser in [#123592](https://github.com/getsentry/sentry/pull/123592)
- Drop unused optional args in core chat, badge, chip, and avatar by @JonasBa in [#123211](https://github.com/getsentry/sentry/pull/123211)
- Drop unused optional args in onboarding markdown by @JonasBa in [#123332](https://github.com/getsentry/sentry/pull/123332)
- Drop unused optional args in issue count query by @JonasBa in [#123337](https://github.com/getsentry/sentry/pull/123337)
- Drop unused optional args in insights useDiscover by @JonasBa in [#123336](https://github.com/getsentry/sentry/pull/123336)
- Drop unused optional args in seer explorer drawer by @JonasBa in [#123339](https://github.com/getsentry/sentry/pull/123339)
- Drop unused optional args in profiling hooks by @JonasBa in [#123221](https://github.com/getsentry/sentry/pull/123221)
- Drop unused optional args in organization stats by @TkDodo in [#123561](https://github.com/getsentry/sentry/pull/123561)
- Drop unused optional args in dashboards dataset config by @JonasBa in [#123224](https://github.com/getsentry/sentry/pull/123224)
- Drop leftover unused optional args in issueDiff and pagination by @JonasBa in [#123247](https://github.com/getsentry/sentry/pull/123247)
- Drop unused optional args in actionCreators by @JonasBa in [#123201](https://github.com/getsentry/sentry/pull/123201)
- Drop leftover unused optional args in drawer, table, and filters by @JonasBa in [#123259](https://github.com/getsentry/sentry/pull/123259)
- Drop leftover unused optional args in detectors and timeouts by @JonasBa in [#123248](https://github.com/getsentry/sentry/pull/123248)
- Drop unused optional args in utils analytics and formatters by @JonasBa in [#123218](https://github.com/getsentry/sentry/pull/123218)
- Drop unused optional args in acl and group list by @JonasBa in [#123206](https://github.com/getsentry/sentry/pull/123206)
- Drop unused optional args in events timeseries by @JonasBa in [#123335](https://github.com/getsentry/sentry/pull/123335)
- Drop unused optional args in search tag escaping by @JonasBa in [#123334](https://github.com/getsentry/sentry/pull/123334)
- Drop unused optional args in forms by @JonasBa in [#123214](https://github.com/getsentry/sentry/pull/123214)
- Drop unused optional args in type-coverage script by @JonasBa in [#123200](https://github.com/getsentry/sentry/pull/123200)
- Migrate transaction summary header to BreadcrumbList by @Jesse-Box in [#123128](https://github.com/getsentry/sentry/pull/123128)
- Infer Select value types from options by @TkDodo in [#123146](https://github.com/getsentry/sentry/pull/123146)
- Drop unused optional args in JsonForm groups by @JonasBa in [#123331](https://github.com/getsentry/sentry/pull/123331)
- Drop unused optional args in issueDetails and seer workflows by @JonasBa in [#123222](https://github.com/getsentry/sentry/pull/123222)
- Remove breadcrumbs migration feature flag by @priscilawebdev in [#122971](https://github.com/getsentry/sentry/pull/122971)
- Use Pacer for debounced values by @scttcper in [#121821](https://github.com/getsentry/sentry/pull/121821)
- Stabilize type loader output by @scttcper in [#122908](https://github.com/getsentry/sentry/pull/122908)
- Migrate misc components to container queries by @TkDodo in [#122712](https://github.com/getsentry/sentry/pull/122712)
- Graduate breadcrumb migration by @priscilawebdev in [#122697](https://github.com/getsentry/sentry/pull/122697)
- Build fetchMutation URLs with getApiUrl by @scttcper in [#122798](https://github.com/getsentry/sentry/pull/122798)
- Lazy load js-beautify by @scttcper in [#122771](https://github.com/getsentry/sentry/pull/122771)
- Use typed urls for API URLs by @scttcper in [#122788](https://github.com/getsentry/sentry/pull/122788)
- Use shorter production chunk IDs by @scttcper in [#122759](https://github.com/getsentry/sentry/pull/122759)
- Upgrade Rspack to 2.2 by @scttcper in [#122757](https://github.com/getsentry/sentry/pull/122757)
- Adopt EmptyState for waiting events by @priscilawebdev in [#122553](https://github.com/getsentry/sentry/pull/122553)
- Remove unused locally declared React props by @JonasBa in [#122234](https://github.com/getsentry/sentry/pull/122234)
- Add AVIF asset support by @evanpurkhiser in [#122167](https://github.com/getsentry/sentry/pull/122167)
- Avoid duplicate platformicons bundle by @scttcper in [#122128](https://github.com/getsentry/sentry/pull/122128)
- Exclude TanStack devtools from production by @scttcper in [#122127](https://github.com/getsentry/sentry/pull/122127)

#### Url

- Remove urlParamBatchContext by @ryan953 in [#123975](https://github.com/getsentry/sentry/pull/123975)
- Stop mocking useNavigate in urlParamBatchContext by @malwilley in [#123958](https://github.com/getsentry/sentry/pull/123958)

#### Workflow Engine

- Prevent edits on issue stream detectors in [#124302](https://github.com/getsentry/sentry/pull/124302)
- Schedule repair tasks for all projects detector by @leeandher in [#124181](https://github.com/getsentry/sentry/pull/124181)
- Create scheduled repair task for missing all projects detectors by @leeandher in [#123942](https://github.com/getsentry/sentry/pull/123942)
- Handle duplicate all projects detectors by @leeandher in [#124118](https://github.com/getsentry/sentry/pull/124118)
- More logging to diagnose missing detectors by @leeandher in [#123827](https://github.com/getsentry/sentry/pull/123827)
- Replace killswitch with rollout rate option for all projects detector by @leeandher in [#123367](https://github.com/getsentry/sentry/pull/123367)
- Add types to the evaluation artifacts by @saponifi3d in [#123091](https://github.com/getsentry/sentry/pull/123091)
- Remove the `TRIGGER_CONDITIONS` list by @saponifi3d in [#121998](https://github.com/getsentry/sentry/pull/121998)
- Drop the coarse metric detector creation pre-check by @RudraPatel2003 in [#122382](https://github.com/getsentry/sentry/pull/122382)

#### Other

- (aci) Clean up legacy project alert leftovers in [#124321](https://github.com/getsentry/sentry/pull/124321)
- (ai-conversations) Sample endpoint traces at 100% by @vgrozdanic in [#122995](https://github.com/getsentry/sentry/pull/122995)
- (apidocs) Remove dead exclude_fields entries by @azulus in [#123463](https://github.com/getsentry/sentry/pull/123463)
- (ask-seer) Remove rework flag registration by @nsdeschenes in [#121619](https://github.com/getsentry/sentry/pull/121619)
- (assignment) Add type for assignment result by @shashjar in [#122938](https://github.com/getsentry/sentry/pull/122938)
- (assistant) Retire project_transaction_threshold_override guide by @Jesse-Box in [#123428](https://github.com/getsentry/sentry/pull/123428)
- (assisted-query) Enable aq on code mode for seer agent in [#124323](https://github.com/getsentry/sentry/pull/124323)
- (authV2) Prefer InfoTip over deprecated QuestionTooltip by @TkDodo in [#123545](https://github.com/getsentry/sentry/pull/123545)
- (billing-platform) Bump sentry-protos 64.5 by @brendanhsentry in [#123453](https://github.com/getsentry/sentry/pull/123453)
- (breadcrumbList) Drop the stale containerType warning tolerance by @Jesse-Box in [#124002](https://github.com/getsentry/sentry/pull/124002)
- (buffer) Bound the pending zset with an expiry by @strongs in [#122550](https://github.com/getsentry/sentry/pull/122550)
- (charts) Reduce ECharts bundle size by @scttcper in [#122806](https://github.com/getsentry/sentry/pull/122806)
- (ci) Switch to internal github app (sentry-release-bot) by @joshuarli in [#123034](https://github.com/getsentry/sentry/pull/123034)
- (clusterer) Add a TTL to the transaction clusterer rules hash by @strongs in [#122545](https://github.com/getsentry/sentry/pull/122545)
- (codeowner) Removing issue workflow by @sentaur-athena in [#122538](https://github.com/getsentry/sentry/pull/122538)
- (csp) Render effective-directive help as JSX by @oioki in [#122318](https://github.com/getsentry/sentry/pull/122318)
- (cursored-scheduler) Retry an empty cycle once per cycle duration by @shellmayr in [#122463](https://github.com/getsentry/sentry/pull/122463)
- (data-scrubbing) Avoid mocking router hooks in attributeField.spec.tsx by @malwilley in [#124079](https://github.com/getsentry/sentry/pull/124079)
- (debug) Render the email preview in a sandboxed iframe by @oioki in [#122356](https://github.com/getsentry/sentry/pull/122356)
- (debug-files) Remove the dead artifact bundle in-use renewal path by @strongs in [#122914](https://github.com/getsentry/sentry/pull/122914)
- (deletions) Don't allow All-Project detectors to linger by @leeandher in [#122924](https://github.com/getsentry/sentry/pull/122924)
- (demo) Attach the analytics queue shim as a text node by @oioki in [#122348](https://github.com/getsentry/sentry/pull/122348)
- (derived) Move status consistency checking into sentry/issues by @kcons in [#122541](https://github.com/getsentry/sentry/pull/122541)
- (derived data) Log task starts by @kcons in [#123184](https://github.com/getsentry/sentry/pull/123184)
- (detectors) Remove redundant automatic name test by @NicoHinderling in [#122650](https://github.com/getsentry/sentry/pull/122650)
- (difs) Process more files per activation by @lcian in [#122195](https://github.com/getsentry/sentry/pull/122195)
- (digests) Expire the two scheduler zsets when a namespace goes quiet by @strongs in [#122631](https://github.com/getsentry/sentry/pull/122631)
- (discover) Remove retired alert timeseries comparison by @vgrozdanic in [#123063](https://github.com/getsentry/sentry/pull/123063)
- (eap) Make \_meta constants greppable in [#124299](https://github.com/getsentry/sentry/pull/124299)
- (emerge) Migrate screen prefixed responsive components to containerQueries by @TkDodo in [#122833](https://github.com/getsentry/sentry/pull/122833)
- (eslint) Centralize legacy filename exceptions by @scttcper in [#123508](https://github.com/getsentry/sentry/pull/123508)
- (event formatter) Split the formatter rollout for API clients by @shayna-ch in [#123180](https://github.com/getsentry/sentry/pull/123180)
- (featureadoption) Add a 90 day TTL to the adoption cache by @strongs in [#122529](https://github.com/getsentry/sentry/pull/122529)
- (features) Extract registered batch handler evaluation by @cvxluo in [#123179](https://github.com/getsentry/sentry/pull/123179)
- (feedback) Avoid mocking location hooks in feedbackCategories by @malwilley in [#123960](https://github.com/getsentry/sentry/pull/123960)
- (frontend-snapshots) Skip job on external fork PRs by @sentry-junior in [#123588](https://github.com/getsentry/sentry/pull/123588)
- (getsentry-dispatch) Allowlist sentry-junior[bot] by @sentry-junior in [#122885](https://github.com/getsentry/sentry/pull/122885)
- (groupFeatureFlags) Avoid mocking router hooks in flagDetailsDrawerContent.spec.tsx by @malwilley in [#124081](https://github.com/getsentry/sentry/pull/124081)
- (groupSimilarIssues) Avoid mocking router hooks in similarIssues.spec.tsx by @malwilley in [#124080](https://github.com/getsentry/sentry/pull/124080)
- (ingest) Remove generic metrics consumers by @phacops in [#124369](https://github.com/getsentry/sentry/pull/124369)
- (investigations) Generalize source-backed investigations by @arslnb in [#122112](https://github.com/getsentry/sentry/pull/122112)
- (issue-details) Avoid mocking router hooks in eventDetailsHeader.spec.tsx by @malwilley in [#124084](https://github.com/getsentry/sentry/pull/124084)
- (jest-balance) Run the balancer weekly instead of twice a month by @ryan953 in [#123927](https://github.com/getsentry/sentry/pull/123927)
- (locale) Remove underused helper `tctCode` by @ryan953 in [#123802](https://github.com/getsentry/sentry/pull/123802)
- (marked) Drop `id` from the sanitizer attribute allowlist by @oioki in [#122355](https://github.com/getsentry/sentry/pull/122355)
- (meta) Fix typo in meta tooltip in [#124303](https://github.com/getsentry/sentry/pull/124303)
- (mocks) Avoid mocking organization and router hooks in [#124312](https://github.com/getsentry/sentry/pull/124312)
- (mypy) Exclude bin/ from type checking by @armenzg in [#121628](https://github.com/getsentry/sentry/pull/121628)
- (notifications) Improve index utilization by @kcons in [#122236](https://github.com/getsentry/sentry/pull/122236)
- (options) Add GAL ProjectOption cursor index by @yuvmen in [#122782](https://github.com/getsentry/sentry/pull/122782)
- (orchanizations) Remove the `new_id` dual write and make the column nullable by @ldelvoye in [#123856](https://github.com/getsentry/sentry/pull/123856)
- (panels) Migrate PanelTable to the shared table shell by @JoshuaKGoldberg in [#121249](https://github.com/getsentry/sentry/pull/121249)
- (projects) Remove project creation modal by @malwilley in [#122740](https://github.com/getsentry/sentry/pull/122740)
- (redis) Guard commands against open transactions by @trevor-e in [#121637](https://github.com/getsentry/sentry/pull/121637)
- (refactor-tasks) Drop React compiler conventions now covered by oxlint by @ryan953 in [#124102](https://github.com/getsentry/sentry/pull/124102)
- (relay) Remove profiling feature flag from project config by @Dav1dde in [#121722](https://github.com/getsentry/sentry/pull/121722)
- (replay) Create placeholder comments as nodes by @oioki in [#122349](https://github.com/getsentry/sentry/pull/122349)
- (replays) Move replay details actions into the page-title menu by @Jesse-Box in [#123569](https://github.com/getsentry/sentry/pull/123569)
- (scm) Cache PR number -> PR id to skip a REST call per mention by @joseph-sentry in [#121874](https://github.com/getsentry/sentry/pull/121874)
- (scm-messaging-integration-ui) Serializing MS teams installation type by @Abdkhan14 in [#121964](https://github.com/getsentry/sentry/pull/121964)
- (scm-onboarding-messaging-integration) Groundwork, lifting providerkeys and useScmMessagingSetupValidation hook by @Abdkhan14 in [#121624](https://github.com/getsentry/sentry/pull/121624)
- (selective) Force Seer public API matrix on publish_status edits by @sentry-junior in [#122950](https://github.com/getsentry/sentry/pull/122950)
- (sentryapp) Remove unused webhook request serializer by @mrduncan in [#122371](https://github.com/getsentry/sentry/pull/122371)
- (tags) Remove unused DS_DENYLIST and onlySamplingTags parameter by @shellmayr in [#122818](https://github.com/getsentry/sentry/pull/122818)
- (tests) Avoid mocking usePageFilters in [#124351](https://github.com/getsentry/sentry/pull/124351)
- (tsdb) Remove the dead Redis cmsketch frequency tables by @strongs in [#122479](https://github.com/getsentry/sentry/pull/122479)
- (typing) Add sentry.sentry_apps.external_requests to the strong list by @mrduncan in [#122372](https://github.com/getsentry/sentry/pull/122372)
- (useHoverOverlay) Remove isHoverable prop by @TkDodo in [#123688](https://github.com/getsentry/sentry/pull/123688)
- (warmup) Deduplicate locale URL resolver caches by @vgrozdanic in [#123494](https://github.com/getsentry/sentry/pull/123494)
- (weekly report) Remove week-over-week change feature flag by @shashjar in [#122666](https://github.com/getsentry/sentry/pull/122666)
- (weekly-reports) Add a TTL to the min_org_id progress key by @strongs in [#122499](https://github.com/getsentry/sentry/pull/122499)
- Classify `fixtures/page_objects` as test code by @TkDodo in [#123775](https://github.com/getsentry/sentry/pull/123775)
- Bump protos in [#124378](https://github.com/getsentry/sentry/pull/124378)
- Replace useLocationQuery with nuqs in [#123949](https://github.com/getsentry/sentry/pull/123949)
- Drop unnecessary `threading.local`s from the codebase by @gi0baro in [#123738](https://github.com/getsentry/sentry/pull/123738)
- Remove requires admin check for platform actions by @noahsmartin in [#124208](https://github.com/getsentry/sentry/pull/124208)
- Bump sentry-conventions to 0.23.0 by @sentry-release-bot in [#124043](https://github.com/getsentry/sentry/pull/124043)
- Bump taskbroker-client to 0.20.25 by @sentry-release-bot in [#124035](https://github.com/getsentry/sentry/pull/124035)
- Update admin invoice URL to not use org slug by @noahsmartin in [#123858](https://github.com/getsentry/sentry/pull/123858)
- Tear down RegionCategory by @lynnagara in [#123648](https://github.com/getsentry/sentry/pull/123648)
- Bump protos by @noahsmartin in [#123782](https://github.com/getsentry/sentry/pull/123782)
- Bump sentry-relay to 0.9.29 by @oioki in [#123764](https://github.com/getsentry/sentry/pull/123764)
- Remove admin invoices pages by @noahsmartin in [#123673](https://github.com/getsentry/sentry/pull/123673)
- Cleanup admin invoice view by @noahsmartin in [#123653](https://github.com/getsentry/sentry/pull/123653)
- Prefer InfoTip by @TkDodo in [#123582](https://github.com/getsentry/sentry/pull/123582)
- Make "category" optional in locality config by @lynnagara in [#123468](https://github.com/getsentry/sentry/pull/123468)
- Remove OrganizationMapping.require_email_verification from model state by @lynnagara in [#123387](https://github.com/getsentry/sentry/pull/123387)
- Begin deprecating `category` from localities by @lynnagara in [#123250](https://github.com/getsentry/sentry/pull/123250)
- Disallow picking fields from CSSProperties by @TkDodo in [#123416](https://github.com/getsentry/sentry/pull/123416)
- Bump sentry-options to 1.2.8 by @sentry-release-bot in [#123400](https://github.com/getsentry/sentry/pull/123400)
- Drop require_email_verification field from RpcOrganizationMappingUpdate by @lynnagara in [#123373](https://github.com/getsentry/sentry/pull/123373)
- Enforce org flag column parity between rpc methods and models in control by @lynnagara in [#123370](https://github.com/getsentry/sentry/pull/123370)
- Stop writing OrganizationMapping.required_email_verification by @lynnagara in [#123196](https://github.com/getsentry/sentry/pull/123196)
- Bump sentry-conventions to 0.21.0 by @sentry-release-bot in [#123133](https://github.com/getsentry/sentry/pull/123133)
- Move selectWrapper into scraps by @TkDodo in [#123002](https://github.com/getsentry/sentry/pull/123002)
- Bump taskbroker-client to 0.20.23 by @getsentry-bot in [#122882](https://github.com/getsentry/sentry/pull/122882)
- Exclude integration test utils file from frontend/backend warning by @sentry-junior in [#122835](https://github.com/getsentry/sentry/pull/122835)
- Bump taskbroker-client to 0.20.22 by @getsentry-bot in [#122705](https://github.com/getsentry/sentry/pull/122705)
- Bump sentry-options to 1.2.7 by @getsentry-bot in [#122644](https://github.com/getsentry/sentry/pull/122644)
- Bump sentry-conventions to 0.20.0 by @getsentry-bot in [#122471](https://github.com/getsentry/sentry/pull/122471)
- Update sentry-protos to 0.64.0 by @skonves in [#122534](https://github.com/getsentry/sentry/pull/122534)
- Stop create_span leaking tags between tests by @JoshuaKGoldberg in [#122069](https://github.com/getsentry/sentry/pull/122069)
- Bump protos by @noahsmartin in [#122465](https://github.com/getsentry/sentry/pull/122465)
- Migrate onboardingPanel to container queries by using emptyState primitive by @TkDodo in [#121720](https://github.com/getsentry/sentry/pull/121720)
- Update container query migration skill by @TkDodo in [#121951](https://github.com/getsentry/sentry/pull/121951)
- Migrate views to containerQueries by @TkDodo in [#121948](https://github.com/getsentry/sentry/pull/121948)
- Update sentry-protos to 0.63.0 by @volokluev in [#122352](https://github.com/getsentry/sentry/pull/122352)
- Remove dead segment name clustering code by @mjq in [#122291](https://github.com/getsentry/sentry/pull/122291)
- Enable no-useless-computed-key and autofix violations by @ryan953 in [#122297](https://github.com/getsentry/sentry/pull/122297)
- Bump sentry-protos by @noahsmartin in [#122254](https://github.com/getsentry/sentry/pull/122254)
- Increase max billing periods by @noahsmartin in [#122087](https://github.com/getsentry/sentry/pull/122087)
- Bump sentry-protos by @noahsmartin in [#122198](https://github.com/getsentry/sentry/pull/122198)
- Bump new development version by @sentry-release-bot[bot] in [c7385675](https://github.com/getsentry/sentry/commit/c73856753969efc2e12f13363c4db17a3b80849c)

### Other

- chore(sdk) Remove unused option by @markstory in [#124175](https://github.com/getsentry/sentry/pull/124175)
- chore(hybridcloud) Backfill regioncacheversion keyname by @markstory in [#123963](https://github.com/getsentry/sentry/pull/123963)
- Skip in case of msgpack validation error by @fpacifici in [#124237](https://github.com/getsentry/sentry/pull/124237)
- proto bump by @volokluev in [#124195](https://github.com/getsentry/sentry/pull/124195)
- dep: bump `punkreq` to 0.2.2 by @gi0baro in [#124169](https://github.com/getsentry/sentry/pull/124169)
- deps(ui): Upgrade Rspack to 2.2.3 by @scttcper in [#122871](https://github.com/getsentry/sentry/pull/122871)
- feat(explore: add feature flag for measured ingestion delay by @edwardgou-sentry in [#123916](https://github.com/getsentry/sentry/pull/123916)
- lint: Enable react/error-boundaries by @ryan953 in [#123924](https://github.com/getsentry/sentry/pull/123924)
- lint: Enable react/capitalized-calls lint rule by @ryan953 in [#123855](https://github.com/getsentry/sentry/pull/123855)
- chore(hybridcloud) Backfill controlcacheversion keyname by @markstory in [#123837](https://github.com/getsentry/sentry/pull/123837)
- lint: Add react-compiler list rules to oxlint by @ryan953 in [#123851](https://github.com/getsentry/sentry/pull/123851)
- feat(scm-messaging-integration) Adding continue to channel picker state by @Abdkhan14 in [#123747](https://github.com/getsentry/sentry/pull/123747)
- chore(pr iter) quick fix failed tool call metrics by @joseph-sentry in [#123520](https://github.com/getsentry/sentry/pull/123520)
- dep: bump `punkreq` to 0.2.1 by @gi0baro in [#123729](https://github.com/getsentry/sentry/pull/123729)
- envrc/devenv: fix agent skills install for dotagents v3 by @sentry-junior in [#123664](https://github.com/getsentry/sentry/pull/123664)
- migration(workflow-engine): Add index for organization_id on all project detector rows by @leeandher in [#123343](https://github.com/getsentry/sentry/pull/123343)
- Exclude self by organizationmember_id in SSO owner override by @geoffg-sentry in [#123502](https://github.com/getsentry/sentry/pull/123502)
- chore(hybridcloud) Add keyname to cache version tables by @markstory in [#123451](https://github.com/getsentry/sentry/pull/123451)
- Remove organizations:events-use-replays-dataset flag by @cvxluo in [#121096](https://github.com/getsentry/sentry/pull/121096)
- impr(sentry apps): Update request log to show new fields and links by @Christinarlong in [#123071](https://github.com/getsentry/sentry/pull/123071)
- chore(relocation) Extend relocation transfer time by @markstory in [#123320](https://github.com/getsentry/sentry/pull/123320)
- impr(sentry apps): Add Duration, Resource ids,  Request id to the dashboard by @Christinarlong in [#122930](https://github.com/getsentry/sentry/pull/122930)
- skip deletion watermark for empty tables by @strongs in [#123066](https://github.com/getsentry/sentry/pull/123066)
- fix(control) Move integration reads to replicas by @markstory in [#122794](https://github.com/getsentry/sentry/pull/122794)

_Plus 11 more_

26.8.0
------

### New Features ✨

#### Aci

- Support NOT IN for querying detectors by @RudraPatel2003 in [#121786](https://github.com/getsentry/sentry/pull/121786)
- Insert every_event condition when editing alerts with no "when" conditions by @RudraPatel2003 in [#121463](https://github.com/getsentry/sentry/pull/121463)
- Add every_event data condition for alert triggers by @RudraPatel2003 in [#121100](https://github.com/getsentry/sentry/pull/121100)
- Add frontend changes for "every_event" data condition by @RudraPatel2003 in [#121099](https://github.com/getsentry/sentry/pull/121099)
- Add cancel button to new alert page by @RudraPatel2003 in [#121104](https://github.com/getsentry/sentry/pull/121104)
- Rename alert option for regression events by @RudraPatel2003 in [#120940](https://github.com/getsentry/sentry/pull/120940)
- Add button to leave alert edit window by @RudraPatel2003 in [#121010](https://github.com/getsentry/sentry/pull/121010)

#### Action Log

- Add dedicated outbox table by @cvxluo in [#121881](https://github.com/getsentry/sentry/pull/121881)
- Tag action log publish metrics with whether we write to db by @kcons in [#121327](https://github.com/getsentry/sentry/pull/121327)

#### Agent Monitoring

- Add agent conversation API URLs by @vgrozdanic in [#121516](https://github.com/getsentry/sentry/pull/121516)
- Add hover background to tool call rows by @ArthurKnaus in [#121445](https://github.com/getsentry/sentry/pull/121445)
- Restyle timeline row titles for readability by @ArthurKnaus in [#121451](https://github.com/getsentry/sentry/pull/121451)
- Collapse tool column when a page has no tools by @ArthurKnaus in [#121294](https://github.com/getsentry/sentry/pull/121294)
- Detect and fence unescaped HTML and JSON in AI content by @ArthurKnaus in [#121158](https://github.com/getsentry/sentry/pull/121158)
- Render json code blocks as an interactive tree by @ArthurKnaus in [#121152](https://github.com/getsentry/sentry/pull/121152)
- Collapse only custom tags and show their raw label by @ArthurKnaus in [#121150](https://github.com/getsentry/sentry/pull/121150)
- Add size and time totals to collapsed tool calls by @ArthurKnaus in [#120962](https://github.com/getsentry/sentry/pull/120962)
- Add area chart type to conversations chart by @ArthurKnaus in [#120956](https://github.com/getsentry/sentry/pull/120956)
- Add collapse, alert, and dashboard actions to conversations chart by @ArthurKnaus in [#120899](https://github.com/getsentry/sentry/pull/120899)
- Display thinking in span details output tab by @ArthurKnaus in [#120896](https://github.com/getsentry/sentry/pull/120896)
- Add Cloudflare deployment target to agent onboarding by @ArthurKnaus in [#120885](https://github.com/getsentry/sentry/pull/120885)

#### Ai Monitoring

- Restore scroll state and scroll to selected span by @ArthurKnaus in [#120892](https://github.com/getsentry/sentry/pull/120892)
- Show conversation title on the details page by @ArthurKnaus in [#120889](https://github.com/getsentry/sentry/pull/120889)
- Return conversation title behind apiVersion=2 by @vgrozdanic in [#120746](https://github.com/getsentry/sentry/pull/120746)
- Gradual rollout for conversation title generation by @vgrozdanic in [#120798](https://github.com/getsentry/sentry/pull/120798)

#### Api

- Add response schema to events validate endpoint by @skaasten in [#121357](https://github.com/getsentry/sentry/pull/121357)
- Add response schema to organization traces endpoint by @skaasten in [#121334](https://github.com/getsentry/sentry/pull/121334)
- Add response schema to trace item attribute values endpoint by @skaasten in [#121332](https://github.com/getsentry/sentry/pull/121332)
- Add response schema to trace metrics endpoint by @skaasten in [#121328](https://github.com/getsentry/sentry/pull/121328)
- Add response schema to organization tag values endpoint by @skaasten in [#121319](https://github.com/getsentry/sentry/pull/121319)

#### Assisted Query

- Forward flag options from the search-agent start endpoint by @aliu39 in [#121884](https://github.com/getsentry/sentry/pull/121884)
- Forward feature flags to Seer as request options by @aliu39 in [#121784](https://github.com/getsentry/sentry/pull/121784)

#### Attachments

- Redirect Objectstore-backed attachment downloads to Objectstore by @jan-auer in [#120958](https://github.com/getsentry/sentry/pull/120958)
- Store the filename with Objectstore attachment uploads by @jan-auer in [#120964](https://github.com/getsentry/sentry/pull/120964)

#### Auth

- Add flag-gated email verification for SSO signups by @nora-shap in [#121808](https://github.com/getsentry/sentry/pull/121808)
- Report a trustworthy email_verified for GitHub SSO by @nora-shap in [#121274](https://github.com/getsentry/sentry/pull/121274)

#### Autofix

- Tell the agent to set the repo up before running checks by @chromy in [#122093](https://github.com/getsentry/sentry/pull/122093)
- Add flagged steering to Autofix to run checks by @chromy in [#122033](https://github.com/getsentry/sentry/pull/122033)
- Encourage autofix to use bash when available. by @chromy in [#121717](https://github.com/getsentry/sentry/pull/121717)
- Slow PR-watch polling in the autofix drawer by @joseph-sentry in [#121655](https://github.com/getsentry/sentry/pull/121655)
- Add section retry controls by @malwilley in [#121267](https://github.com/getsentry/sentry/pull/121267)
- Guard re-run against runs with a PR or coding agent by @NicoHinderling in [#121133](https://github.com/getsentry/sentry/pull/121133)
- Emit autofix fixability assessment by @Zylphrex in [#120845](https://github.com/getsentry/sentry/pull/120845)

#### Conversations

- Show embeddings in the conversation transcript by @ArthurKnaus in [#121613](https://github.com/getsentry/sentry/pull/121613)
- Expand user_message XML tags by default by @matejminar in [#121701](https://github.com/getsentry/sentry/pull/121701)
- Return gen_ai.embeddings.input for AI conversation spans by @ArthurKnaus in [#121603](https://github.com/getsentry/sentry/pull/121603)
- Track AI prompt copy with shared onboarding analytics by @sentry-junior in [#120920](https://github.com/getsentry/sentry/pull/120920)
- Add error fire icon to conversation summary by @ArthurKnaus in [#120960](https://github.com/getsentry/sentry/pull/120960)
- Add project badge tooltip and fix pagination spacing by @ArthurKnaus in [#120797](https://github.com/getsentry/sentry/pull/120797)
- Add redesigned conversations table behind flag by @ArthurKnaus in [#120791](https://github.com/getsentry/sentry/pull/120791)
- Return generation duration and primary project by @ArthurKnaus in [#120790](https://github.com/getsentry/sentry/pull/120790)

#### Dashboards

- Move header actions into breadcrumb menu by @priscilawebdev in [#121282](https://github.com/getsentry/sentry/pull/121282)
- Adjust dashboards columns by @adrianviquez in [#120648](https://github.com/getsentry/sentry/pull/120648)

#### Data Browsing

- Add optimistic sort to dashboard table by @adrianviquez in [#120840](https://github.com/getsentry/sentry/pull/120840)
- Adding backend id for deterministic sorting by @adrianviquez in [#120812](https://github.com/getsentry/sentry/pull/120812)

#### Difs

- Assemble exclusive Objectstore DIFs from blobs by @lcian in [#121065](https://github.com/getsentry/sentry/pull/121065)
- Add Objectstore-only DIF creation by @lcian in [#120183](https://github.com/getsentry/sentry/pull/120183)
- Compress Objectstore-backed Debug Files with zstd by @lcian in [#121308](https://github.com/getsentry/sentry/pull/121308)
- Add Objectstore migration tasks by @lcian in [#120653](https://github.com/getsentry/sentry/pull/120653)

#### Dynamic Sampling

- Add recalibration logic to the new per-org pipeline by @shellmayr in [#115786](https://github.com/getsentry/sentry/pull/115786)
- Add per-transaction volume debug logging by @shellmayr in [#120795](https://github.com/getsentry/sentry/pull/120795)

#### Explore

- Validate aggregate spans table sorts by @nsdeschenes in [#121453](https://github.com/getsentry/sentry/pull/121453)
- Support array membership filters via [*] operator by @manessaraj in [#121721](https://github.com/getsentry/sentry/pull/121721)
- Support array attributes in the spans search query builder by @manessaraj in [#121614](https://github.com/getsentry/sentry/pull/121614)
- Add numeric attribute tree filter actions for logs and metrics by @nsdeschenes in [#121326](https://github.com/getsentry/sentry/pull/121326)
- Support array attributes in trace item attributes endpoint by @manessaraj in [#121184](https://github.com/getsentry/sentry/pull/121184)
- Add explore-conditional-aggregates feature flag by @wmak in [#120990](https://github.com/getsentry/sentry/pull/120990)
- Serve custom attribute context from postgres by @DominikB2014 in [#120994](https://github.com/getsentry/sentry/pull/120994)

#### Feedback

- Replace trace timeline with trace preview by @scttcper in [#121265](https://github.com/getsentry/sentry/pull/121265)
- Make transparent variant the default by @priscilawebdev in [#121277](https://github.com/getsentry/sentry/pull/121277)

#### Gal

- Enroll eligible projects for backfill by @yuvmen in [#121780](https://github.com/getsentry/sentry/pull/121780)
- Add coordinator task for full backfill across all projects by @yuvmen in [#119863](https://github.com/getsentry/sentry/pull/119863)

#### Gdd

- When invalidating, ensure an invalidated GDD row exists by @kcons in [#121398](https://github.com/getsentry/sentry/pull/121398)
- Report incremental derived data processing latency by @kcons in [#121030](https://github.com/getsentry/sentry/pull/121030)

#### Hybridcloud

- Tag webhook delivery time with the mailbox event type by @vaind in [#122026](https://github.com/getsentry/sentry/pull/122026)
- Tag delivery outcomes and latency with their dispatcher and mode by @vaind in [#121982](https://github.com/getsentry/sentry/pull/121982)
- Attribute drain dispatches to push trigger vs scheduler by @vaind in [#121882](https://github.com/getsentry/sentry/pull/121882)
- Tag webhook delivery time by provider by @vaind in [#121636](https://github.com/getsentry/sentry/pull/121636)
- Tag webhook delivery metrics by provider by @vaind in [#121609](https://github.com/getsentry/sentry/pull/121609)
- Tag webhook backlog depth by event type by @vaind in [#121601](https://github.com/getsentry/sentry/pull/121601)
- Emit webhook mailbox depth and oldest-pending-age metrics by @vaind in [#121506](https://github.com/getsentry/sentry/pull/121506)

#### Inbound Filters

- Show per-filter stats in inbound-filters-v2 by @shellmayr in [#121837](https://github.com/getsentry/sentry/pull/121837)
- Make new inbound filter UX clearer by @shellmayr in [#120180](https://github.com/getsentry/sentry/pull/120180)
- Split up error type and error message into separate filter conditions by @shellmayr in [#121285](https://github.com/getsentry/sentry/pull/121285)
- Generate Relay rules from custom inbound filters by @shellmayr in [#119816](https://github.com/getsentry/sentry/pull/119816)

#### Inbox

- Add empty state by @scttcper in [#122078](https://github.com/getsentry/sentry/pull/122078)
- Add counts to assignment tabs by @malwilley in [#122075](https://github.com/getsentry/sentry/pull/122075)
- Add Seer empty states to assigned issue previews by @scttcper in [#121903](https://github.com/getsentry/sentry/pull/121903)
- Show secondary autofix actions by @malwilley in [#121999](https://github.com/getsentry/sentry/pull/121999)
- Adjust inbox preview PR section formatting by @malwilley in [#121880](https://github.com/getsentry/sentry/pull/121880)
- Show suggested assignees in list by @malwilley in [#121729](https://github.com/getsentry/sentry/pull/121729)
- Show pull request badges on issue cards by @roggenkemper in [#121321](https://github.com/getsentry/sentry/pull/121321)
- Add copy markdown button to autofix sections by @malwilley in [#121394](https://github.com/getsentry/sentry/pull/121394)
- Auto-select first issue by @roggenkemper in [#121166](https://github.com/getsentry/sentry/pull/121166)
- Add "Identified" and "Fix applied" sections to the inbox by @malwilley in [#121188](https://github.com/getsentry/sentry/pull/121188)
- Make pane divider resizable by @roggenkemper in [#121192](https://github.com/getsentry/sentry/pull/121192)
- Show last progress transition time by @malwilley in [#121105](https://github.com/getsentry/sentry/pull/121105)
- Sticky section headers by @malwilley in [#121016](https://github.com/getsentry/sentry/pull/121016)
- Summarize Autofix results in issue previews by @malwilley in [#120869](https://github.com/getsentry/sentry/pull/120869)

#### Investigations

- Add query-backed detail bootstrap by @arslnb in [#122071](https://github.com/getsentry/sentry/pull/122071)
- Add breached metric investigation APIs by @wedamija in [#122073](https://github.com/getsentry/sentry/pull/122073)
- Add block execution APIs by @arslnb in [#121696](https://github.com/getsentry/sentry/pull/121696)
- Add Explore list entrypoint by @arslnb in [#122024](https://github.com/getsentry/sentry/pull/122024)
- Add agent execution engine [9/1/13] by @arslnb in [#121410](https://github.com/getsentry/sentry/pull/121410)
- Add investigations to the deletions framework by @wedamija in [#121553](https://github.com/getsentry/sentry/pull/121553)
- Add execution persistence [8/13] by @arslnb in [#121409](https://github.com/getsentry/sentry/pull/121409)
- Add parameter APIs [7/13] by @arslnb in [#121407](https://github.com/getsentry/sentry/pull/121407)
- Add favorite and duplicate endpoints by @wedamija in [#121683](https://github.com/getsentry/sentry/pull/121683)
- Add block graph APIs [6/13] by @arslnb in [#121406](https://github.com/getsentry/sentry/pull/121406)
- Add collection APIs [5/13] by @arslnb in [#121405](https://github.com/getsentry/sentry/pull/121405)
- Add lifecycle services [4/13] by @arslnb in [#121404](https://github.com/getsentry/sentry/pull/121404)
- Add response serializers by @wedamija in [#121576](https://github.com/getsentry/sentry/pull/121576)
- Add the investigation template registry [3/13] by @arslnb in [#121403](https://github.com/getsentry/sentry/pull/121403)
- Add validators and contracts by @wedamija in [#121573](https://github.com/getsentry/sentry/pull/121573)
- Add block schema [2.5/14] by @arslnb in [#121559](https://github.com/getsentry/sentry/pull/121559)
- Register feature flag [2/13] by @arslnb in [#121402](https://github.com/getsentry/sentry/pull/121402)
- Add investigation schema [1/13] by @arslnb in [#121401](https://github.com/getsentry/sentry/pull/121401)

#### Issue Inbox

- Better CTAs for open and closed pull requests by @malwilley in [#121974](https://github.com/getsentry/sentry/pull/121974)
- Link issue title by @malwilley in [#121871](https://github.com/getsentry/sentry/pull/121871)
- Add new flags for two-step inbox rollout by @malwilley in [#121812](https://github.com/getsentry/sentry/pull/121812)
- Add coding agent handoff to issue preview by @malwilley in [#121391](https://github.com/getsentry/sentry/pull/121391)
- Improve the linked pull request component when there is more room by @malwilley in [#121570](https://github.com/getsentry/sentry/pull/121570)
- Add interaction analytics by @malwilley in [#121538](https://github.com/getsentry/sentry/pull/121538)

#### Issue Progress

- Merged PRs should transition issue to fix applied by @malwilley in [#121078](https://github.com/getsentry/sentry/pull/121078)
- Add backfill task for new PR lifecycle log types by @malwilley in [#120750](https://github.com/getsentry/sentry/pull/120750)

#### Issues

- Add consistency checks for derived issue data by @kcons in [#121502](https://github.com/getsentry/sentry/pull/121502)
- Use new mention composer in sidebar by @scttcper in [#121988](https://github.com/getsentry/sentry/pull/121988)
- Add mention input feature flag by @scttcper in [#121979](https://github.com/getsentry/sentry/pull/121979)
- New mention input, replace react-mentions by @scttcper in [#121584](https://github.com/getsentry/sentry/pull/121584)
- Expose activity sources (mcp) by @scttcper in [#121814](https://github.com/getsentry/sentry/pull/121814)
- Show delegated PR agent attribution by @scttcper in [#121690](https://github.com/getsentry/sentry/pull/121690)
- Expose delegated PR attribution agent by @scttcper in [#121689](https://github.com/getsentry/sentry/pull/121689)
- Collapse repetitive issue activity by @scttcper in [#121488](https://github.com/getsentry/sentry/pull/121488)
- Highlight comment count, add api call if needed by @scttcper in [#121361](https://github.com/getsentry/sentry/pull/121361)
- Register activity rollup flag by @scttcper in [#121489](https://github.com/getsentry/sentry/pull/121489)
- Add profiler.id FieldKey for continuous profile search by @markushi in [#120811](https://github.com/getsentry/sentry/pull/120811)
- Add option to filter for events with profiler.id context set by @markushi in [#120808](https://github.com/getsentry/sentry/pull/120808)
- Show linked issues in trace preview by @scttcper in [#121213](https://github.com/getsentry/sentry/pull/121213)
- Add copy to clipboard button for http requests by @RudraPatel2003 in [#121227](https://github.com/getsentry/sentry/pull/121227)
- Recommended event attempts to verify replay's existence by @adrianviquez in [#120967](https://github.com/getsentry/sentry/pull/120967)
- Render PR review status badge by @cvxluo in [#121118](https://github.com/getsentry/sentry/pull/121118)
- Render PR checks status badge by @cvxluo in [#121107](https://github.com/getsentry/sentry/pull/121107)
- Show Seer avatar for created pull requests by @scttcper in [#121015](https://github.com/getsentry/sentry/pull/121015)
- Fetch PR review status from the provider by @cvxluo in [#121069](https://github.com/getsentry/sentry/pull/121069)
- Fetch PR checks status from the provider by @cvxluo in [#120903](https://github.com/getsentry/sentry/pull/120903)
- Add metrics for missing replays by @adrianviquez in [#120968](https://github.com/getsentry/sentry/pull/120968)
- Adjusts replay error message in issue details page by @adrianviquez in [#120916](https://github.com/getsentry/sentry/pull/120916)
- Collapse Seer activity phases by @scttcper in [#120860](https://github.com/getsentry/sentry/pull/120860)
- Log external issues created by alert rules by @cvxluo in [#120901](https://github.com/getsentry/sentry/pull/120901)
- Split search.group_index referrer by UI vs API by @mrduncan in [#120404](https://github.com/getsentry/sentry/pull/120404)
- Mark the issue inbox nav entry as experimental by @cvxluo in [#120788](https://github.com/getsentry/sentry/pull/120788)
- Show PR iteration sources in issue activity by @scttcper in [#120701](https://github.com/getsentry/sentry/pull/120701)
- Attribute PR iterations from GitHub to users by @scttcper in [#120699](https://github.com/getsentry/sentry/pull/120699)
- Attribute PR iterations from web ui to users by @scttcper in [#120698](https://github.com/getsentry/sentry/pull/120698)
- Record PR iteration sources in issue activity by @scttcper in [#120695](https://github.com/getsentry/sentry/pull/120695)

#### Onboarding

- Store agentic setup progress by @evanpurkhiser in [#121913](https://github.com/getsentry/sentry/pull/121913)
- Model agentic setup progress by @evanpurkhiser in [#121912](https://github.com/getsentry/sentry/pull/121912)
- Expand manual setup overview by @evanpurkhiser in [#121649](https://github.com/getsentry/sentry/pull/121649)
- Add agentic setup interstitial to the welcome step by @evanpurkhiser in [#121363](https://github.com/getsentry/sentry/pull/121363)
- Report project creation failures identically across both flows by @jaydgoss in [#121533](https://github.com/getsentry/sentry/pull/121533)
- Track create attempts and failures on the legacy project flow by @jaydgoss in [#121531](https://github.com/getsentry/sentry/pull/121531)
- Revalidate restored SCM messaging destinations by @jaydgoss in [#121187](https://github.com/getsentry/sentry/pull/121187)
- Add SCM messaging treatment route by @jaydgoss in [#120992](https://github.com/getsentry/sentry/pull/120992)
- Add flag for the agentic setup interstitial by @evanpurkhiser in [#121364](https://github.com/getsentry/sentry/pull/121364)
- Register onboarding-scm-messaging-experiment flag by @jaydgoss in [#120981](https://github.com/getsentry/sentry/pull/120981)

#### Pr Metrics

- Resolve reported repos by external id by @vaind in [#121709](https://github.com/getsentry/sentry/pull/121709)
- Emit ordered per-head CI results on scm.pr.closed by @joseph-sentry in [#121310](https://github.com/getsentry/sentry/pull/121310)
- Add options for the PR lifecycle state backfill by @cvxluo in [#121014](https://github.com/getsentry/sentry/pull/121014)
- Dedupe scm.pr.closed across a shared multi-org repo by @vaind in [#120562](https://github.com/getsentry/sentry/pull/120562)

#### Preprod

- Include manifest in snapshot archives by @jamieQ in [#121735](https://github.com/getsentry/sentry/pull/121735)
- Log snapshot manifest payload size by @jamieQ in [#121684](https://github.com/getsentry/sentry/pull/121684)
- Block size analysis uploads for single-tenant by @NicoHinderling in [#121340](https://github.com/getsentry/sentry/pull/121340)
- Show image hash in snapshot metadata tooltip by @NicoHinderling in [#121191](https://github.com/getsentry/sentry/pull/121191)
- Add install groups to EAP items by @jamieQ in [#121019](https://github.com/getsentry/sentry/pull/121019)
- Show install groups in distribution table by @jamieQ in [#121054](https://github.com/getsentry/sentry/pull/121054)
- Add install group search to mobile builds by @jamieQ in [#120765](https://github.com/getsentry/sentry/pull/120765)
- Add install group artifact search by @jamieQ in [#120764](https://github.com/getsentry/sentry/pull/120764)

#### Replays

- Add a script to expire Replay deletion jobs by @gggritso in [#121669](https://github.com/getsentry/sentry/pull/121669)
- Let the deletion script select which steps it runs by @gggritso in [#121501](https://github.com/getsentry/sentry/pull/121501)
- Add metrics tracking for bulk delete job by @jameskeane in [#121232](https://github.com/getsentry/sentry/pull/121232)

#### Scraps

- Add a shared Table shell with a ColumnResizer by @JoshuaKGoldberg in [#121178](https://github.com/getsentry/sentry/pull/121178)
- Add Chip component by @natemoo-re in [#121345](https://github.com/getsentry/sentry/pull/121345)
- Responsive dimensions for image component by @TkDodo in [#121708](https://github.com/getsentry/sentry/pull/121708)
- Add empty state component by @natemoo-re in [#119277](https://github.com/getsentry/sentry/pull/119277)

#### Search

- Show Seer query status icon by @nsdeschenes in [#120973](https://github.com/getsentry/sentry/pull/120973)
- Middle-ellipsis filter values in the query builder by @wmak in [#120849](https://github.com/getsentry/sentry/pull/120849)
- Add Ask Seer error retry actions by @nsdeschenes in [#120198](https://github.com/getsentry/sentry/pull/120198)
- Move Ask Seer feedback into results footer by @nsdeschenes in [#120360](https://github.com/getsentry/sentry/pull/120360)

#### Seer

- Make Autofix overview enrichment opt-in via expand by @NicoHinderling in [#122105](https://github.com/getsentry/sentry/pull/122105)
- Allow free Autofix project settings access by @trevor-e in [#122081](https://github.com/getsentry/sentry/pull/122081)
- Expose free Autofix access by @trevor-e in [#122077](https://github.com/getsentry/sentry/pull/122077)
- Link Seer settings in automated-run PR descriptions by @trevor-e in [#122045](https://github.com/getsentry/sentry/pull/122045)
- Build every Code Mode link from one rule table by @azulus in [#121898](https://github.com/getsentry/sentry/pull/121898)
- Tool formatters for bash mode tools by @Zylphrex in [#121855](https://github.com/getsentry/sentry/pull/121855)
- Bypass quota and repo checks in /autofix/setup/ for free cohort orgs by @Mihir-Mavalankar in [#121848](https://github.com/getsentry/sentry/pull/121848)
- Accept page location and timezone-aware send times by @azulus in [#121757](https://github.com/getsentry/sentry/pull/121757)
- Enrich Autofix overview pull requests with SCM status by @NicoHinderling in [#121748](https://github.com/getsentry/sentry/pull/121748)
- Add Autofix overview endpoint by @NicoHinderling in [#121747](https://github.com/getsentry/sentry/pull/121747)
- Fall back to ProjectRepository for free cohort repo defin… by @Mihir-Mavalankar in [#121675](https://github.com/getsentry/sentry/pull/121675)
- Add free cohort eligibility path for night shift and autofix by @Mihir-Mavalankar in [#121657](https://github.com/getsentry/sentry/pull/121657)
- Persist code change diffs in milestone extras by @NicoHinderling in [#121627](https://github.com/getsentry/sentry/pull/121627)
- Score non-top predictions properly, score team/shared-team differently by @hobzcalvin in [#121393](https://github.com/getsentry/sentry/pull/121393)
- Enable Code Mode as the only tool surface for flagged orgs by @azulus in [#121585](https://github.com/getsentry/sentry/pull/121585)
- Name the reason an agent token is rejected by @azulus in [#121583](https://github.com/getsentry/sentry/pull/121583)
- Add ThinkingBlock with outline Disclosure by @natemoo-re in [#121329](https://github.com/getsentry/sentry/pull/121329)
- Add in-chat write approval UI by @gricha in [#121459](https://github.com/getsentry/sentry/pull/121459)
- Persist artifact data on run milestones by @NicoHinderling in [#121362](https://github.com/getsentry/sentry/pull/121362)
- Track when all run pull requests are merged by @NicoHinderling in [#121136](https://github.com/getsentry/sentry/pull/121136)
- Record run milestones from Seer run state by @NicoHinderling in [#121111](https://github.com/getsentry/sentry/pull/121111)
- Route root-cause autofix through the RCA feature by @rbro112 in [#120100](https://github.com/getsentry/sentry/pull/120100)
- Add autofix RCA feature by @rbro112 in [#120099](https://github.com/getsentry/sentry/pull/120099)
- Record ground truth from any triggering activity, not just ASSIGNED by @hobzcalvin in [#121375](https://github.com/getsentry/sentry/pull/121375)
- Register seer-agent-autofix flag for the autofix embed by @ryan953 in [#120354](https://github.com/getsentry/sentry/pull/120354)
- Read Explorer todos and artifacts from tool results too by @azulus in [#121248](https://github.com/getsentry/sentry/pull/121248)
- Render chart markdown embeds by @gricha in [#120969](https://github.com/getsentry/sentry/pull/120969)
- Route reviewer-less Seer PRs via fallback candidate sources by @vaind in [#120202](https://github.com/getsentry/sentry/pull/120202)
- Add feature flag for pr content verification by @Zylphrex in [#121169](https://github.com/getsentry/sentry/pull/121169)
- Return custom attribute context from get_attribute_names by @DominikB2014 in [#121001](https://github.com/getsentry/sentry/pull/121001)
- Add principal-aware agent token minting by @gricha in [#121040](https://github.com/getsentry/sentry/pull/121040)
- Add SeerRunMilestone table by @NicoHinderling in [#121093](https://github.com/getsentry/sentry/pull/121093)
- Carry structuredContent on the ToolResult client model by @azulus in [#120569](https://github.com/getsentry/sentry/pull/120569)
- Render tool links from the structuredContent links bus by @azulus in [#120570](https://github.com/getsentry/sentry/pull/120570)
- Add issue embed by @natemoo-re in [#120260](https://github.com/getsentry/sentry/pull/120260)
- Add user embed widget by @natemoo-re in [#120830](https://github.com/getsentry/sentry/pull/120830)
- Add dsn embed widget by @natemoo-re in [#120829](https://github.com/getsentry/sentry/pull/120829)
- Run-anchored notify_seer_pr_created RPC for PR attribution (CW-1719) by @vaind in [#120583](https://github.com/getsentry/sentry/pull/120583)

#### Seer Billing

- Remove OrganizationContributors integration id column by @srest2021 in [#121011](https://github.com/getsentry/sentry/pull/121011)
- Mark OrganizationContributors integration id as pending deletion by @srest2021 in [#120980](https://github.com/getsentry/sentry/pull/120980)

#### Seerexplorer

- Deep-link telemetry_live_search call rows by @sentry-junior in [#122017](https://github.com/getsentry/sentry/pull/122017)
- Surface residual Explore links and span deep-links by @sentry-junior in [#121997](https://github.com/getsentry/sentry/pull/121997)
- Report page location and timezone-aware send times by @azulus in [#121758](https://github.com/getsentry/sentry/pull/121758)

#### Slack

- Add logging for Slack webhook retries and slow responses by @alexsohn1126 in [#120929](https://github.com/getsentry/sentry/pull/120929)
- Add metric for Slack webhook response time by @alexsohn1126 in [#120819](https://github.com/getsentry/sentry/pull/120819)

#### Smart Assignment

- Simple solution to GA Smart Assignment for all Seer customers by @hobzcalvin in [#122013](https://github.com/getsentry/sentry/pull/122013)
- Increase daily caps, sample non-Seer triggers at 10% by @hobzcalvin in [#121680](https://github.com/getsentry/sentry/pull/121680)

#### Workflow Engine

- Hook into organization creation signals by @leeandher in [#121471](https://github.com/getsentry/sentry/pull/121471)
- Allow for creating all-project workflows by @leeandher in [#120938](https://github.com/getsentry/sentry/pull/120938)
- Allow the all projects detector to be returned/added via API by @leeandher in [#120927](https://github.com/getsentry/sentry/pull/120927)
- Extend issue stream detector to support all projects by @leeandher in [#120908](https://github.com/getsentry/sentry/pull/120908)

#### Other

- (admin) Improve admin search dropdowns by @scttcper in [#121498](https://github.com/getsentry/sentry/pull/121498)
- (auto_ongoing_issue) Smooth issue transition load by @kcons in [#121691](https://github.com/getsentry/sentry/pull/121691)
- (billing) Wire trace-metric retention to the byte category by @dashed in [#120542](https://github.com/getsentry/sentry/pull/120542)
- (billing-platform) Query usage by projects by @brendanhsentry in [#121859](https://github.com/getsentry/sentry/pull/121859)
- (coding-agents) Record the PR number on coding-agent results by @cvxluo in [#120909](https://github.com/getsentry/sentry/pull/120909)
- (derived data) Add README/AGENTS docs by @kcons in [#122015](https://github.com/getsentry/sentry/pull/122015)
- (discover) Put migration warning for discover split by @nikkikapadia in [#121353](https://github.com/getsentry/sentry/pull/121353)
- (events) Soft block external legacy events API usage by @mjq in [#120854](https://github.com/getsentry/sentry/pull/120854)
- (icon) Add IconCopyId and use it for ID copy buttons by @natemoo-re in [#120907](https://github.com/getsentry/sentry/pull/120907)
- (issue-details) Surface Seer assignee suggestions by @hobzcalvin in [#121251](https://github.com/getsentry/sentry/pull/121251)
- (issue-preview) Show root cause evidence by @roggenkemper in [#121250](https://github.com/getsentry/sentry/pull/121250)
- (issue-workflow) Register Seer action log rollout by @cvxluo in [#121546](https://github.com/getsentry/sentry/pull/121546)
- (link) Add tracking props to links by @TkDodo in [#120307](https://github.com/getsentry/sentry/pull/120307)
- (metrics) Add support in the data export processor by @JoshuaKGoldberg in [#121566](https://github.com/getsentry/sentry/pull/121566)
- (nav) Command Palette and Agent Sidebar trigger are competing for attention by @priscilawebdev in [#121044](https://github.com/getsentry/sentry/pull/121044)
- (post-process) Generic killswitch for pipeline steps by @untitaker in [#121428](https://github.com/getsentry/sentry/pull/121428)
- (pr-iteration) Resolve all review comment threads after iteration by @alexsohn1126 in [#120589](https://github.com/getsentry/sentry/pull/120589)
- (projects) Migrate filter debouncing to Pacer by @scttcper in [#121800](https://github.com/getsentry/sentry/pull/121800)
- (reports) Add PR links to past resolved issues by @shashjar in [#121667](https://github.com/getsentry/sentry/pull/121667)
- (sdk) Enable 'drop-error-if-contains-third-party-frames' by @JoshuaKGoldberg in [#121966](https://github.com/getsentry/sentry/pull/121966)
- (seer-infra-telemetry) Implement per-customer SA generation & deletion for GCP integrations by @shashjar in [#120266](https://github.com/getsentry/sentry/pull/120266)
- (sentry-apps) Collapse the permissions panel in creation templates by @cvxluo in [#121640](https://github.com/getsentry/sentry/pull/121640)
- (snuba) Complete and remove option rollout for response compress… by @tryangul in [#120711](https://github.com/getsentry/sentry/pull/120711)
- (stories) Add resizable demo with breakpoint ruler by @natemoo-re in [#120568](https://github.com/getsentry/sentry/pull/120568)
- (taskworkers) Add batch prevalidation to CursoredScheduler by @shellmayr in [#121515](https://github.com/getsentry/sentry/pull/121515)
- (trace) Include event data in trace item details API by @mjq in [#121461](https://github.com/getsentry/sentry/pull/121461)
- (traces) Show errors inline in Logs tab by @JoshuaKGoldberg in [#118867](https://github.com/getsentry/sentry/pull/118867)
- (ui) Upgrade TanStack Pacer devtools, recent search saving by @scttcper in [#121325](https://github.com/getsentry/sentry/pull/121325)
- (variables) Merge symbolicated frame variables into the event by @Dav1dde in [#121457](https://github.com/getsentry/sentry/pull/121457)
- Register agentic-triage-free-cohort-killswitch FlagPole flag by @Mihir-Mavalankar in [#121630](https://github.com/getsentry/sentry/pull/121630)
- Add leading icon to TextCopyInput by @evanpurkhiser in [#121560](https://github.com/getsentry/sentry/pull/121560)
- Pass variable extraction flag to Symbolicator by @szokeasaurusrex in [#120882](https://github.com/getsentry/sentry/pull/120882)
- Register variable extraction feature flag by @szokeasaurusrex in [#120881](https://github.com/getsentry/sentry/pull/120881)
- Refresh tracing empty state to include AI setup and updated copy by @bcoe in [#120826](https://github.com/getsentry/sentry/pull/120826)

### Bug Fixes 🐛

#### Admin

- Hide enterprise trial for non-free plans by @ndmanvar in [#121783](https://github.com/getsentry/sentry/pull/121783)
- Change help text to specify that it will enable business and not impa… by @ndmanvar in [#121662](https://github.com/getsentry/sentry/pull/121662)

#### Agent Monitoring

- Reserve tool tag height in conversation header by @ArthurKnaus in [#121293](https://github.com/getsentry/sentry/pull/121293)
- Keep tool-error select outline purple in transcript by @ArthurKnaus in [#120959](https://github.com/getsentry/sentry/pull/120959)
- Show only model in agent span timeline secondary by @ArthurKnaus in [#120894](https://github.com/getsentry/sentry/pull/120894)

#### Alerts

- Send release environment name, not id, and update API docs by @hobzcalvin in [#122074](https://github.com/getsentry/sentry/pull/122074)
- Serialize targetless workflow actions by @cvxluo in [#121986](https://github.com/getsentry/sentry/pull/121986)
- Don't use legacy Rule name in issue alert notifs by @leeandher in [#121960](https://github.com/getsentry/sentry/pull/121960)
- Format failure rate notifications by @sentry-junior in [#119878](https://github.com/getsentry/sentry/pull/119878)

#### Autofix

- Limit PR iteration to GitHub, excluding GitHub Enterprise by @joseph-sentry in [#121870](https://github.com/getsentry/sentry/pull/121870)
- Attribute PR commits to the acting user by @alexsohn1126 in [#121360](https://github.com/getsentry/sentry/pull/121360)
- Align automatic run access gates by @trevor-e in [#120610](https://github.com/getsentry/sentry/pull/120610)
- Prevent duplicate auto-triggered runs by @scttcper in [#120993](https://github.com/getsentry/sentry/pull/120993)

#### Charts

- Rename LineSeries factory to lowercase for React Compiler by @sentry in [#121927](https://github.com/getsentry/sentry/pull/121927)
- Stabilize ChartComponent reference in EventsChart by @sentry in [#120037](https://github.com/getsentry/sentry/pull/120037)
- Prevent chart zoom handler invoked on propagated synced zoom actions by @edwardgou-sentry in [#121723](https://github.com/getsentry/sentry/pull/121723)

#### Coding Conventions

- Address no-capitalized-function-calls in viewHierarchy utils by @sentry in [#121921](https://github.com/getsentry/sentry/pull/121921)
- Rename capitalized 'Legend' function to 'legend' by @sentry in [#121928](https://github.com/getsentry/sentry/pull/121928)
- Rename Tree.FromAssertion to Tree.fromAssertion by @sentry in [#121920](https://github.com/getsentry/sentry/pull/121920)
- Rename ToolBox to getToolBox in charts components by @sentry in [#121926](https://github.com/getsentry/sentry/pull/121926)
- Refactor InlineEventAttachment for React Compiler by @sentry in [#120032](https://github.com/getsentry/sentry/pull/120032)
- Resolve static-component-definitions in SentryApplicationDetails by @sentry in [#121127](https://github.com/getsentry/sentry/pull/121127)
- Wrap open/closeDropdown with useCallback by @sentry in [#121125](https://github.com/getsentry/sentry/pull/121125)
- Resolve valid-use-memo in searchBar.tsx by @sentry in [#121090](https://github.com/getsentry/sentry/pull/121090)

#### Conversations

- Ensure that conversation timeline nesting/ordering agrees with trace view by @shellmayr in [#121829](https://github.com/getsentry/sentry/pull/121829)
- Interleave transcript thinking and tool calls by @ArthurKnaus in [#121712](https://github.com/getsentry/sentry/pull/121712)
- Open conversation in new tab on cmd/ctrl+click by @ArthurKnaus in [#121487](https://github.com/getsentry/sentry/pull/121487)
- Keep user icon from shrinking by @ArthurKnaus in [#120809](https://github.com/getsentry/sentry/pull/120809)
- AI chat table is cut off and not scrollable by @priscilawebdev in [#120732](https://github.com/getsentry/sentry/pull/120732)

#### Dashboards

- Fix layout issues in dashboard page for mobile screen sizes by @edwardgou-sentry in [#121883](https://github.com/getsentry/sentry/pull/121883)
- Guard time series tooltip against stale replayed params by @JoshuaKGoldberg in [#121782](https://github.com/getsentry/sentry/pull/121782)
- Guard against undefined seriesNameString in widget legend decoding by @sentry in [#121123](https://github.com/getsentry/sentry/pull/121123)
- Heat maps in widget builder causing maximum depth error by @nikkikapadia in [#120937](https://github.com/getsentry/sentry/pull/120937)
- Reject saving non-text widgets with no dataset by @gggritso in [#121776](https://github.com/getsentry/sentry/pull/121776)
- Memoize unstable references to heat map data in widgets by @edwardgou-sentry in [#121753](https://github.com/getsentry/sentry/pull/121753)
- Omit parens from Open in Issues query for filtered widgets by @edwardgou-sentry in [#121635](https://github.com/getsentry/sentry/pull/121635)
- Refresh sidebar title after rename by @priscilawebdev in [#121610](https://github.com/getsentry/sentry/pull/121610)
- Use default query client instead of context api for events query by @nikkikapadia in [#121558](https://github.com/getsentry/sentry/pull/121558)
- Handle discover split datasets with null widget type by @nikkikapadia in [#121548](https://github.com/getsentry/sentry/pull/121548)
- Adhere to pure-render-functions in useTimeRangeWarning by @sentry in [#121241](https://github.com/getsentry/sentry/pull/121241)
- Keep custom date ranges beyond 90 days by @DominikB2014 in [#120974](https://github.com/getsentry/sentry/pull/120974)
- Guard against null environment in saved page filters by @TkDodo in [#121066](https://github.com/getsentry/sentry/pull/121066)
- Improve Y-axis when fitting Y-axis range to data by @gggritso in [#120936](https://github.com/getsentry/sentry/pull/120936)
- Disambiguate Dashboard widget error and loading states by @gggritso in [#120855](https://github.com/getsentry/sentry/pull/120855)

#### Derived Data

- More frequent periodic healing by @kcons in [#122009](https://github.com/getsentry/sentry/pull/122009)
- Modernize the behavior of invalidate_group_derived_data by @kcons in [#121205](https://github.com/getsentry/sentry/pull/121205)

#### Discover

- Stop fetching custom measurements metadata by @phacops in [#122021](https://github.com/getsentry/sentry/pull/122021)
- Put in discover dataset for null widget types during split by @nikkikapadia in [#121468](https://github.com/getsentry/sentry/pull/121468)
- Prevent TypeError when decoding null fields from URL by @sentry in [#121035](https://github.com/getsentry/sentry/pull/121035)

#### Dynamic Sampling

- Recalibrate per-org from span outcomes & EAP by @shellmayr in [#121518](https://github.com/getsentry/sentry/pull/121518)
- Add expire to per-org tasks by @shellmayr in [#121437](https://github.com/getsentry/sentry/pull/121437)
- Count the transactions of every root project by @shellmayr in [#120957](https://github.com/getsentry/sentry/pull/120957)

#### Eap

- Keep EAP queries inside the full-fidelity retention window by @phacops in [#120872](https://github.com/getsentry/sentry/pull/120872)
- Stop `has:trace` erroring on UUID-backed attributes by @JoshuaKGoldberg in [#120856](https://github.com/getsentry/sentry/pull/120856)

#### Explore

- Wrap highlighted JSON attributes by @nsdeschenes in [#122079](https://github.com/getsentry/sentry/pull/122079)
- Adhere to pure-render-functions in useLogsAutoRefreshInterval by @sentry in [#121236](https://github.com/getsentry/sentry/pull/121236)
- Skip empty group by sample filters by @nsdeschenes in [#121755](https://github.com/getsentry/sentry/pull/121755)
- Validate log group by selections by @nsdeschenes in [#121522](https://github.com/getsentry/sentry/pull/121522)
- Validate metric group by selections by @nsdeschenes in [#121466](https://github.com/getsentry/sentry/pull/121466)
- Drop pending last_received columns from attribute tables by @NicoHinderling in [#121209](https://github.com/getsentry/sentry/pull/121209)
- Adhere to pure-render-functions in useReleaseBubbles by @sentry in [#121243](https://github.com/getsentry/sentry/pull/121243)
- Adhere to pure-render-functions convention in useLogsQuery by @sentry in [#121233](https://github.com/getsentry/sentry/pull/121233)
- Segment.name or segment_name by @k-fish in [#121210](https://github.com/getsentry/sentry/pull/121210)
- Block transactions from Explore > Errors by @mjq in [#120922](https://github.com/getsentry/sentry/pull/120922)
- Gate alert creation dropdown option behind metric alerts access by @JoshuaKGoldberg in [#120450](https://github.com/getsentry/sentry/pull/120450)
- Show user log attributes that collide with reserved names in Edit Table by @JoshuaKGoldberg in [#120374](https://github.com/getsentry/sentry/pull/120374)
- Expose user log attributes that collide with reserved aliases by @JoshuaKGoldberg in [#120373](https://github.com/getsentry/sentry/pull/120373)

#### Forms

- Normalize API error objects to strings in model.tsx by @sentry in [#119985](https://github.com/getsentry/sentry/pull/119985)
- Make :project specific fields searchable by @TkDodo in [#121048](https://github.com/getsentry/sentry/pull/121048)
- Wrap AutoFixAgent in formSearch by @TkDodo in [#121047](https://github.com/getsentry/sentry/pull/121047)
- Show schema-only field errors on submit by @priscilawebdev in [#120875](https://github.com/getsentry/sentry/pull/120875)

#### Frontend

- Allow project creation without team-roles by @sentry-junior in [#121797](https://github.com/getsentry/sentry/pull/121797)
- Correct useMemo dependencies in CategoricalSeriesWidget by @sentry in [#121092](https://github.com/getsentry/sentry/pull/121092)

#### Gal

- Enroll projects using write feature by @yuvmen in [#122003](https://github.com/getsentry/sentry/pull/122003)
- Attribute PR lifecycle activities on GHE by @cvxluo in [#121734](https://github.com/getsentry/sentry/pull/121734)

#### Gdd

- Require that aggregator scope is a superset of their feature dependencies by @kcons in [#121499](https://github.com/getsentry/sentry/pull/121499)
- More efficient heal_stale_derived_data by @kcons in [#121346](https://github.com/getsentry/sentry/pull/121346)
- Use generate_project_derived_data in backfill by @kcons in [#121392](https://github.com/getsentry/sentry/pull/121392)

#### Hybridcloud

- Size the lease drain lock against a single delivery by @vaind in [#121843](https://github.com/getsentry/sentry/pull/121843)
- Dispatch push-triggered drains via batch claims by @vaind in [#121221](https://github.com/getsentry/sentry/pull/121221)
- Stop counting rejected webhooks as successful deliveries by @vaind in [#121606](https://github.com/getsentry/sentry/pull/121606)
- Skip the backlog estimate gauge instead of emitting zero by @vaind in [#121521](https://github.com/getsentry/sentry/pull/121521)

#### Inbox

- Improved autofix in-progress busy states by @malwilley in [#122100](https://github.com/getsentry/sentry/pull/122100)
- Expand populated sections by default by @scttcper in [#122097](https://github.com/getsentry/sentry/pull/122097)
- Show group owners in issue preview assignee selector by @malwilley in [#121738](https://github.com/getsentry/sentry/pull/121738)
- Cancel pending preview prefetches by @scttcper in [#121792](https://github.com/getsentry/sentry/pull/121792)
- Scope issue queries to "my projects" instead of "all projects" by @malwilley in [#121741](https://github.com/getsentry/sentry/pull/121741)
- Make open issue details button more visible by @malwilley in [#121730](https://github.com/getsentry/sentry/pull/121730)
- Hide view without Autofix access by @roggenkemper in [#121230](https://github.com/getsentry/sentry/pull/121230)
- Add spacing before autofix summaries by @roggenkemper in [#121526](https://github.com/getsentry/sentry/pull/121526)
- Keep load more below sticky headers by @roggenkemper in [#121370](https://github.com/getsentry/sentry/pull/121370)
- Exclude unsupported issue types by @roggenkemper in [#121231](https://github.com/getsentry/sentry/pull/121231)
- Rename create PR action by @roggenkemper in [#121322](https://github.com/getsentry/sentry/pull/121322)
- Remove progress badge from issue preview by @roggenkemper in [#121317](https://github.com/getsentry/sentry/pull/121317)
- Expand the topmost autofix summary section by default by @malwilley in [#121004](https://github.com/getsentry/sentry/pull/121004)

#### Insights

- Make web vitals drawer body the scroll container by @sentry-junior in [#121852](https://github.com/getsentry/sentry/pull/121852)
- Fix valid-use-memo in TransactionNameSearchBar by @sentry in [#121218](https://github.com/getsentry/sentry/pull/121218)

#### Integrations

- Improve configuration navigation by @priscilawebdev in [#121706](https://github.com/getsentry/sentry/pull/121706)
- Fetch paginated user mappings by @lcian in [#121225](https://github.com/getsentry/sentry/pull/121225)

#### Issue Details

- Handle null evaluated value in metric detector section by @JoshuaKGoldberg in [#122068](https://github.com/getsentry/sentry/pull/122068)
- Only show pull request tooltip in compact view by @malwilley in [#121975](https://github.com/getsentry/sentry/pull/121975)
- Remove linked pull request checks and review status by @malwilley in [#121484](https://github.com/getsentry/sentry/pull/121484)

#### Issue Detection

- Handle NoneType request in query injection detector by @sentry in [#121512](https://github.com/getsentry/sentry/pull/121512)
- Handle NoneType for event.request in SQLInjectionDetector by @sentry in [#121323](https://github.com/getsentry/sentry/pull/121323)

#### Issue Preview

- Remove gaps between file diffs by @roggenkemper in [#121167](https://github.com/getsentry/sentry/pull/121167)
- Collapse file diffs by default by @roggenkemper in [#121168](https://github.com/getsentry/sentry/pull/121168)

#### Issue Stream

- Remove progress sort option by @malwilley in [#121686](https://github.com/getsentry/sentry/pull/121686)
- Wait to hide actions until the the screen is as the small breakpoint by @malwilley in [#120988](https://github.com/getsentry/sentry/pull/120988)

#### Issues

- Preserve Seer setup analytics keys by @scttcper in [#122065](https://github.com/getsentry/sentry/pull/122065)
- Keep mention navigation inside dropdown by @scttcper in [#122002](https://github.com/getsentry/sentry/pull/122002)
- Silence warning from analytics effect by @scttcper in [#121864](https://github.com/getsentry/sentry/pull/121864)
- Show Sentry Apps as activity sources by @scttcper in [#121809](https://github.com/getsentry/sentry/pull/121809)
- Cancel pending stream prefetches by @scttcper in [#121798](https://github.com/getsentry/sentry/pull/121798)
- Display user avatars in assignment activity by @scttcper in [#121685](https://github.com/getsentry/sentry/pull/121685)
- Hide legacy Autofix issue view by @malwilley in [#121658](https://github.com/getsentry/sentry/pull/121658)
- Derive activity timeline connectors from layout by @scttcper in [#121578](https://github.com/getsentry/sentry/pull/121578)
- Standardize vertical alignment of the "Jump to:" label by @JoshuaKGoldberg in [#121532](https://github.com/getsentry/sentry/pull/121532)
- Handle `has:trace` on error events by @scttcper in [#121271](https://github.com/getsentry/sentry/pull/121271)
- Include suggested issues in inbox by @malwilley in [#121480](https://github.com/getsentry/sentry/pull/121480)
- Remove alerts secondary nav item by @malwilley in [#121474](https://github.com/getsentry/sentry/pull/121474)
- Paginate project derived data generation by @cvxluo in [#121269](https://github.com/getsentry/sentry/pull/121269)
- Attribute ingest-side regressions in the group action log by @cvxluo in [#121355](https://github.com/getsentry/sentry/pull/121355)
- Attribute attachment deletions in the group action log by @cvxluo in [#121272](https://github.com/getsentry/sentry/pull/121272)
- Hide Diagnosed inbox section without Seer by @roggenkemper in [#121077](https://github.com/getsentry/sentry/pull/121077)
- Scope trace-connected related issues to accessible projects by @cvxluo in [#121129](https://github.com/getsentry/sentry/pull/121129)
- Remove hidden custom event tab by @scttcper in [#121097](https://github.com/getsentry/sentry/pull/121097)
- Normalize the PR label in the issue stream by @cvxluo in [#120917](https://github.com/getsentry/sentry/pull/120917)
- Require authenticated user for group search view visit by @sentry-junior in [#120982](https://github.com/getsentry/sentry/pull/120982)
- Show linked PRs without a current event by @scttcper in [#121012](https://github.com/getsentry/sentry/pull/121012)
- Close assignee menu before invite modal by @scttcper in [#121006](https://github.com/getsentry/sentry/pull/121006)
- Query `errors` dataset for timeline by @mjq in [#120933](https://github.com/getsentry/sentry/pull/120933)
- Deduplicate derived data issue details by @scttcper in [#120866](https://github.com/getsentry/sentry/pull/120866)
- Deduplicate group type visibility checks by @scttcper in [#120691](https://github.com/getsentry/sentry/pull/120691)
- Refresh activity after triggering Autofix by @scttcper in [#120838](https://github.com/getsentry/sentry/pull/120838)
- Stop inventing a date range in the issue count endpoint by @cvxluo in [#120827](https://github.com/getsentry/sentry/pull/120827)
- Use since first seen for more issue types by @scttcper in [#120821](https://github.com/getsentry/sentry/pull/120821)
- Use provider from PR state by @scttcper in [#120787](https://github.com/getsentry/sentry/pull/120787)

#### Jira

- Add pagination to Jira project status getting by @Christinarlong in [#121743](https://github.com/getsentry/sentry/pull/121743)
- Catch apierror and display the project mappings anyway by @Christinarlong in [#121478](https://github.com/getsentry/sentry/pull/121478)

#### Migrations

- Fix broken migration dependency by @wedamija in [#121369](https://github.com/getsentry/sentry/pull/121369)
- Remove orphaned pre-squash migration files by @NicoHinderling in [#121207](https://github.com/getsentry/sentry/pull/121207)
- Ignore SET COMPRESSION in schema drift compare by @NicoHinderling in [#121206](https://github.com/getsentry/sentry/pull/121206)

#### Monitors

- Render the timeline cursor label above list rows by @JoshuaKGoldberg in [#121989](https://github.com/getsentry/sentry/pull/121989)
- Fix layout issues in monitor details page by no longer styling Layout.Body by @malwilley in [#121130](https://github.com/getsentry/sentry/pull/121130)

#### Notifications

- Guard against missing removeEventListener on PermissionStatus by @sentry in [#121513](https://github.com/getsentry/sentry/pull/121513)
- Add partial index for notificationmessage where parent IS NULL by @hobzcalvin in [#121815](https://github.com/getsentry/sentry/pull/121815)
- Use per-project emails on workflow notifications by @leeandher in [#121349](https://github.com/getsentry/sentry/pull/121349)
- Build valid release email URLs by @sentry-junior in [#121114](https://github.com/getsentry/sentry/pull/121114)

#### Objectstore

- Close the upstream response when a proxied download is abandoned by @jan-auer in [#121714](https://github.com/getsentry/sentry/pull/121714)
- Correct upload and response timeout handling by @lcian in [#121149](https://github.com/getsentry/sentry/pull/121149)

#### Onboarding

- Clip the SCM product section reveal by @jaydgoss in [#121497](https://github.com/getsentry/sentry/pull/121497)
- Clip the SCM reveal during its exit tween by @jaydgoss in [#121495](https://github.com/getsentry/sentry/pull/121495)
- Refresh SCM data on return by @jaydgoss in [#121902](https://github.com/getsentry/sentry/pull/121902)
- Link SCM providers to repository settings by @jaydgoss in [#121901](https://github.com/getsentry/sentry/pull/121901)
- Clarify team access to project alerts by @jaydgoss in [#121739](https://github.com/getsentry/sentry/pull/121739)
- Improve SCM selector search and keyboard navigation by @betegon in [#121605](https://github.com/getsentry/sentry/pull/121605)
- Equalize welcome product copy heights by @evanpurkhiser in [#121535](https://github.com/getsentry/sentry/pull/121535)
- Fire the welcome analytics event once per visit by @jaydgoss in [#121197](https://github.com/getsentry/sentry/pull/121197)
- Address pure-render-functions violation in onboarding.tsx by @sentry in [#121234](https://github.com/getsentry/sentry/pull/121234)

#### Ourlogs

- Resolve received time in the timestamp hover tooltip by @JoshuaKGoldberg in [#121477](https://github.com/getsentry/sentry/pull/121477)
- Properly normalize date selection on log trace links by @JoshuaKGoldberg in [#120857](https://github.com/getsentry/sentry/pull/120857)
- Cancel the log row hover prefetch on unmount by @JoshuaKGoldberg in [#120842](https://github.com/getsentry/sentry/pull/120842)
- Hide timestamp.sequence field by @JoshuaKGoldberg in [#120452](https://github.com/getsentry/sentry/pull/120452)
- Use the right range operator when paginating ascending logs by @JoshuaKGoldberg in [#120771](https://github.com/getsentry/sentry/pull/120771)
- Measure expanded row heights more often in the virtual table by @JoshuaKGoldberg in [#120345](https://github.com/getsentry/sentry/pull/120345)

#### Performance

- Adhere to pure-render-functions convention in traceWaterfallState.tsx by @sentry in [#121239](https://github.com/getsentry/sentry/pull/121239)
- Resolve static-component-definitions in performanceWidget by @sentry in [#120030](https://github.com/getsentry/sentry/pull/120030)
- Fix valid-use-memo in SearchBar by @sentry in [#121216](https://github.com/getsentry/sentry/pull/121216)
- Remove unused EventView prop by @scttcper in [#120717](https://github.com/getsentry/sentry/pull/120717)

#### Pr Metrics

- Group check rollups per suite, not per app by @vaind in [#121664](https://github.com/getsentry/sentry/pull/121664)
- Sweep activity of PRs that never earn attribution by @vaind in [#121424](https://github.com/getsentry/sentry/pull/121424)

#### Preprod

- Try to reduce likelihood of some task race conditions by @jamieQ in [#122001](https://github.com/getsentry/sentry/pull/122001)
- Accept CFBundleVersion groups beyond the third by @trevor-e in [#121968](https://github.com/getsentry/sentry/pull/121968)
- Limit artifact install groups by @jamieQ in [#121020](https://github.com/getsentry/sentry/pull/121020)

#### Pure Render Functions

- Correct useReleaseBubbles.tsx ref usage by @sentry in [#121897](https://github.com/getsentry/sentry/pull/121897)
- Memoize retentionPeriodMs in EventComparison by @sentry in [#121235](https://github.com/getsentry/sentry/pull/121235)

#### Refactor Tasks

- Add -w to pnpm add in no-derived-state detector by @ryan953 in [#121892](https://github.com/getsentry/sentry/pull/121892)
- Stop routing eslint-json-runner through npx by @ryan953 in [#121824](https://github.com/getsentry/sentry/pull/121824)
- Fail loudly when the eslint detector cannot run by @ryan953 in [#121760](https://github.com/getsentry/sentry/pull/121760)

#### Releases

- Attribute release-resolved issues in the group action log by @cvxluo in [#121356](https://github.com/getsentry/sentry/pull/121356)
- Stop using discover dataset for release comparison by @mjq in [#120975](https://github.com/getsentry/sentry/pull/120975)

#### Replays

- Handle sentry.java.android.unreal in configureReplayCard by @sentry in [#120704](https://github.com/getsentry/sentry/pull/120704)
- Adhere to pure-render-functions in ReplayLiveIndicator by @sentry in [#121245](https://github.com/getsentry/sentry/pull/121245)
- Don't discard a whole segment over one malformed click by @JoshuaKGoldberg in [#121765](https://github.com/getsentry/sentry/pull/121765)
- Further stop trusting the SDK type for click frame nodes by @JoshuaKGoldberg in [#121766](https://github.com/getsentry/sentry/pull/121766)
- Issue Replay archive events in the the time range of the original Replay by @gggritso in [#121644](https://github.com/getsentry/sentry/pull/121644)
- Unsquish the text unmasking banner in the player by @JoshuaKGoldberg in [#121638](https://github.com/getsentry/sentry/pull/121638)
- Remove gcTime: infinite for replay dom caching by @scttcper in [#121529](https://github.com/getsentry/sentry/pull/121529)
- See All Replays button shouldn't replace by @mjq in [#119840](https://github.com/getsentry/sentry/pull/119840)
- Improve error handling inside bulk Replay deletion by @gggritso in [#121397](https://github.com/getsentry/sentry/pull/121397)
- Remove unnecessary margins in table header cells by @JoshuaKGoldberg in [#121315](https://github.com/getsentry/sentry/pull/121315)
- Speed up Replay bulk delete code by paginating on sorting key by @gggritso in [#121336](https://github.com/getsentry/sentry/pull/121336)
- Adhere to pure-render-functions in NoReplaySummary by @sentry in [#121242](https://github.com/getsentry/sentry/pull/121242)
- Strip dashes from replay_id in bulk delete blob keys by @strongs in [#121113](https://github.com/getsentry/sentry/pull/121113)
- Register delete_recording_async under the old replays namespace too by @strongs in [#121132](https://github.com/getsentry/sentry/pull/121132)
- Route delete-script task to long pool and lighten its per-task cost by @strongs in [#121121](https://github.com/getsentry/sentry/pull/121121)
- Make delete_replays script mirror the bulk delete path so its Snuba finder stops timing out by @strongs in [#121086](https://github.com/getsentry/sentry/pull/121086)
- Restore to-be-deleted count in delete_replays logs by @strongs in [#121071](https://github.com/getsentry/sentry/pull/121071)
- Use keyset pagination in delete_replays finder so it stops timing out Snuba by @strongs in [#121027](https://github.com/getsentry/sentry/pull/121027)
- Handle click nodes without attributes by @scttcper in [#120949](https://github.com/getsentry/sentry/pull/120949)
- Handle missing data fields in AI summary by @sentry in [#120859](https://github.com/getsentry/sentry/pull/120859)
- Chunk bulk replay delete queries into 7-day windows by @sentry in [#120456](https://github.com/getsentry/sentry/pull/120456)
- Stop bulk delete progress stalling and rewinding by @JoshuaKGoldberg in [#120772](https://github.com/getsentry/sentry/pull/120772)
- Stop polling bulk delete jobs that are not running by @JoshuaKGoldberg in [#120773](https://github.com/getsentry/sentry/pull/120773)
- Source member access from the org members endpoint by @JoshuaKGoldberg in [#120770](https://github.com/getsentry/sentry/pull/120770)

#### Scraps

- EmptyState responsiveness by @TkDodo in [#121707](https://github.com/getsentry/sentry/pull/121707)
- Wire MDX code copy buttons by @priscilawebdev in [#121289](https://github.com/getsentry/sentry/pull/121289)
- Stop tooltip content clicks from triggering ancestors by @TkDodo in [#121155](https://github.com/getsentry/sentry/pull/121155)
- Stop FeatureBadge tooltip flicker on hover by @TkDodo in [#121151](https://github.com/getsentry/sentry/pull/121151)
- Make FeatureBadge tooltip show up on keyboard navigation by @TkDodo in [#120731](https://github.com/getsentry/sentry/pull/120731)

#### Search

- Keep Ask Seer cross-event filters on a new line by @nsdeschenes in [#121432](https://github.com/getsentry/sentry/pull/121432)
- Require two words before defaulting to Ask Seer by @nsdeschenes in [#120972](https://github.com/getsentry/sentry/pull/120972)
- Prevent Ask Seer footer from clipping Give Feedback by @nsdeschenes in [#121301](https://github.com/getsentry/sentry/pull/121301)
- Add mean severity aggregation option by @roggenkemper in [#121256](https://github.com/getsentry/sentry/pull/121256)
- Preserve colons in custom attribute filters by @nsdeschenes in [#120895](https://github.com/getsentry/sentry/pull/120895)
- Preserve Ask Seer combobox sizing by @nsdeschenes in [#120886](https://github.com/getsentry/sentry/pull/120886)
- Wrap long Ask Seer query tokens by @nsdeschenes in [#120211](https://github.com/getsentry/sentry/pull/120211)

#### Seer

- Stamp the real referrer on feature-run SeerRun rows by @trevor-e in [#122049](https://github.com/getsentry/sentry/pull/122049)
- Return seerReposLinked=True for free cohort orgs by @Mihir-Mavalankar in [#121973](https://github.com/getsentry/sentry/pull/121973)
- Only show autofix UI for free cohort issues with existing runs by @Mihir-Mavalankar in [#121899](https://github.com/getsentry/sentry/pull/121899)
- Accept PR reviews from bot authors by @alexsohn1126 in [#121845](https://github.com/getsentry/sentry/pull/121845)
- Record autofix trigger before RCA start by @scttcper in [#121759](https://github.com/getsentry/sentry/pull/121759)
- Default the Code Mode override to only by @azulus in [#121591](https://github.com/getsentry/sentry/pull/121591)
- Record activities before async updates by @scttcper in [#121117](https://github.com/getsentry/sentry/pull/121117)
- Add disabled post-process rollout gate by @trevor-e in [#121481](https://github.com/getsentry/sentry/pull/121481)
- Deduplicate night shift cron runs by @trevor-e in [#120609](https://github.com/getsentry/sentry/pull/120609)
- Don't run/score Smart Assignment against automatic assignments by @hobzcalvin in [#121368](https://github.com/getsentry/sentry/pull/121368)
- Add activity recording compatibility by @scttcper in [#121116](https://github.com/getsentry/sentry/pull/121116)
- Label every Explorer tool link instead of its raw name by @azulus in [#121247](https://github.com/getsentry/sentry/pull/121247)
- Avoid mutating repository settings by @scttcper in [#120719](https://github.com/getsentry/sentry/pull/120719)
- Serialize Sentry user @mentions in Seer tools by @hobzcalvin in [#120950](https://github.com/getsentry/sentry/pull/120950)
- Resolve default branch before Cursor agent launch by @sehr-m in [#121254](https://github.com/getsentry/sentry/pull/121254)
- Restrict explorer updates to run owners by @trevor-e in [#121095](https://github.com/getsentry/sentry/pull/121095)
- Restrict chat continuations to run owners by @trevor-e in [#121083](https://github.com/getsentry/sentry/pull/121083)
- Preserve activity event timestamps by @scttcper in [#120983](https://github.com/getsentry/sentry/pull/120983)
- Prevent assistant content overlap by @natemoo-re in [#120943](https://github.com/getsentry/sentry/pull/120943)
- Don't treat resolution by bots as a ground truth to score Smart Assignment by @hobzcalvin in [#120904](https://github.com/getsentry/sentry/pull/120904)
- Prefer lower-ranked assignment candidates that actually resolve by @hobzcalvin in [#120785](https://github.com/getsentry/sentry/pull/120785)

#### Sentry Apps

- Validate empty app creation requests by @cvxluo in [#122051](https://github.com/getsentry/sentry/pull/122051)
- Make routine templates alertable by @cvxluo in [#120942](https://github.com/getsentry/sentry/pull/120942)

#### Settings

- Keep spam detection toggle enabled after save by @scttcper in [#121887](https://github.com/getsentry/sentry/pull/121887)
- Debounce team search requests by @scttcper in [#121817](https://github.com/getsentry/sentry/pull/121817)
- Close member dropdown before invite modal by @scttcper in [#121005](https://github.com/getsentry/sentry/pull/121005)

#### Slack

- Deduplicate Seer Agent webhook retries by event_id by @joseph-sentry in [#120934](https://github.com/getsentry/sentry/pull/120934)
- Scope get_rule to the integration's organization by @frifri in [#121023](https://github.com/getsentry/sentry/pull/121023)

#### Spans Migration

- Review frontend flags for transaction dataset deprecation by @nikkikapadia in [#121961](https://github.com/getsentry/sentry/pull/121961)
- Account for null widget type transaction widgets by @nikkikapadia in [#121654](https://github.com/getsentry/sentry/pull/121654)

#### Tests

- Keep EAP snuba tests within 30d full-fidelity window by @phacops in [#121693](https://github.com/getsentry/sentry/pull/121693)
- Keep EAP snuba tests within 30d statsPeriod by @sentry-junior in [#121595](https://github.com/getsentry/sentry/pull/121595)
- Fix inbox test flaking in CI by @malwilley in [#121565](https://github.com/getsentry/sentry/pull/121565)

#### Trace

- Show all contexts in span details pane by @mjq in [#121652](https://github.com/getsentry/sentry/pull/121652)
- Prefer transaction data EAP instead of nodestore by @mjq in [#121557](https://github.com/getsentry/sentry/pull/121557)
- Stringify EAP breadcrumb timestamps by @mjq in [#121524](https://github.com/getsentry/sentry/pull/121524)
- Buffer compressed gaps around errors by @nsdeschenes in [#121442](https://github.com/getsentry/sentry/pull/121442)
- Use safe localStorage wrapper in trace preferences by @sentry in [#121042](https://github.com/getsentry/sentry/pull/121042)
- Load projects for telemetry-only traces by @nsdeschenes in [#120335](https://github.com/getsentry/sentry/pull/120335)
- Stabilize asynchronous overview loading by @nsdeschenes in [#120334](https://github.com/getsentry/sentry/pull/120334)
- Resolve trace overview data independently by @nsdeschenes in [#120333](https://github.com/getsentry/sentry/pull/120333)
- Stabilize trace shell during initial loading by @nsdeschenes in [#120331](https://github.com/getsentry/sentry/pull/120331)

#### Trace View

- Build the loading placeholder out of spans by @gggritso in [#121801](https://github.com/getsentry/sentry/pull/121801)
- Resolve EAP attribute keys in trace header highlights by @buenaflor in [#118918](https://github.com/getsentry/sentry/pull/118918)

#### Tracemetrics

- Apply min-width to aggregate table columns by @narsaynorath in [#121519](https://github.com/getsentry/sentry/pull/121519)
- Map sentry.segment.name to transaction by @narsaynorath in [#121335](https://github.com/getsentry/sentry/pull/121335)
- Restore cell actions to aggregates table by @narsaynorath in [#120837](https://github.com/getsentry/sentry/pull/120837)

#### Ui

- Scope Issues and Explore links to organization by @scttcper in [#122062](https://github.com/getsentry/sentry/pull/122062)
- Keep dropdowns below sticky navigation by @priscilawebdev in [#121599](https://github.com/getsentry/sentry/pull/121599)
- Use kB instead of KB for byte formatting by @obostjancic in [#118906](https://github.com/getsentry/sentry/pull/118906)
- Stop the explore catch-all from renaming every transaction by @scttcper in [#120769](https://github.com/getsentry/sentry/pull/120769)
- Avoid mutating AvatarList tooltip props by @scttcper in [#120722](https://github.com/getsentry/sentry/pull/120722)
- Silence service worker errors by @scttcper in [#120778](https://github.com/getsentry/sentry/pull/120778)

#### Other

- (accountSecurity) Adhere to valid-use-memo convention by @sentry in [#121217](https://github.com/getsentry/sentry/pull/121217)
- (aci) Allow adding triggers to an alert with `triggers: null` by @RudraPatel2003 in [#121622](https://github.com/getsentry/sentry/pull/121622)
- (action_log) Codify that pipeline_hash=NULL means invalidated by @kcons in [#121273](https://github.com/getsentry/sentry/pull/121273)
- (ai-monitoring) Stop title generation from joining AI conversations by @vgrozdanic in [#120793](https://github.com/getsentry/sentry/pull/120793)
- (api) Return X-Max-Hits header from OffsetPaginator by @malwilley in [#122044](https://github.com/getsentry/sentry/pull/122044)
- (arithmetic-builder) Align function tokens vertically by @nsdeschenes in [#121705](https://github.com/getsentry/sentry/pull/121705)
- (ask-seer) Use grammar-neutral Ask Seer fallback labels by @nsdeschenes in [#121441](https://github.com/getsentry/sentry/pull/121441)
- (auth) Validate org and provider in pipeline state by @michelletran-sentry in [#121528](https://github.com/getsentry/sentry/pull/121528)
- (auto_ongoing) Don't tag metric with count by @kcons in [#121687](https://github.com/getsentry/sentry/pull/121687)
- (billing) Clarify promo code redemption layout by @sentry-junior in [#119526](https://github.com/getsentry/sentry/pull/119526)
- (button) Keep the chonky silhouette visible under the focus ring by @cvxluo in [#120219](https://github.com/getsentry/sentry/pull/120219)
- (ci) Add timeouts to snuba test endpoint requests by @mchen-sentry in [#121579](https://github.com/getsentry/sentry/pull/121579)
- (clipboard) Prevent unhandled promise rejection from NotAllowedError by @sentry in [#121032](https://github.com/getsentry/sentry/pull/121032)
- (cmdk) Do not create a queryObserver for disabled resources by @TkDodo in [#120963](https://github.com/getsentry/sentry/pull/120963)
- (code-mappings) Decode path mapping url before validation by @Lms24 in [#121593](https://github.com/getsentry/sentry/pull/121593)
- (codeowners) Ignore stale `organization_integration_id` input by @scttcper in [#120977](https://github.com/getsentry/sentry/pull/120977)
- (contexts) Show `<redacted>` instead of "null" for scrubbed user context fields by @shashjar in [#120930](https://github.com/getsentry/sentry/pull/120930)
- (conventions) Update sentry-conventions package to 0.19.0 by @mjq in [#121641](https://github.com/getsentry/sentry/pull/121641)
- (crons) Generate unique slugs for duplicate monitor names by @mrduncan in [#121456](https://github.com/getsentry/sentry/pull/121456)
- (deps) Bump seroval to patch critical deserialization vuln by @oioki in [#121304](https://github.com/getsentry/sentry/pull/121304)
- (drawers) Move scrollbars to the right by @sentry-junior in [#121860](https://github.com/getsentry/sentry/pull/121860)
- (eapMetricsField) Correct valid-use-memo for debounced setSearch by @sentry in [#121215](https://github.com/getsentry/sentry/pull/121215)
- (errors) Transactions homepage showed broken state by @nikkikapadia in [#121228](https://github.com/getsentry/sentry/pull/121228)
- (events-screenshot) Stabilize AttachmentComponent reference by @sentry in [#120036](https://github.com/getsentry/sentry/pull/120036)
- (eventstream) Safely roll out FutureTrackingProducer by @lvthanh03 in [#121671](https://github.com/getsentry/sentry/pull/121671)
- (feedback) Avoid mutating event context data by @scttcper in [#120716](https://github.com/getsentry/sentry/pull/120716)
- (filters) Use renamed markLine export in custom filters by @sentry-junior in [#121967](https://github.com/getsentry/sentry/pull/121967)
- (group_notes) Use the activity flag rather than the write flag by @kcons in [#121202](https://github.com/getsentry/sentry/pull/121202)
- (grouping) Bound lookaheads in parameterization regexes by @oioki in [#121470](https://github.com/getsentry/sentry/pull/121470)
- (inbound_email) Provide ActionContext for issue notes by @sentry in [#120880](https://github.com/getsentry/sentry/pull/120880)
- (inbound-filters) Customer filter table columns by @shellmayr in [#121711](https://github.com/getsentry/sentry/pull/121711)
- (issue) Fix bulk lookup for group events by @saponifi3d in [#120834](https://github.com/getsentry/sentry/pull/120834)
- (issue detection) Handle URL placeholders more gracefully by @lobsterkatie in [#121875](https://github.com/getsentry/sentry/pull/121875)
- (issue-inbox) Show Identified issues when suggested as owner by @sentry in [#121561](https://github.com/getsentry/sentry/pull/121561)
- (issue-progress) Heal null has_other_open_prs in PR lifecycle backfill by @malwilley in [#120947](https://github.com/getsentry/sentry/pull/120947)
- (issue-views) Give Stars column enough width for its header by @sentry-junior in [#121750](https://github.com/getsentry/sentry/pull/121750)
- (java) Deobfuscate bare class names in cast exception messages by @tedjuntunen-sentry in [#121781](https://github.com/getsentry/sentry/pull/121781)
- (jira-server) Scope webhook integration lookup to the provider by @vaind in [#121280](https://github.com/getsentry/sentry/pull/121280)
- (keyStats) Adhere to pure-render-functions convention by @sentry in [#121237](https://github.com/getsentry/sentry/pull/121237)
- (lint) Wrap useMemo function reference in detectSection.tsx by @sentry in [#121212](https://github.com/getsentry/sentry/pull/121212)
- (metrics) Switch project details off of metricsEnhanced by @k-fish in [#120777](https://github.com/getsentry/sentry/pull/120777)
- (metricsVisualize) Refactor useCallback to useMemo for debounced function by @sentry in [#121124](https://github.com/getsentry/sentry/pull/121124)
- (navBillingStatus) Prevent TypeError when localStorage is null by @sentry in [#121704](https://github.com/getsentry/sentry/pull/121704)
- (ongoing) Remove redundant subqueries by @kcons in [#121660](https://github.com/getsentry/sentry/pull/121660)
- (orgs) Allow members to create projects by default by @sentry-junior in [#121727](https://github.com/getsentry/sentry/pull/121727)
- (outcomes) Add quantity to outcomes metric by @untitaker in [#121288](https://github.com/getsentry/sentry/pull/121288)
- (perforce) Add support for p4 broker by @mujacica in [#120824](https://github.com/getsentry/sentry/pull/120824)
- (profiling) Cap span query limit to API max of 100 by @romtsn in [#119924](https://github.com/getsentry/sentry/pull/119924)
- (query agent) Expand always allow list to include context fields by @shruthilayaj in [#121977](https://github.com/getsentry/sentry/pull/121977)
- (react-compiler) Rename TraceTree.Depth to TraceTree.depth by @sentry in [#121925](https://github.com/getsentry/sentry/pull/121925)
- (react-hooks) Fix impure Date.now() call in useCommandPaletteAnalytics by @sentry in [#121244](https://github.com/getsentry/sentry/pull/121244)
- (release) Use spans dataset for transaction table by @mjq in [#121563](https://github.com/getsentry/sentry/pull/121563)
- (sampling) Update warning by @wmak in [#120846](https://github.com/getsentry/sentry/pull/120846)
- (scm) Make PR lifecycle writes monotonic across reordered webhooks by @vaind in [#121059](https://github.com/getsentry/sentry/pull/121059)
- (security) Fix a possible security issue on the workflow_engine api by @saponifi3d in [#120941](https://github.com/getsentry/sentry/pull/120941)
- (seer-settings) Fix agent handoff dropdown selection not persisting by @srest2021 in [#120820](https://github.com/getsentry/sentry/pull/120820)
- (seerExplorer) Handle localStorage access in Safari private mode by @sentry in [#121031](https://github.com/getsentry/sentry/pull/121031)
- (seerWorkflows) Fix pure-render-functions in index.tsx by @sentry in [#121238](https://github.com/getsentry/sentry/pull/121238)
- (service-worker) Prevent TypeError from undefined registration by @sentry in [#120863](https://github.com/getsentry/sentry/pull/120863)
- (stacktrace) Use single select for View and Sort in display options by @TkDodo in [#121160](https://github.com/getsentry/sentry/pull/121160)
- (tabs) Defer ResizeObserver recompute to prevent useEffectEvent error by @sentry in [#120862](https://github.com/getsentry/sentry/pull/120862)
- (traces) Replace count(span.duration) with count(spans) in explore equations by @narsaynorath in [#121634](https://github.com/getsentry/sentry/pull/121634)
- (workflow) Remove noisy DetectorGroup.DoesNotExist log by @sentry in [#121024](https://github.com/getsentry/sentry/pull/121024)
- (workflow_engine) Attribute test-fired actions in the group action log by @cvxluo in [#121373](https://github.com/getsentry/sentry/pull/121373)
- (workflows) Validate Sentry App action targets by @cvxluo in [#121996](https://github.com/getsentry/sentry/pull/121996)
- Reject source files greater than 190 MiB by @elramen in [#121718](https://github.com/getsentry/sentry/pull/121718)
- Make updateSlackAlert responsive towards its container by @TkDodo in [#121316](https://github.com/getsentry/sentry/pull/121316)
- Wrap integration issue-linking and workflow trigger_action in action_context_scope by @sentry in [#120873](https://github.com/getsentry/sentry/pull/120873)
- Only hide issueList actions on narrow viewPorts, not containers by @TkDodo in [#120833](https://github.com/getsentry/sentry/pull/120833)

### Documentation 📚

- (breadcrumb-list) Move copy action into overflow menu by @priscilawebdev in [#121287](https://github.com/getsentry/sentry/pull/121287)
- (preprod) Publish skipped status check endpoints by @jamieQ in [#120926](https://github.com/getsentry/sentry/pull/120926)
- (replays) Hide deprecated /replay-count/ data sources by @mjq in [#120914](https://github.com/getsentry/sentry/pull/120914)
- (settings) Document token exclusion when Allowed Domains is * by @elramen in [#121608](https://github.com/getsentry/sentry/pull/121608)
- (workflow-engine) Document architecture and extension points by @saponifi3d in [#121761](https://github.com/getsentry/sentry/pull/121761)
- Discourage `make test-selective` by @joshuarli in [#120987](https://github.com/getsentry/sentry/pull/120987)

### Internal Changes 🔧

#### Aci

- Remove legacy default rule creation from project workflows receiver by @ceorourke in [#121890](https://github.com/getsentry/sentry/pull/121890)
- Remove legacy incidents list, latest alerts widget, and incident redirect by @ceorourke in [#121853](https://github.com/getsentry/sentry/pull/121853)
- Remove unused url field from NotificationRuleDetails and orphaned get_snooze_url by @ceorourke in [#121774](https://github.com/getsentry/sentry/pull/121774)
- Remove unreachable uptime existing or create page by @ceorourke in [#121754](https://github.com/getsentry/sentry/pull/121754)
- Relocate alerts shared modules by @ceorourke in [#121639](https://github.com/getsentry/sentry/pull/121639)
- Point backend alert links at monitors instead of legacy alert pages by @ceorourke in [#121642](https://github.com/getsentry/sentry/pull/121642)
- Move orphaned fns/consts into their only consumers by @ceorourke in [#121650](https://github.com/getsentry/sentry/pull/121650)
- Remove legacy issue alerts by @ceorourke in [#121542](https://github.com/getsentry/sentry/pull/121542)
- Remove legacy metric alert pages by @ceorourke in [#121352](https://github.com/getsentry/sentry/pull/121352)
- Remove workflow-engine-ui feature flag registration by @ceorourke in [#121223](https://github.com/getsentry/sentry/pull/121223)
- Remove legacy crons and uptime overviews by @ceorourke in [#121193](https://github.com/getsentry/sentry/pull/121193)
- Remove workflow-engine-ui flag from test fixtures by @ceorourke in [#121224](https://github.com/getsentry/sentry/pull/121224)
- Remove `legacy_alert` param from detector anomaly data endpoint by @ceorourke in [#121194](https://github.com/getsentry/sentry/pull/121194)
- Remove workflow-engine-ui flag from even more places by @ceorourke in [#121088](https://github.com/getsentry/sentry/pull/121088)
- Remove workflow-engine-ui flag from some more places by @ceorourke in [#121003](https://github.com/getsentry/sentry/pull/121003)
- Remove workflow-engine-ui flag from create alert entry points by @ceorourke in [#120986](https://github.com/getsentry/sentry/pull/120986)
- Remove workflow-engine-ui flag from alert/automation redirects by @ceorourke in [#120757](https://github.com/getsentry/sentry/pull/120757)
- Remove workflow engine UI flag on the backend by @ceorourke in [#120712](https://github.com/getsentry/sentry/pull/120712)

#### Agent Monitoring

- Rename ConversationsTableRedesign to ConversationsTable by @ArthurKnaus in [#120890](https://github.com/getsentry/sentry/pull/120890)
- Remove gen-ai-conversations-redesign flag check by @ArthurKnaus in [#120888](https://github.com/getsentry/sentry/pull/120888)

#### Agents

- Compact AGENTS.md files and defer deep guides to skills by @natemoo-re in [#121469](https://github.com/getsentry/sentry/pull/121469)
- Trim derivable content from AGENTS.md by @billyvg in [#121311](https://github.com/getsentry/sentry/pull/121311)

#### Ai Monitoring

- Stop sending apiVersion on conversation details by @vgrozdanic in [#121284](https://github.com/getsentry/sentry/pull/121284)
- Always return conversation details envelope by @vgrozdanic in [#121143](https://github.com/getsentry/sentry/pull/121143)
- Align list titles with detail selection by @vgrozdanic in [#121053](https://github.com/getsentry/sentry/pull/121053)

#### Alerts

- Remove orphaned Slack metric alert message builder by @ceorourke in [#121564](https://github.com/getsentry/sentry/pull/121564)
- Clear localStorage between anomaly banner tests by @JoshuaKGoldberg in [#121172](https://github.com/getsentry/sentry/pull/121172)
- Increase brownouts for legacy alerts API even more by @ceorourke in [#121091](https://github.com/getsentry/sentry/pull/121091)

#### Api

- Remove unused `InternalEAFeaturesEndpoint` by @shashjar in [#122089](https://github.com/getsentry/sentry/pull/122089)
- Withhold attribute context from the public spec by @skaasten in [#121646](https://github.com/getsentry/sentry/pull/121646)
- Remove unused organization option features by @scttcper in [#120905](https://github.com/getsentry/sentry/pull/120905)
- Add `event.type` Sentry attribute to all event endpoints by @mjq in [#120871](https://github.com/getsentry/sentry/pull/120871)

#### Auth

- Remove unused code by @nora-shap in [#121268](https://github.com/getsentry/sentry/pull/121268)
- Extract reusable methods from SSO identity handler by @nora-shap in [#121013](https://github.com/getsentry/sentry/pull/121013)

#### Autofix

- Disable frontend code search for autofix runs by @chromy in [#122030](https://github.com/getsentry/sentry/pull/122030)
- Disable context engine for autofix runs by @chromy in [#122004](https://github.com/getsentry/sentry/pull/122004)
- Dispatch RCA runs under the autofix feature id by @trevor-e in [#121990](https://github.com/getsentry/sentry/pull/121990)
- Gate manual PR iteration UI behind its own feature flag by @alexsohn1126 in [#121189](https://github.com/getsentry/sentry/pull/121189)
- Gate manual PR iteration behind its own feature flag by @alexsohn1126 in [#121180](https://github.com/getsentry/sentry/pull/121180)
- Route the remaining PR links through the shared resolver by @cvxluo in [#121208](https://github.com/getsentry/sentry/pull/121208)
- Extract next step logic into a common utility function by @malwilley in [#121103](https://github.com/getsentry/sentry/pull/121103)
- Use local run mirror for automation eligibility by @trevor-e in [#121026](https://github.com/getsentry/sentry/pull/121026)
- Use Literal instead of StrEnum for fixability assessment by @Zylphrex in [#120915](https://github.com/getsentry/sentry/pull/120915)
- Resolve PR link labels in one place by @cvxluo in [#120865](https://github.com/getsentry/sentry/pull/120865)
- Replace introspection LLM call with fixability assessment by @Zylphrex in [#120786](https://github.com/getsentry/sentry/pull/120786)

#### Codeowners

- Add owners for investigations by @vaind in [#121947](https://github.com/getsentry/sentry/pull/121947)
- We don't own all endpoints by @sentaur-athena in [#121550](https://github.com/getsentry/sentry/pull/121550)
- Exclude auto-generated API urls file from ownership by @malwilley in [#120780](https://github.com/getsentry/sentry/pull/120780)

#### Control

- Drop check_run/check_suite completed with no pull request in their own repo by @vaind in [#121719](https://github.com/getsentry/sentry/pull/121719)
- Drop unconsumed check_suite webhook actions at the parser by @vaind in [#121434](https://github.com/getsentry/sentry/pull/121434)

#### Conversations

- Consolidate preview normalization by @vgrozdanic in [#121440](https://github.com/getsentry/sentry/pull/121440)
- Move missing-messages banner above chart by @vgrozdanic in [#121418](https://github.com/getsentry/sentry/pull/121418)

#### Dashboards

- Take keyed params in applyDashboardFilters by @edwardgou-sentry in [#121756](https://github.com/getsentry/sentry/pull/121756)
- Migrate to container queries by @TkDodo in [#121835](https://github.com/getsentry/sentry/pull/121835)
- Use `EmptyState` in the chart `NoData` panels by @gggritso in [#120935](https://github.com/getsentry/sentry/pull/120935)
- Remove `organizations:dashboards-ai-generate-edit` flag check by @cvxluo in [#120591](https://github.com/getsentry/sentry/pull/120591)

#### Deps

- Bump dompurify from 3.4.12 to 3.4.13 by @dependabot in [#121530](https://github.com/getsentry/sentry/pull/121530)
- Bump cryptography from 49.0.0 to 50.0.0 by @dependabot in [#121507](https://github.com/getsentry/sentry/pull/121507)
- Bump django from 5.2.14 to 5.2.15 by @dependabot in [#121510](https://github.com/getsentry/sentry/pull/121510)
- Bump pyasn1 from 0.6.3 to 0.6.4 by @dependabot in [#121509](https://github.com/getsentry/sentry/pull/121509)
- Bump sentry-protos to 0.59.0 by @skonves in [#121313](https://github.com/getsentry/sentry/pull/121313)
- Bump pillow from 12.2.0 to 12.3.0 by @jamieQ in [#121219](https://github.com/getsentry/sentry/pull/121219)
- Bump sentry-protos to 0.56.0 by @skonves in [#120932](https://github.com/getsentry/sentry/pull/120932)
- Bump sentry-protos to 0.53.0 by @skonves in [#120784](https://github.com/getsentry/sentry/pull/120784)

#### Detectors

- Migrate to built-in container queries by @TkDodo in [#121058](https://github.com/getsentry/sentry/pull/121058)
- Improve logging of span-first/legacy detector mismatches by @lobsterkatie in [#120685](https://github.com/getsentry/sentry/pull/120685)

#### Discover

- Restrict the fn argument of fn_span_count by @phacops in [#121911](https://github.com/getsentry/sentry/pull/121911)
- Migrate layouts to container queries by @TkDodo in [#121063](https://github.com/getsentry/sentry/pull/121063)

#### Dynamic Sampling

- Add diagnostic fields to the recalibration comparison log by @shellmayr in [#121826](https://github.com/getsentry/sentry/pull/121826)
- Interleave organization scheduler order by @constantinius in [#121446](https://github.com/getsentry/sentry/pull/121446)
- Emit exception when reason unknown in per-org by @shellmayr in [#121156](https://github.com/getsentry/sentry/pull/121156)
- Slim down the remaining per-org tests by @shellmayr in [#121145](https://github.com/getsentry/sentry/pull/121145)
- Slim down per-org configuration tests by @shellmayr in [#121142](https://github.com/getsentry/sentry/pull/121142)
- Remove the implicit sample rate floor by @shellmayr in [#121055](https://github.com/getsentry/sentry/pull/121055)
- Count unnamed root transactions instead of dropping them by @shellmayr in [#120911](https://github.com/getsentry/sentry/pull/120911)

#### Eslint

- Update eslint plugin boundaries by @TkDodo in [#121600](https://github.com/getsentry/sentry/pull/121600)
- Fix typescript-eslint/no-shadow by @TkDodo in [#121436](https://github.com/getsentry/sentry/pull/121436)
- Enable e18e/prefer-array-to-sorted by @TkDodo in [#121298](https://github.com/getsentry/sentry/pull/121298)
- Enable e18e/prefer-array-to-reversed by @TkDodo in [#121292](https://github.com/getsentry/sentry/pull/121292)
- Enable e18e/prefer-array-some by @TkDodo in [#121286](https://github.com/getsentry/sentry/pull/121286)
- Enable e18e/prefer-array-from-map by @TkDodo in [#121067](https://github.com/getsentry/sentry/pull/121067)

#### Event Formatter

- Use formatter for copy to markdown by @shayna-ch in [#119834](https://github.com/getsentry/sentry/pull/119834)
- Add new event formatter to rpc by @shayna-ch in [#119938](https://github.com/getsentry/sentry/pull/119938)
- Add more to the event formatter by @shayna-ch in [#119862](https://github.com/getsentry/sentry/pull/119862)
- Add llmFormat to endpoint by @shayna-ch in [#119545](https://github.com/getsentry/sentry/pull/119545)
- Add event formatter to sentry backend by @shayna-ch in [#119250](https://github.com/getsentry/sentry/pull/119250)

#### Explore

- Rename Conversations to Agents by @vgrozdanic in [#121503](https://github.com/getsentry/sentry/pull/121503)
- Call the renamed agents/conversations API by @ArthurKnaus in [#121713](https://github.com/getsentry/sentry/pull/121713)
- Mock trace-item prefetch in logs table tests by @nsdeschenes in [#120822](https://github.com/getsentry/sentry/pull/120822)

#### Forms

- Remove wrapping css template tag by @scttcper in [#121740](https://github.com/getsentry/sentry/pull/121740)
- Remove unused legacy form fields by @scttcper in [#121668](https://github.com/getsentry/sentry/pull/121668)
- Migrate project performance settings to Scraps by @priscilawebdev in [#119187](https://github.com/getsentry/sentry/pull/119187)
- Migrate account security 2FA enrollment off JsonForm to scraps form by @priscilawebdev in [#119188](https://github.com/getsentry/sentry/pull/119188)
- Migrate debug file custom repository modal off deprecatedforms to scraps form by @priscilawebdev in [#119191](https://github.com/getsentry/sentry/pull/119191)
- Improve field search registry generation by @TkDodo in [#121046](https://github.com/getsentry/sentry/pull/121046)
- Migrate organization create off deprecatedforms to scraps form by @priscilawebdev in [#119196](https://github.com/getsentry/sentry/pull/119196)
- Migrate sudo modal off deprecatedforms to scraps form by @priscilawebdev in [#119192](https://github.com/getsentry/sentry/pull/119192)

#### Gdd

- Restructure transactions around \_ensure_derived by @kcons in [#121581](https://github.com/getsentry/sentry/pull/121581)
- Factor out basic group batching and processing methods by @kcons in [#121266](https://github.com/getsentry/sentry/pull/121266)

#### Grouping

- Remove Python enhancement executor by @scttcper in [#121174](https://github.com/getsentry/sentry/pull/121174)
- Skip parsing query-free JavaScript filenames by @scttcper in [#121137](https://github.com/getsentry/sentry/pull/121137)
- Avoid serializing exceptions for enhancements by @scttcper in [#121138](https://github.com/getsentry/sentry/pull/121138)
- Avoid redundant match frame work by @scttcper in [#121079](https://github.com/getsentry/sentry/pull/121079)
- Skip unnecessary native function parsing by @scttcper in [#121087](https://github.com/getsentry/sentry/pull/121087)

#### Hybridcloud

- Remove dead member teams replication option by @ldelvoye in [#121878](https://github.com/getsentry/sentry/pull/121878)
- Fold the dispatch due-check into the claim update by @vaind in [#121454](https://github.com/getsentry/sentry/pull/121454)
- Log webhook discards at warning and stop sampling their counters by @vaind in [#121604](https://github.com/getsentry/sentry/pull/121604)
- Read webhook payloads from primary in control tasks by @beezz in [#121514](https://github.com/getsentry/sentry/pull/121514)
- Drop unused priority index on WebhookPayload by @vaind in [#121283](https://github.com/getsentry/sentry/pull/121283)
- Remove the async api gateway by @ldelvoye in [#121229](https://github.com/getsentry/sentry/pull/121229)
- Drop unused schedule_for index on WebhookPayload by @vaind in [#121260](https://github.com/getsentry/sentry/pull/121260)

#### Inbox

- Refactor issue preview actions to be more extensible by @malwilley in [#121905](https://github.com/getsentry/sentry/pull/121905)
- Update inbox to use "new" badge by @malwilley in [#121778](https://github.com/getsentry/sentry/pull/121778)
- Remove feature flag for progress sort by @malwilley in [#121688](https://github.com/getsentry/sentry/pull/121688)
- Show issue count even when it is 0 by @malwilley in [#121537](https://github.com/getsentry/sentry/pull/121537)
- Restyle event and user counts by @roggenkemper in [#121320](https://github.com/getsentry/sentry/pull/121320)

#### Integrations

- Add field on integration to not overwrite metadata by @Christinarlong in [#121621](https://github.com/getsentry/sentry/pull/121621)
- Clean up the sentry app request log by @mrduncan in [#121536](https://github.com/getsentry/sentry/pull/121536)

#### Issues

- Remove checks for graduated issue flags by @saponifi3d in [#121886](https://github.com/getsentry/sentry/pull/121886)
- Remove activity feed flag by @scttcper in [#121460](https://github.com/getsentry/sentry/pull/121460)
- Use GitHub icon for pull request CTA by @roggenkemper in [#121073](https://github.com/getsentry/sentry/pull/121073)
- Remove dead processing traversal by @scttcper in [#121128](https://github.com/getsentry/sentry/pull/121128)
- Memoize issue stream Discover URLs by @scttcper in [#121075](https://github.com/getsentry/sentry/pull/121075)
- Batch requests for non-error groups by @saponifi3d in [#121018](https://github.com/getsentry/sentry/pull/121018)
- Remove obsolete HPKP/Expect-CT/Expect-Staple tests by @mrduncan in [#121028](https://github.com/getsentry/sentry/pull/121028)
- Increase inbox pagination increment by @roggenkemper in [#121072](https://github.com/getsentry/sentry/pull/121072)
- Remove activity feed v2 flag by @scttcper in [#120870](https://github.com/getsentry/sentry/pull/120870)
- Clean up referrer split feature flag by @mrduncan in [#120868](https://github.com/getsentry/sentry/pull/120868)
- Default firstSeen/lastSeen columns and optional headers by @natemoo-re in [#120831](https://github.com/getsentry/sentry/pull/120831)
- Batch external issue serialization by @saponifi3d in [#120835](https://github.com/getsentry/sentry/pull/120835)
- Remove saved search UI remnants by @malwilley in [#120861](https://github.com/getsentry/sentry/pull/120861)
- Speed up CODEOWNERS parsing by @scttcper in [#120782](https://github.com/getsentry/sentry/pull/120782)
- Share secondary navigation count styles by @roggenkemper in [#120759](https://github.com/getsentry/sentry/pull/120759)

#### Logs

- Migrate layouts to container queries by @priscilawebdev in [#120954](https://github.com/getsentry/sentry/pull/120954)
- Stop defaulting to Ask Seer for Logs by @nsdeschenes in [#120925](https://github.com/getsentry/sentry/pull/120925)

#### Migrations

- Improve migration guidance by @wedamija in [#121907](https://github.com/getsentry/sentry/pull/121907)
- Remove superseded squash migrations by @vgrozdanic in [#121421](https://github.com/getsentry/sentry/pull/121421)

#### Notifications

- Restructure get_parent_notification_message query to hit index better by @kcons in [#121980](https://github.com/getsentry/sentry/pull/121980)
- Seer activity alerts link to issue inbox if available by @leeandher in [#121764](https://github.com/getsentry/sentry/pull/121764)

#### Onboarding

- Share SCM project creation in a reusable hook by @jaydgoss in [#121775](https://github.com/getsentry/sentry/pull/121775)
- Remove onboarding-copy-setup-instructions-project-creation registration by @cvxluo in [#120012](https://github.com/getsentry/sentry/pull/120012)
- Remove `organizations:onboarding-new-welcome-ui` registration by @cvxluo in [#119869](https://github.com/getsentry/sentry/pull/119869)
- Make onboarding session exits explicit by @jaydgoss in [#121022](https://github.com/getsentry/sentry/pull/121022)
- Migrate media queries to container queries by @priscilawebdev in [#120638](https://github.com/getsentry/sentry/pull/120638)
- Remove SCM Project Details registration by @cvxluo in [#120626](https://github.com/getsentry/sentry/pull/120626)
- Remove SCM Project Details experiment by @cvxluo in [#120625](https://github.com/getsentry/sentry/pull/120625)
- Remove SCM Project Details acceptance coverage by @jaydgoss in [#120814](https://github.com/getsentry/sentry/pull/120814)
- Remove onboarding-copy-setup-instructions flag registration by @cvxluo in [#119969](https://github.com/getsentry/sentry/pull/119969)

#### Organizations

- Drop outbox replication from member teams by @ldelvoye in [#121810](https://github.com/getsentry/sentry/pull/121810)
- Add new_id shadow column to organizationmember_teams by @ldelvoye in [#121552](https://github.com/getsentry/sentry/pull/121552)

#### Performance

- Stop ordinary MEP queries on generic metrics by @sentry-junior in [#122023](https://github.com/getsentry/sentry/pull/122023)
- Rename Agent Timeline by @vgrozdanic in [#121504](https://github.com/getsentry/sentry/pull/121504)
- Rename trace waterfall AI tab by @nsdeschenes in [#120979](https://github.com/getsentry/sentry/pull/120979)

#### Pr Metrics

- Register permanent organizations:pr-metrics flag by @vaind in [#121936](https://github.com/getsentry/sentry/pull/121936)
- Promote the PR lifecycle mappers out of the webhooks by @cvxluo in [#121009](https://github.com/getsentry/sentry/pull/121009)

#### Preprod

- Graduate snapshot archive manifest flag by @jamieQ in [#122072](https://github.com/getsentry/sentry/pull/122072)
- Graduate preprod-artifact-webhooks flag (frontend) by @cvxluo in [#120257](https://github.com/getsentry/sentry/pull/120257)
- Accept extra task keyword arguments by @jamieQ in [#121861](https://github.com/getsentry/sentry/pull/121861)
- Remove treemap label shadows by @jamieQ in [#121475](https://github.com/getsentry/sentry/pull/121475)
- SizeComparison to container queries by @TkDodo in [#121147](https://github.com/getsentry/sentry/pull/121147)
- Snapshots to container queries by @TkDodo in [#121148](https://github.com/getsentry/sentry/pull/121148)
- BuildDetails to container queries by @TkDodo in [#121144](https://github.com/getsentry/sentry/pull/121144)

#### Profiling

- Rename capitalized static methods in Flamegraph class by @sentry in [#121929](https://github.com/getsentry/sentry/pull/121929)
- Fix pure-render-functions violation in useRelativeDateTime by @sentry in [#121246](https://github.com/getsentry/sentry/pull/121246)
- Migrate layouts to container queries by @priscilawebdev in [#120953](https://github.com/getsentry/sentry/pull/120953)

#### Project Install

- Extract channel query options by @sentry-junior in [#121377](https://github.com/getsentry/sentry/pull/121377)
- Stabilize notification refetch tests by @scttcper in [#121389](https://github.com/getsentry/sentry/pull/121389)

#### Relay

- Reduce lock contention on Relay usage by @Dav1dde in [#121987](https://github.com/getsentry/sentry/pull/121987)
- Separate reprocessing tasks from issues tasks by @Dav1dde in [#121841](https://github.com/getsentry/sentry/pull/121841)
- Separate project config invalidations from computations by @Dav1dde in [#121836](https://github.com/getsentry/sentry/pull/121836)
- Remove relay.invalidation-direct-outside-atomic option check by @shellmayr in [#121281](https://github.com/getsentry/sentry/pull/121281)
- Remove metric extraction code used to generate rules for the project config by @Dav1dde in [#121324](https://github.com/getsentry/sentry/pull/121324)
- Add drop-transaction-metrics2 to drop metric extraction configs by @Dav1dde in [#121045](https://github.com/getsentry/sentry/pull/121045)

#### Replays

- Remove unused bulk delete job chunk size option by @gggritso in [#121896](https://github.com/getsentry/sentry/pull/121896)
- Remove unused offset parameter from run_bulk_replay_delete_job by @gggritso in [#121893](https://github.com/getsentry/sentry/pull/121893)
- Add smart chunking for Replay bulk delete job by @gggritso in [#121372](https://github.com/getsentry/sentry/pull/121372)
- Bound the GCS delete pool on the bulk replay delete path by @gggritso in [#121337](https://github.com/getsentry/sentry/pull/121337)
- Remove the Arroyo ingest replay recordings consumers by @lvthanh03 in [#121257](https://github.com/getsentry/sentry/pull/121257)
- Migrate layouts to container queries by @priscilawebdev in [#120952](https://github.com/getsentry/sentry/pull/120952)
- Adds additional logging info on deletion progress by @GabeVillalobos in [#120997](https://github.com/getsentry/sentry/pull/120997)
- Give spans path in replay counts its own referrer by @mjq in [#120906](https://github.com/getsentry/sentry/pull/120906)

#### Scm

- Scope GitHub rate-limits based to the resource requested by @cmanallen in [#121995](https://github.com/getsentry/sentry/pull/121995)
- Add more accurate rate-limit metric reporting by @cmanallen in [#121970](https://github.com/getsentry/sentry/pull/121970)
- Ignore rate-limit endpoint when requesting from a cell silo by @cmanallen in [#121969](https://github.com/getsentry/sentry/pull/121969)
- Return the parsed parts of a pull-request URL by @cvxluo in [#120945](https://github.com/getsentry/sentry/pull/120945)

#### Scm Multi Platform Detection

- Removing flag usage by @Abdkhan14 in [#120683](https://github.com/getsentry/sentry/pull/120683)
- Removing legacy platform detector by @Abdkhan14 in [#120680](https://github.com/getsentry/sentry/pull/120680)

#### Scraps

- Move alert from media queries to container queries by @TkDodo in [#121420](https://github.com/getsentry/sentry/pull/121420)
- Default isHoverable to true for tooltips by @TkDodo in [#121300](https://github.com/getsentry/sentry/pull/121300)
- Deprecate competing empty state implementations by @natemoo-re in [#119278](https://github.com/getsentry/sentry/pull/119278)

#### Seer

- Remove dead use_agent_sandbox option by @chromy in [#122028](https://github.com/getsentry/sentry/pull/122028)
- Remove `organizations:seer-explorer-ui-tools` by @cvxluo in [#121041](https://github.com/getsentry/sentry/pull/121041)
- Skip check-suite pull requests not based in the suite's repo by @vaind in [#121724](https://github.com/getsentry/sentry/pull/121724)
- Add tests for ProjectRepository fallback in free cohort orgs by @Mihir-Mavalankar in [#121742](https://github.com/getsentry/sentry/pull/121742)
- Restore Seer automation in post-process by @skonves in [#121486](https://github.com/getsentry/sentry/pull/121486)
- Add viewer_context_scope to post_process_group by @sehr-m in [#121545](https://github.com/getsentry/sentry/pull/121545)
- Render Code Mode calls instead of the generic tool row by @azulus in [#121582](https://github.com/getsentry/sentry/pull/121582)
- Add viewer_context_scope to ingest and explorer_index paths by @sehr-m in [#121467](https://github.com/getsentry/sentry/pull/121467)
- Remove issue summary from post process temp by @cvxluo in [#121426](https://github.com/getsentry/sentry/pull/121426)
- Instrument \_resolve_viewer_context for SeerViewerContext retirement by @sehr-m in [#121270](https://github.com/getsentry/sentry/pull/121270)
- Remove Langfuse URL plumbing from Seer Explorer by @aliu39 in [#121186](https://github.com/getsentry/sentry/pull/121186)
- Remove obsolete issue and event details RPC by @isaacwang-sentry in [#121080](https://github.com/getsentry/sentry/pull/121080)
- Require the PR fields on a coding-agent result by @cvxluo in [#121102](https://github.com/getsentry/sentry/pull/121102)
- Remove legacy PR-created attribution/linking from process_autofix_updates (CW-1719 phase 2) by @vaind in [#120584](https://github.com/getsentry/sentry/pull/120584)

#### Slack

- Unregister the Slack webhook dedupe and diagnostics options by @joseph-sentry in [#121343](https://github.com/getsentry/sentry/pull/121343)
- Hardcode Seer event dedupe, drop retry diagnostics by @joseph-sentry in [#121342](https://github.com/getsentry/sentry/pull/121342)

#### Spans

- Remove unused issue detection enablement option by @lobsterkatie in [#121259](https://github.com/getsentry/sentry/pull/121259)
- Use selective issue detection enablement option by @lobsterkatie in [#121211](https://github.com/getsentry/sentry/pull/121211)
- Add option to control which issue detectors run by @lobsterkatie in [#121108](https://github.com/getsentry/sentry/pull/121108)
- Only fetch issue detection settings once by @lobsterkatie in [#121110](https://github.com/getsentry/sentry/pull/121110)
- Replace TaskProducer with FutureTrackingProducer for segments by @lvthanh03 in [#120810](https://github.com/getsentry/sentry/pull/120810)

#### Tables

- Move GridEditable and the explore tables onto the shared table shell by @JoshuaKGoldberg in [#121179](https://github.com/getsentry/sentry/pull/121179)
- Wrap SimpleTable error states in SimpleTable.Empty by @JoshuaKGoldberg in [#121176](https://github.com/getsentry/sentry/pull/121176)
- Consolidate column-resize handling into useColumnResize by @JoshuaKGoldberg in [#120563](https://github.com/getsentry/sentry/pull/120563)

#### Taskworker

- Mark raw-mode namespaces explicitly by @untitaker in [#121297](https://github.com/getsentry/sentry/pull/121297)
- Clean up producer cutover logic by @lvthanh03 in [#120807](https://github.com/getsentry/sentry/pull/120807)

#### Trace

- Extract trace view calculations by @nsdeschenes in [#118131](https://github.com/getsentry/sentry/pull/118131)
- Lazy-load trace tab providers by @nsdeschenes in [#120332](https://github.com/getsentry/sentry/pull/120332)

#### Traces

- AttributesTree to revealOnHover by @TkDodo in [#121511](https://github.com/getsentry/sentry/pull/121511)
- Migrate trace view to BreadcrumbList by @priscilawebdev in [#120794](https://github.com/getsentry/sentry/pull/120794)

#### Ui

- Normalize wrapped component definitions by @scttcper in [#121694](https://github.com/getsentry/sentry/pull/121694)
- Allow abbreviations in camel-cased filenames by @scttcper in [#121695](https://github.com/getsentry/sentry/pull/121695)
- Stop dev-ui-production rebuild loop by @scttcper in [#121574](https://github.com/getsentry/sentry/pull/121574)
- Remove unused frontend overrides by @scttcper in [#121549](https://github.com/getsentry/sentry/pull/121549)
- Restore lazy type-loader dev-ui startup by @scttcper in [#121175](https://github.com/getsentry/sentry/pull/121175)
- Let breadcrumb pagination tooltips opt into isHoverable by @priscilawebdev in [#120804](https://github.com/getsentry/sentry/pull/120804)
- Remove bottom margin from tables by @priscilawebdev in [#120792](https://github.com/getsentry/sentry/pull/120792)

#### Weekly Report

- Remove "Resolved in PR" label by @amy-chen23 in [#120758](https://github.com/getsentry/sentry/pull/120758)
- Add x-axis to graph by @amy-chen23 in [#120815](https://github.com/getsentry/sentry/pull/120815)

#### Weekly Reports

- Move utils.py tests into test_weekly_reports_utils.py by @amy-chen23 in [#120763](https://github.com/getsentry/sentry/pull/120763)
- Add legend to chart by @amy-chen23 in [#120706](https://github.com/getsentry/sentry/pull/120706)

#### Workflow Engine

- Separate out detector/workflow auto creation by @leeandher in [#121889](https://github.com/getsentry/sentry/pull/121889)
- Add metrics to all projects detector processor cache by @leeandher in [#121805](https://github.com/getsentry/sentry/pull/121805)
- Skip PR workflows being automatically created if self-hosted by @leeandher in [#121737](https://github.com/getsentry/sentry/pull/121737)
- Modify cache utils to fix failing tests by @leeandher in [#120747](https://github.com/getsentry/sentry/pull/120747)

#### Other

- (✂️) Update knip and address new findings by @TkDodo in [#121629](https://github.com/getsentry/sentry/pull/121629)
- (aq) Add codemode toggle to FE request by @aliu39 in [#121888](https://github.com/getsentry/sentry/pull/121888)
- (automations) Migrate media queries to container queries by @TkDodo in [#121295](https://github.com/getsentry/sentry/pull/121295)
- (billing) Remove dead AM2 compatibility task by @mjq in [#120976](https://github.com/getsentry/sentry/pull/120976)
- (breadcrumbs) Add useHasNewBreadcrumbs hook by @priscilawebdev in [#120796](https://github.com/getsentry/sentry/pull/120796)
- (charts) Rename MarkLine utility to markLine for convention adherence by @sentry in [#121930](https://github.com/getsentry/sentry/pull/121930)
- (data_export) Rename array telemetry attrs to unprefixed names by @manessaraj in [#121485](https://github.com/getsentry/sentry/pull/121485)
- (deps-dev) Bump oxfmt from 0.58.0 to 0.61.0 by @dependabot in [#121383](https://github.com/getsentry/sentry/pull/121383)
- (derived data) Split promotion logic to its own module by @kcons in [#121771](https://github.com/getsentry/sentry/pull/121771)
- (difs) Preserve storage when cloning ProGuard by @lcian in [#121064](https://github.com/getsentry/sentry/pull/121064)
- (emptyState) Earlier breakpoints by @TkDodo in [#121828](https://github.com/getsentry/sentry/pull/121828)
- (fe) Update @sentry/conventions to 0.19.0 by @mjq in [#121645](https://github.com/getsentry/sentry/pull/121645)
- (features) Remove gen-ai-consent feature flag by @Mihir-Mavalankar in [#121196](https://github.com/getsentry/sentry/pull/121196)
- (feedback) Stop expanding latest event attachments by @malwilley in [#120817](https://github.com/getsentry/sentry/pull/120817)
- (flamegraph) Rename STACK_TO_COLOR to stackToColor for ESLint compliance by @sentry in [#121924](https://github.com/getsentry/sentry/pull/121924)
- (global-selection) Speed up environment selector for many envs by @scttcper in [#120944](https://github.com/getsentry/sentry/pull/120944)
- (inbound-filters) Use legible prefix for custom inbound filter outcomes by @shellmayr in [#121834](https://github.com/getsentry/sentry/pull/121834)
- (ingest) Remove billing-metrics-consumer by @sentry-junior in [#121955](https://github.com/getsentry/sentry/pull/121955)
- (input) Switch from effect + setState to callback-ref + resizeObserver by @TkDodo in [#120874](https://github.com/getsentry/sentry/pull/120874)
- (investigations) Delete unused cell models by @wedamija in [#121906](https://github.com/getsentry/sentry/pull/121906)
- (issue detection) Allow passing settings and detectors to detection runner by @lobsterkatie in [#121094](https://github.com/getsentry/sentry/pull/121094)
- (js) Bump @sentry/{browser,core,node,react} to 10.69.0 by @billyvg in [#121170](https://github.com/getsentry/sentry/pull/121170)
- (metrics) Remove queries against the unavailable generic metrics storage by @phacops in [#122048](https://github.com/getsentry/sentry/pull/122048)
- (ourlogs) Unmark stale flaky markers in logsTableRow tests by @JoshuaKGoldberg in [#120847](https://github.com/getsentry/sentry/pull/120847)
- (post-process) Clean up rollout option by @cvxluo in [#121736](https://github.com/getsentry/sentry/pull/121736)
- (producers) Replace TaskProducer with FutureTrackingProducer by @bmckerry in [#121171](https://github.com/getsentry/sentry/pull/121171)
- (releases) Migrate responsive layouts to container queries by @priscilawebdev in [#121825](https://github.com/getsentry/sentry/pull/121825)
- (scm-first-messaging-integration) Refactor the messaging integration launcher for inline consumers by @Abdkhan14 in [#121200](https://github.com/getsentry/sentry/pull/121200)
- (search-bar) Avoid duplicate recent search queries by @scttcper in [#120985](https://github.com/getsentry/sentry/pull/120985)
- (security) Remove obsolete HPKP/Expect-CT/Expect-Staple relay tests by @mrduncan in [#119685](https://github.com/getsentry/sentry/pull/119685)
- (seer-billing) Stop writing OrganizationContributors.integration_id and make it nullable by @srest2021 in [#120767](https://github.com/getsentry/sentry/pull/120767)
- (self-hosted) Ensure all organizations have the all-projects detector by @leeandher in [#121865](https://github.com/getsentry/sentry/pull/121865)
- (sentryapps) Add an option to override default webhook timeout for specific apps by @Christinarlong in [#121770](https://github.com/getsentry/sentry/pull/121770)
- (snuba) Add referrer attribute to invalid referrer log by @mjq in [#121002](https://github.com/getsentry/sentry/pull/121002)
- (stats) Migrate organization stats to container queries by @priscilawebdev in [#121699](https://github.com/getsentry/sentry/pull/121699)
- (stories) Surface SeerMarkdown story when embed registry changes by @natemoo-re in [#120853](https://github.com/getsentry/sentry/pull/120853)
- (symbolicator) Use pre-signed URLs for minidumps and apple crash reports by @jan-auer in [#120884](https://github.com/getsentry/sentry/pull/120884)
- (teams) Extract and deduplicate shared teams-table styles by @JoshuaKGoldberg in [#121177](https://github.com/getsentry/sentry/pull/121177)
- (teamSelector) Inline getOptions into useMemo for React Compiler by @sentry in [#121089](https://github.com/getsentry/sentry/pull/121089)
- (tests) Fix broken inbox test by @malwilley in [#121539](https://github.com/getsentry/sentry/pull/121539)
- (trace-view) Remove demo mode from the trace waterfall by @gggritso in [#121796](https://github.com/getsentry/sentry/pull/121796)
- (types) Extract PageFilterDatetime from PageFilters by @JoshuaKGoldberg in [#122040](https://github.com/getsentry/sentry/pull/122040)
- (utils) Move `is_valid_ip` to shared utils module by @lobsterkatie in [#121804](https://github.com/getsentry/sentry/pull/121804)
- (webhooks) Open the floodgates for all issue types to get issue.created webhooks by @Christinarlong in [#120768](https://github.com/getsentry/sentry/pull/120768)
- (weekly report) Remove project selection banner from weekly report email by @shashjar in [#121479](https://github.com/getsentry/sentry/pull/121479)
- (wfe-evals) To Logger Method by @saponifi3d in [#121106](https://github.com/getsentry/sentry/pull/121106)
- (workflows) Fix test to use a valid action identifier by @kcons in [#122012](https://github.com/getsentry/sentry/pull/122012)
- Remove promotions framework by @noahsmartin in [#122011](https://github.com/getsentry/sentry/pull/122011)
- Bump sentry-protos by @noahsmartin in [#121910](https://github.com/getsentry/sentry/pull/121910)
- Bump sentry-sdk to 2.68.0 by @getsentry-bot in [#121942](https://github.com/getsentry/sentry/pull/121942)
- Bump taskbroker-client to 0.20.21 by @getsentry-bot in [#121891](https://github.com/getsentry/sentry/pull/121891)
- Bump sentry-protos 0.61.1 by @brendanhsentry in [#121866](https://github.com/getsentry/sentry/pull/121866)
- Bump sentry-protos to 0.61.0 by @armenzg in [#121772](https://github.com/getsentry/sentry/pull/121772)
- Bump sentry-protos to 0.60.1 by @brendanhsentry in [#121751](https://github.com/getsentry/sentry/pull/121751)
- Bump sentry-options to 1.2.6 by @getsentry-bot in [#121659](https://github.com/getsentry/sentry/pull/121659)
- Migrate alerts list to container queries by @TkDodo in [#121612](https://github.com/getsentry/sentry/pull/121612)
- Migrate profiling flag to flagpole by @noahsmartin in [#121651](https://github.com/getsentry/sentry/pull/121651)
- Move feature checks to flagpole by @noahsmartin in [#121617](https://github.com/getsentry/sentry/pull/121617)
- Remove latest tier check by @noahsmartin in [#121597](https://github.com/getsentry/sentry/pull/121597)
- Bump sentry-protos to 0.59.2 by @brendanhsentry in [#121572](https://github.com/getsentry/sentry/pull/121572)
- Bump sentry-options to 1.2.5 by @getsentry-bot in [#121544](https://github.com/getsentry/sentry/pull/121544)
- Delete setuptools + pip by @joshuarli in [#121540](https://github.com/getsentry/sentry/pull/121540)
- Bump taskbroker-client to 0.20.20 by @getsentry-bot in [#121525](https://github.com/getsentry/sentry/pull/121525)
- Use revealOnHover primitive in eventTagsTreeRrow by @TkDodo in [#121452](https://github.com/getsentry/sentry/pull/121452)
- Show flake8-sentry violations in the terminal by @armenzg in [#121439](https://github.com/getsentry/sentry/pull/121439)
- Update typescript-eslint by @TkDodo in [#121444](https://github.com/getsentry/sentry/pull/121444)
- Teach AI to never read from or write to refs during render by @TkDodo in [#121416](https://github.com/getsentry/sentry/pull/121416)
- Replace curl-pipe-bash with action-setup-cli for Sentry CLI setup by @oioki in [#121427](https://github.com/getsentry/sentry/pull/121427)
- Eslint v10 by @TkDodo in [#121433](https://github.com/getsentry/sentry/pull/121433)
- Update tanstack query by @TkDodo in [#121312](https://github.com/getsentry/sentry/pull/121312)
- Remove feature list from frontend plan definition by @noahsmartin in [#121386](https://github.com/getsentry/sentry/pull/121386)
- Bump sentry-arroyo to 2.42.2 by @getsentry-bot in [#121381](https://github.com/getsentry/sentry/pull/121381)
- Replace backend driven feature lists with frontend mapping by @noahsmartin in [#121367](https://github.com/getsentry/sentry/pull/121367)
- Bump sentry-protos 0.59.1 by @brendanhsentry in [#121350](https://github.com/getsentry/sentry/pull/121350)
- Bump sentry-arroyo to 2.42.1 by @getsentry-bot in [#121307](https://github.com/getsentry/sentry/pull/121307)
- Simplify useProjectWebVitalsScoresTimeseriesQuery by @TkDodo in [#121299](https://github.com/getsentry/sentry/pull/121299)
- Use a business check for SCM multi org by @noahsmartin in [#121258](https://github.com/getsentry/sentry/pull/121258)
- Remove unnecessary insights-query-date-range-limit check by @noahsmartin in [#121255](https://github.com/getsentry/sentry/pull/121255)
- Bump sentry-protos to 0.58.1 by @brendanhsentry in [#121226](https://github.com/getsentry/sentry/pull/121226)
- Remove unused project plugin feature by @noahsmartin in [#121222](https://github.com/getsentry/sentry/pull/121222)
- Migrate last flags to flagpole by @noahsmartin in [#120948](https://github.com/getsentry/sentry/pull/120948)
- Bump sentry-protos to 0.57.2 by @brendanhsentry in [#121098](https://github.com/getsentry/sentry/pull/121098)
- Bump platformicons to 9.6.0 by @sentry-junior in [#120619](https://github.com/getsentry/sentry/pull/120619)
- Bump sentry-protos to 0.57.1 by @brendanhsentry in [#121081](https://github.com/getsentry/sentry/pull/121081)
- Tighten remaining paths-filter ro v4 by @joshuarli in [#120996](https://github.com/getsentry/sentry/pull/120996)
- Ro files-changed by @joshuarli in [#120989](https://github.com/getsentry/sentry/pull/120989)
- Remove experimental span V2 pipeline feature by @loewenheim in [#120955](https://github.com/getsentry/sentry/pull/120955)
- Sentry-options 1.2.2 by @joshuarli in [#120913](https://github.com/getsentry/sentry/pull/120913)
- Point CODEOWNERS at renamed team Agent Interfaces by @vaind in [#120867](https://github.com/getsentry/sentry/pull/120867)
- Bump taskbroker-client to 0.20.18 by @getsentry-bot in [#120923](https://github.com/getsentry/sentry/pull/120923)
- Bump sentry-protos to 0.55.0 by @armenzg in [#120919](https://github.com/getsentry/sentry/pull/120919)
- Migrate layouts/thirds from media queries to container queries by @TkDodo in [#120799](https://github.com/getsentry/sentry/pull/120799)
- Update feature flags to use flagpole by @noahsmartin in [#120852](https://github.com/getsentry/sentry/pull/120852)
- Bump sentry-protos to 0.53.1 by @brendanhsentry in [#120816](https://github.com/getsentry/sentry/pull/120816)
- Remove enterprise team from frontend by @noahsmartin in [#120781](https://github.com/getsentry/sentry/pull/120781)
- Add flagpole project scope flags by @noahsmartin in [#120776](https://github.com/getsentry/sentry/pull/120776)
- Move subscription flags to flagpole by @noahsmartin in [#120748](https://github.com/getsentry/sentry/pull/120748)
- Bump new development version by @sentry-release-bot[bot] in [ecd0d63a](https://github.com/getsentry/sentry/commit/ecd0d63a4c4ff6941b6e0de4631f64b5f83b579f)

### Other

- ref!(metrics): Remove generic metrics sets, gauges, and distributions by @phacops in [#122014](https://github.com/getsentry/sentry/pull/122014)
- Remove unreachable onboarding Redis check by @evanpurkhiser in [#122010](https://github.com/getsentry/sentry/pull/122010)
- Support multiple onboarding projects and issues by @evanpurkhiser in [#122019](https://github.com/getsentry/sentry/pull/122019)
- Add API endpoint to get agentic onboarding runs by @evanpurkhiser in [#121915](https://github.com/getsentry/sentry/pull/121915)
- Add agentic onboarding progress endpoints by @evanpurkhiser in [#121914](https://github.com/getsentry/sentry/pull/121914)
- deps(scm): Upgrade sentry-scm to 1.5.0 by @cmanallen in [#121953](https://github.com/getsentry/sentry/pull/121953)
- fix(reprocessing) Add debouncer to tail spawns in reprocess_group by @markstory in [#121900](https://github.com/getsentry/sentry/pull/121900)
- Fix HTML entity for non-breaking space in alerts.html by @elijames-codecov in [#121793](https://github.com/getsentry/sentry/pull/121793)
- ui(workflow-engine): Correctly position tooltip for disabled monitor mode by @leeandher in [#121732](https://github.com/getsentry/sentry/pull/121732)
- deps(ui): Upgrade oxfmt to 0.63.0 by @scttcper in [#121661](https://github.com/getsentry/sentry/pull/121661)
- deps(ui): Upgrade fuse.js by @scttcper in [#121571](https://github.com/getsentry/sentry/pull/121571)
- impr(jira): Add new format for explicit deletes by sending diff from frontend by @Christinarlong in [#121472](https://github.com/getsentry/sentry/pull/121472)
- impr(jira): replace the mass overwrite with diff method by @Christinarlong in [#121198](https://github.com/getsentry/sentry/pull/121198)
- Remove isLegacyAlert from the anomaly thresholds hook by @ceorourke in [#121464](https://github.com/getsentry/sentry/pull/121464)
- cleanup(gdd): Delete process_project_derived_data by @kcons in [#121399](https://github.com/getsentry/sentry/pull/121399)
- impr(jira): Add audit log and transaction for jira project mappings updates by @Christinarlong in [#121112](https://github.com/getsentry/sentry/pull/121112)
- o11y(aq): tag new 400 logs w params by @aliu39 in [#121366](https://github.com/getsentry/sentry/pull/121366)
- Bump granian to 2.8.0 by @gi0baro in [#121303](https://github.com/getsentry/sentry/pull/121303)
- o11y(seer): fix query validation logs to be warning level by @aliu39 in [#121115](https://github.com/getsentry/sentry/pull/121115)
- Update alert message to promote agent tracing by @elijames-codecov in [#121068](https://github.com/getsentry/sentry/pull/121068)
- Require RpcUser for select option, create and delete external issue by @geoffg-sentry in [#120995](https://github.com/getsentry/sentry/pull/120995)
- deps(ui): Upgrade React Aria packages by @scttcper in [#120714](https://github.com/getsentry/sentry/pull/120714)
- revert(explore): Stop hiding number attributes that exist as boolean tags by @skaasten in [#120897](https://github.com/getsentry/sentry/pull/120897)
- migration(workflow-engine): Make project FK nullable on Detector by @leeandher in [#120687](https://github.com/getsentry/sentry/pull/120687)

_Plus 1 more_

26.7.2
------

### New Features ✨

#### Action Log

- Use GALE in group notes endpoints by @ceorourke in [#120288](https://github.com/getsentry/sentry/pull/120288)
- Update group index helper to read from GALE by @ceorourke in [#120534](https://github.com/getsentry/sentry/pull/120534)
- Use GALE in GroupActivitiesEndpoint by @ceorourke in [#120282](https://github.com/getsentry/sentry/pull/120282)

#### Analytics

- Tag project-creation page views by sticky org origin by @jaydgoss in [#120148](https://github.com/getsentry/sentry/pull/120148)
- Attribute getting-started header actions by variant by @jaydgoss in [#120147](https://github.com/getsentry/sentry/pull/120147)
- Attribute project getting-started funnel by variant by @jaydgoss in [#120131](https://github.com/getsentry/sentry/pull/120131)
- Instrument SCM + legacy alert & notification for project creation by @jaydgoss in [#120124](https://github.com/getsentry/sentry/pull/120124)
- Instrument SCM connect + messaging-install for project creation by @jaydgoss in [#120119](https://github.com/getsentry/sentry/pull/120119)

#### Autofix

- Record Slack trigger activity by @scttcper in [#120381](https://github.com/getsentry/sentry/pull/120381)
- Open PRs as draft and mark ready when CI is green by @joseph-sentry in [#120385](https://github.com/getsentry/sentry/pull/120385)
- Group PR review feedback under a state-labelled header by @billyvg in [#120463](https://github.com/getsentry/sentry/pull/120463)
- Include the review author on the review-body feedback source by @billyvg in [#120513](https://github.com/getsentry/sentry/pull/120513)

#### Dashboards

- Add dashboard descriptions by @adrianviquez in [#120540](https://github.com/getsentry/sentry/pull/120540)
- Use canvas rendering for Heat Map and Categorical Bar widgets by @gggritso in [#120511](https://github.com/getsentry/sentry/pull/120511)

#### Dynamic Sampling

- Add switch to disable the implicit sample rate floor by @shellmayr in [#120658](https://github.com/getsentry/sentry/pull/120658)
- Add per-org sample rates summary log by @shellmayr in [#120650](https://github.com/getsentry/sentry/pull/120650)
- Fetch per-project top transactions via LIMIT BY by @shellmayr in [#120324](https://github.com/getsentry/sentry/pull/120324)

#### Gdd

- Schedule heal_stale_derived_data regularly by @kcons in [#120521](https://github.com/getsentry/sentry/pull/120521)
- Switch heal_stale_derived_data to build-and-promote path by @kcons in [#120516](https://github.com/getsentry/sentry/pull/120516)

#### Inbox

- Add "all" option and include "me" in "my teams" by @malwilley in [#120669](https://github.com/getsentry/sentry/pull/120669)
- Remove page filters by @malwilley in [#120668](https://github.com/getsentry/sentry/pull/120668)

#### Integrations

- Track clicks in the create integration modal by @cvxluo in [#120710](https://github.com/getsentry/sentry/pull/120710)
- Add a claude routine creation template by @cvxluo in [#120526](https://github.com/getsentry/sentry/pull/120526)
- Support prefill templates when creating internal integrations by @cvxluo in [#120238](https://github.com/getsentry/sentry/pull/120238)

#### Issue Workflow

- Add notification platform support for deploy notifs by @leeandher in [#120398](https://github.com/getsentry/sentry/pull/120398)
- Add activity notification route via notification platform by @leeandher in [#120390](https://github.com/getsentry/sentry/pull/120390)

#### Issues

- Prefetch the inbox preview on hover by @roggenkemper in [#120688](https://github.com/getsentry/sentry/pull/120688)
- Add inbox issue count to the secondary nav by @roggenkemper in [#120657](https://github.com/getsentry/sentry/pull/120657)
- Record Night Shift trigger autofix activity by @scttcper in [#120394](https://github.com/getsentry/sentry/pull/120394)
- Record ingest based autofix trigger activity by @scttcper in [#120393](https://github.com/getsentry/sentry/pull/120393)
- Explain Autofix trigger sources by @scttcper in [#120392](https://github.com/getsentry/sentry/pull/120392)
- Backport trigger autofix issue activity by @scttcper in [#120376](https://github.com/getsentry/sentry/pull/120376)
- Show event and user counts in the issue preview by @roggenkemper in [#120455](https://github.com/getsentry/sentry/pull/120455)
- Add ProGuard Mapping section to issue details by @markushi in [#120543](https://github.com/getsentry/sentry/pull/120543)
- Move Open Issue to title and add seen times to preview by @roggenkemper in [#120464](https://github.com/getsentry/sentry/pull/120464)

#### Pr Metrics

- Emit an opaque deduplication_key on scm.pr.closed by @vaind in [#120561](https://github.com/getsentry/sentry/pull/120561)
- Add ci_failed_at_open and no_ci_events diagnosis labels by @giovanni-guidini in [#120328](https://github.com/getsentry/sentry/pull/120328)
- Add stale PR detection and abandoned verdict by @giovanni-guidini in [#118817](https://github.com/getsentry/sentry/pull/118817)

#### Seer

- Prefer sentry_run_id over legacy run_id in autofix UI by @trevor-e in [#120541](https://github.com/getsentry/sentry/pull/120541)
- Smart assignment completion handler and workflow wiring by @hobzcalvin in [#120530](https://github.com/getsentry/sentry/pull/120530)
- Add seerSuggested assignment source to frontend by @hobzcalvin in [#120528](https://github.com/getsentry/sentry/pull/120528)
- Log legacy integer run_id usage on GroupAutofixEndpoint by @trevor-e in [#120519](https://github.com/getsentry/sentry/pull/120519)
- Add SeerRun retention cleanup via incinerator by @trevor-e in [#118606](https://github.com/getsentry/sentry/pull/118606)
- Add per-card priority selector to Autofix Overview by @mtopo27 in [#120498](https://github.com/getsentry/sentry/pull/120498)
- Render Code Mode todos in the Explorer chat by @azulus in [#120361](https://github.com/getsentry/sentry/pull/120361)

#### Snuba

- Tag query spans with request compression by @tryangul in [#120603](https://github.com/getsentry/sentry/pull/120603)
- Enable response compression for json gated behind option… by @tryangul in [#120531](https://github.com/getsentry/sentry/pull/120531)

#### Weekly Report

- Render top spans p95 chart by @amy-chen23 in [#119768](https://github.com/getsentry/sentry/pull/119768)
- Render resolution labels in email template by @amy-chen23 in [#120296](https://github.com/getsentry/sentry/pull/120296)
- Add resolution labels to past resolved issues by @amy-chen23 in [#120295](https://github.com/getsentry/sentry/pull/120295)

#### Other

- (admin) Add a Seer plan section to customer overview by @trevor-e in [#120565](https://github.com/getsentry/sentry/pull/120565)
- (ai) Hook gen_ai title generation into ingestion pipeline by @vgrozdanic in [#120442](https://github.com/getsentry/sentry/pull/120442)
- (ai-monitoring) Return stored conversation titles from the list endpoint by @vgrozdanic in [#120665](https://github.com/getsentry/sentry/pull/120665)
- (conversations) Add usage chart to the conversations list by @ArthurKnaus in [#120552](https://github.com/getsentry/sentry/pull/120552)
- (data-export) Emit array-valued telemetry attributes from data export tasks by @manessaraj in [#120461](https://github.com/getsentry/sentry/pull/120461)
- (eap) Add LIMIT BY support to table queries by @shellmayr in [#120323](https://github.com/getsentry/sentry/pull/120323)
- (explore) Register conversations list chart referrer by @ArthurKnaus in [#120551](https://github.com/getsentry/sentry/pull/120551)
- (ingest-consumer) Don't check backpressure when recovery mode by @bmckerry in [#120596](https://github.com/getsentry/sentry/pull/120596)
- (issue-inbox) Replace issue actions with Seer CTAs by @malwilley in [#120533](https://github.com/getsentry/sentry/pull/120533)
- (jira) Add status field to Jira search endpoint by @Christinarlong in [#120479](https://github.com/getsentry/sentry/pull/120479)
- (llm-proxy) Add conversation_id attribute to request by @vgrozdanic in [#120739](https://github.com/getsentry/sentry/pull/120739)
- (notifications) Link regression notifications to the triggering event by @Christinarlong in [#120405](https://github.com/getsentry/sentry/pull/120405)
- (perf) Prevent custom timing entries from accumulating by @scttcper in [#119573](https://github.com/getsentry/sentry/pull/119573)
- (producer) Rolling backpressure out to FTP instances again by @lvthanh03 in [#120681](https://github.com/getsentry/sentry/pull/120681)
- (scm-project-creation-flow) Storing decoded notification selecti… by @Abdkhan14 in [#120671](https://github.com/getsentry/sentry/pull/120671)
- (seer-infra-telemetry) Add `GcpServiceAccount` model for tracking per-org service accounts by @shashjar in [#120499](https://github.com/getsentry/sentry/pull/120499)
- (skills) Add migrate-container-queries skill by @priscilawebdev in [#120459](https://github.com/getsentry/sentry/pull/120459)
- (spans) Add new conditional if syntax by @wmak in [#120684](https://github.com/getsentry/sentry/pull/120684)
- (tracemetrics) Replace metrics explore queries with seer results by @narsaynorath in [#120660](https://github.com/getsentry/sentry/pull/120660)

### Bug Fixes 🐛

#### Analytics

- Preserve setup-docs project attribution by @jaydgoss in [#120229](https://github.com/getsentry/sentry/pull/120229)
- Attribute legacy framework modal actions by @jaydgoss in [#120235](https://github.com/getsentry/sentry/pull/120235)
- Track SCM project-creation platform searches by @jaydgoss in [#120227](https://github.com/getsentry/sentry/pull/120227)
- Unify project platform selection in growth event by @jaydgoss in [#120115](https://github.com/getsentry/sentry/pull/120115)
- Carry SCM project-creation wizard events in a variant param by @jaydgoss in [#120080](https://github.com/getsentry/sentry/pull/120080)
- Attribute setup docs by project creation variant by @jaydgoss in [#120143](https://github.com/getsentry/sentry/pull/120143)
- Split integration-install flow into view value + variant param by @jaydgoss in [#119936](https://github.com/getsentry/sentry/pull/119936)

#### Discover

- Put upsells in discover page filter dropdowns by @nikkikapadia in [#120594](https://github.com/getsentry/sentry/pull/120594)
- Flag gate all Open in Discover buttons to Open in Explore by @nikkikapadia in [#120509](https://github.com/getsentry/sentry/pull/120509)

#### Explore

- Update trace empty state docs link by @sentry-junior in [#120169](https://github.com/getsentry/sentry/pull/120169)
- Correct grammar in missing-replay tooltip by @JoshuaKGoldberg in [#120505](https://github.com/getsentry/sentry/pull/120505)
- Show No Data state for empty attribute breakdown chart by @gggritso in [#120575](https://github.com/getsentry/sentry/pull/120575)

#### Issues

- Mark issues as seen when previewed in the inbox by @roggenkemper in [#120656](https://github.com/getsentry/sentry/pull/120656)
- Prevent scroll chaining to the page in inbox and feedback by @roggenkemper in [#120654](https://github.com/getsentry/sentry/pull/120654)
- Show placeholder in issue preview header while loading by @roggenkemper in [#120580](https://github.com/getsentry/sentry/pull/120580)
- Reduce issue preview header height by @roggenkemper in [#120579](https://github.com/getsentry/sentry/pull/120579)
- Truncate status subtitle so it doesn't overlap progress tag by @roggenkemper in [#120576](https://github.com/getsentry/sentry/pull/120576)
- Show group lifetime first/last seen in inbox row by @roggenkemper in [#120524](https://github.com/getsentry/sentry/pull/120524)
- Simplify stack trace code mapping modal, smaller button by @scttcper in [#119790](https://github.com/getsentry/sentry/pull/119790)

#### Jira

- Modify backend form to support lazily fetching from URL on select addition by @Christinarlong in [#120504](https://github.com/getsentry/sentry/pull/120504)
- Only load saved project status mappings by @Christinarlong in [#120481](https://github.com/getsentry/sentry/pull/120481)

#### Migrations

- Make org contributors uniqueness constraint migration safe for self-hosted by @srest2021 in [#120689](https://github.com/getsentry/sentry/pull/120689)
- Make org contributors provider+hostname migration safe for self-hosted instances by @srest2021 in [#120637](https://github.com/getsentry/sentry/pull/120637)

#### Preprod

- Disallow wildcards for snapshot status by @jamieQ in [#120677](https://github.com/getsentry/sentry/pull/120677)
- Align snapshot comment approval status by @jamieQ in [#120503](https://github.com/getsentry/sentry/pull/120503)

#### Releases

- Ensure ActionContext for activity creation in webhooks by @sentry in [#120550](https://github.com/getsentry/sentry/pull/120550)
- Skip release query outside releases tab by @jamieQ in [#120401](https://github.com/getsentry/sentry/pull/120401)

#### Replays

- Guard against non-finite video currentTime by @sentry in [#119688](https://github.com/getsentry/sentry/pull/119688)
- Resolve pure-render-functions violation in useLiveRefresh by @sentry in [#120250](https://github.com/getsentry/sentry/pull/120250)

#### Seer

- Normalize anonymous users for user RPCs by @gricha in [#120598](https://github.com/getsentry/sentry/pull/120598)
- Some tweaks to Smart Assignment scoring, metrics (take 2) by @hobzcalvin in [#120600](https://github.com/getsentry/sentry/pull/120600)
- Hide autofix review cards without a valid PR [will revert soon] by @NicoHinderling in [#120506](https://github.com/getsentry/sentry/pull/120506)

#### Sentry Apps

- Handle invalid JSON in Select FormField webhooks by @sentry in [#119207](https://github.com/getsentry/sentry/pull/119207)
- Gate error webhook subscriptions correctly by @cvxluo in [#120611](https://github.com/getsentry/sentry/pull/120611)

#### Ui

- Ignore 402 request errors by @scttcper in [#120708](https://github.com/getsentry/sentry/pull/120708)
- Filter noisy frontend serviceworker errors by @scttcper in [#120578](https://github.com/getsentry/sentry/pull/120578)

#### Other

- (acceptance) Avoid project fixture override by @sentry-junior in [#120508](https://github.com/getsentry/sentry/pull/120508)
- (activity-alerts) Attach notification settings links when possible by @leeandher in [#120564](https://github.com/getsentry/sentry/pull/120564)
- (apigateway) Restore cell tag on async proxy_request counter by @ldelvoye in [#120573](https://github.com/getsentry/sentry/pull/120573)
- (bootstrap) Handle failed org preload requests by @scttcper in [#120588](https://github.com/getsentry/sentry/pull/120588)
- (browse) Ignore time range filters in context PUT endpoints by @DominikB2014 in [#120662](https://github.com/getsentry/sentry/pull/120662)
- (ci) Update tests to seed the correct column for ai_conversations by @pbhandari in [#120608](https://github.com/getsentry/sentry/pull/120608)
- (conversations) Hide misleading span value counts in search by @vgrozdanic in [#120738](https://github.com/getsentry/sentry/pull/120738)
- (crons) Throttle max deletion rate by @wedamija in [#120679](https://github.com/getsentry/sentry/pull/120679)
- (dashboards) Correct filter legend names with group by by @DominikB2014 in [#120663](https://github.com/getsentry/sentry/pull/120663)
- (feedback) Extract FeedbackModal components to module scope by @sentry in [#120041](https://github.com/getsentry/sentry/pull/120041)
- (forms) Stop scraps form wrapper from stretching vertically by @priscilawebdev in [#120553](https://github.com/getsentry/sentry/pull/120553)
- (integrations) Return 400 instead of 500 on partial code mapping PUT by @scttcper in [#120602](https://github.com/getsentry/sentry/pull/120602)
- (monitors) Prevent TypeError when team.projects is undefined in owner options by @sentry in [#119388](https://github.com/getsentry/sentry/pull/119388)
- (navigation) Account for global warning banners by @priscilawebdev in [#120545](https://github.com/getsentry/sentry/pull/120545)
- (overrides) Upsell footer not rendering in date filter by @nikkikapadia in [#120673](https://github.com/getsentry/sentry/pull/120673)
- (projects) Projects endpoint should use spans by @k-fish in [#120743](https://github.com/getsentry/sentry/pull/120743)
- (sdk) Filter 'ServiceWorker cannot be started' errors by @sentry in [#120606](https://github.com/getsentry/sentry/pull/120606)
- (sdkcd) Attribute React Native native crashes by @sentry-junior in [#120444](https://github.com/getsentry/sentry/pull/120444)
- (search) Stop clipping single-value filter dropdowns by @JoshuaKGoldberg in [#120586](https://github.com/getsentry/sentry/pull/120586)
- (spans) Apply drop-segments killswitch before any processing by @vgrozdanic in [#120501](https://github.com/getsentry/sentry/pull/120501)
- (tables) Add aria-sort to sortable headers by @JoshuaKGoldberg in [#120560](https://github.com/getsentry/sentry/pull/120560)
- (test) Update transactionsList.spec.tsx to await grid cells by @sentry in [#120571](https://github.com/getsentry/sentry/pull/120571)
- (trace) Remove eventTransaction in showJSONLink check by @mjq in [#120477](https://github.com/getsentry/sentry/pull/120477)
- (trials) Fix missing and negative day-count in product trial alerts and tags by @souredoutlook in [#119118](https://github.com/getsentry/sentry/pull/119118)
- (unreal) Add Unreal (gaming platforms) to supported replay categories by @mujacica in [#120616](https://github.com/getsentry/sentry/pull/120616)
- Do not run the react compiler on node_modules by @TkDodo in [#120737](https://github.com/getsentry/sentry/pull/120737)
- Revert "ref(taskbroker): Update taskbroker-client to 0.20.13 (#120489)" by @getsentry-bot in [28791fb7](https://github.com/getsentry/sentry/commit/28791fb7d5db1dd95ed5a783ca46385c077d50b7)
- Revert "fix(auth): add debug logging" by @nora-shap in [#120532](https://github.com/getsentry/sentry/pull/120532)

### Documentation 📚

- (link) Clarify internal links should not open in a new tab by @sentry-junior in [#120256](https://github.com/getsentry/sentry/pull/120256)
- (preprod) Document skipped status check endpoints by @jamieQ in [#120595](https://github.com/getsentry/sentry/pull/120595)

### Internal Changes 🔧

#### Analytics

- Clarify SCM framework flow naming by @jaydgoss in [#120233](https://github.com/getsentry/sentry/pull/120233)
- Replace setup-docs flow booleans with docsFlow by @jaydgoss in [#119937](https://github.com/getsentry/sentry/pull/119937)

#### Billing

- Disable checkout button when submitting by @brendanhsentry in [#120674](https://github.com/getsentry/sentry/pull/120674)
- Remove redundant isTrial field by @brendanhsentry in [#120525](https://github.com/getsentry/sentry/pull/120525)

#### Dashboards

- Remove `dashboards-ai-generate` feature flag (backend) by @cvxluo in [#120134](https://github.com/getsentry/sentry/pull/120134)
- Remove `dashboards-ai-generate` feature flag (frontend) by @cvxluo in [#120135](https://github.com/getsentry/sentry/pull/120135)

#### Deps

- Bump dompurify from 3.4.11 to 3.4.12 by @dependabot in [#120308](https://github.com/getsentry/sentry/pull/120308)
- Bump sentry-protos to 0.51.0 by @skonves in [#120666](https://github.com/getsentry/sentry/pull/120666)

#### Issue Workflow

- Add ParticipantMap to NotificationTarget helper by @leeandher in [#120389](https://github.com/getsentry/sentry/pull/120389)
- Move build_activity_notification_data to template layer by @leeandher in [#120388](https://github.com/getsentry/sentry/pull/120388)

#### Issues

- Migrate issueList to core components with built-in container queries by @TkDodo in [#120321](https://github.com/getsentry/sentry/pull/120321)
- Match issue preview horizontal padding to design by @roggenkemper in [#120507](https://github.com/getsentry/sentry/pull/120507)

#### Onboarding

- Graduate `organizations:onboarding-new-welcome-ui` by @cvxluo in [#119868](https://github.com/getsentry/sentry/pull/119868)
- Graduate onboarding-copy-setup-instructions-project-creation by @cvxluo in [#120011](https://github.com/getsentry/sentry/pull/120011)
- Graduate onboarding-copy-setup-instructions flag by @cvxluo in [#119968](https://github.com/getsentry/sentry/pull/119968)

#### Project Install

- Make integration refetch deterministic by @sentry-junior in [#120136](https://github.com/getsentry/sentry/pull/120136)
- Stabilize notification refetch test by @jaydgoss in [#120539](https://github.com/getsentry/sentry/pull/120539)

#### Seer

- Return the SeerRun from trigger_autofix_agent, not a bare int by @trevor-e in [#120590](https://github.com/getsentry/sentry/pull/120590)
- Reword Seer workflow action and status labels by @mtopo27 in [#120517](https://github.com/getsentry/sentry/pull/120517)
- Remove leading icon from Review PR buttons by @NicoHinderling in [#120522](https://github.com/getsentry/sentry/pull/120522)

#### Sentry Apps

- Use granular webhooks in request log by @cvxluo in [#120577](https://github.com/getsentry/sentry/pull/120577)
- Require webhookEvents and drop the pre-granular fallbacks by @cvxluo in [#120581](https://github.com/getsentry/sentry/pull/120581)
- Use `apiOptions` for the sentry app token list by @cvxluo in [#120490](https://github.com/getsentry/sentry/pull/120490)
- Reduce the application form to editing by @cvxluo in [#120487](https://github.com/getsentry/sentry/pull/120487)
- Give internal and public creation their own forms by @cvxluo in [#120484](https://github.com/getsentry/sentry/pull/120484)

#### Ui

- Show All Agents when no agent filter is selected by @vgrozdanic in [#120736](https://github.com/getsentry/sentry/pull/120736)
- Clarify beta feature badge tooltip copy by @vgrozdanic in [#120730](https://github.com/getsentry/sentry/pull/120730)
- Remove scroll-to-element by @scttcper in [#120523](https://github.com/getsentry/sentry/pull/120523)

#### Other

- (all-projects-detector) Setup a feature flag by @leeandher in [#120672](https://github.com/getsentry/sentry/pull/120672)
- (auth) Unify SAML and OAuth identity-confirmation flows on the shared SSO pipeline by @nora-shap in [#120702](https://github.com/getsentry/sentry/pull/120702)
- (chat) Use MessageRow gutter in ToolUseBlock, drop redundant spinner slot by @priscilawebdev in [#120639](https://github.com/getsentry/sentry/pull/120639)
- (control) Actually drop OrganizationMemberTeamReplica by @strongs in [#120167](https://github.com/getsentry/sentry/pull/120167)
- (conversations) Migrate breadcrumbs to BreadcrumbList by @priscilawebdev in [#120729](https://github.com/getsentry/sentry/pull/120729)
- (crons) When deleting checkins, skip marking them as pending deletion. by @wedamija in [#120670](https://github.com/getsentry/sentry/pull/120670)
- (dynamic-sampling) Remove transaction-volumes-per-project rollout flag by @shellmayr in [#120559](https://github.com/getsentry/sentry/pull/120559)
- (forms) Migrate superuser staff access form off deprecatedforms to scraps form by @priscilawebdev in [#119195](https://github.com/getsentry/sentry/pull/119195)
- (integrations) Remove integrations-github-platform-detection flag by @cvxluo in [#120048](https://github.com/getsentry/sentry/pull/120048)
- (modals) Migrate media queries to container queries by @priscilawebdev in [#120544](https://github.com/getsentry/sentry/pull/120544)
- (nav) Clean up leftover page-frame naming by @priscilawebdev in [#120557](https://github.com/getsentry/sentry/pull/120557)
- (pr-metrics) Drop attribution confidence ordering and unused signal type by @vaind in [#120486](https://github.com/getsentry/sentry/pull/120486)
- (project-creation) Expand SCM wizard coverage by @jaydgoss in [#120363](https://github.com/getsentry/sentry/pull/120363)
- (replays) Migrate responsive styles to container queries by @priscilawebdev in [#120643](https://github.com/getsentry/sentry/pull/120643)
- (seer-billing) Replace org contributor get-or-create helpers with Django lookups by @srest2021 in [#119978](https://github.com/getsentry/sentry/pull/119978)
- (seer-infra-telemetry) Create updated schema for monitoring provider connections by @shashjar in [#120355](https://github.com/getsentry/sentry/pull/120355)
- (snuba) Loosen mobile vital test to unblock Snuba bugfix by @mjq in [#120567](https://github.com/getsentry/sentry/pull/120567)
- (split-panel) Extract SplitDivider into DragHandle component by @ChrisandraVaz in [#120529](https://github.com/getsentry/sentry/pull/120529)
- (tables) Consolidate sortable header cells into one `SortableHeaderCell` by @JoshuaKGoldberg in [#120587](https://github.com/getsentry/sentry/pull/120587)
- (traces) Redesign the trace view header to be container-responsive by @priscilawebdev in [#120304](https://github.com/getsentry/sentry/pull/120304)
- (workflow engine) Remove TriggerResult by @saponifi3d in [#120412](https://github.com/getsentry/sentry/pull/120412)
- (workflow_engine) Refactor the `WorkflowEvaluation` class to use `BaseWorkflowEngineEvaluation` by @saponifi3d in [#120010](https://github.com/getsentry/sentry/pull/120010)
- Support lists in flagpole conditions by @noahsmartin in [#120636](https://github.com/getsentry/sentry/pull/120636)
- Move subscription based features to flagpole by @noahsmartin in [#120678](https://github.com/getsentry/sentry/pull/120678)
- Bump taskbroker-client to 0.20.15 by @getsentry-bot in [#120664](https://github.com/getsentry/sentry/pull/120664)
- Removed feature flag in test that was unused by @noahsmartin in [#120613](https://github.com/getsentry/sentry/pull/120613)
- Improve useResponsivePropValue types by @TkDodo in [#120659](https://github.com/getsentry/sentry/pull/120659)
- Update objectstore-client to 0.2.0 by @jan-auer in [#120641](https://github.com/getsentry/sentry/pull/120641)
- NoIssuesMatched to scraps primitives by @TkDodo in [#120337](https://github.com/getsentry/sentry/pull/120337)
- Enable ai-train Content-Signal in robots.txt by @elijames-codecov in [#120518](https://github.com/getsentry/sentry/pull/120518)
- Add metrics to service delegator by @markstory in [#120514](https://github.com/getsentry/sentry/pull/120514)
- Remove performance plan trial by @noahsmartin in [#120538](https://github.com/getsentry/sentry/pull/120538)
- Bump new development version by @sentry-release-bot[bot] in [704e8197](https://github.com/getsentry/sentry/commit/704e81976773bcfda784f6d43d866d8c4c627acb)

### Other

- Drop weekly-reports from plan fixtures by @noahsmartin in [#120614](https://github.com/getsentry/sentry/pull/120614)
- proto bump by @volokluev in [#120512](https://github.com/getsentry/sentry/pull/120512)

26.7.1
------

### New Features ✨

#### Action Log

- Add GALE serializer and swap response in group details by @ceorourke in [#119991](https://github.com/getsentry/sentry/pull/119991)
- Log instead of publish temporarily by @ceorourke in [#120262](https://github.com/getsentry/sentry/pull/120262)

#### Action Log

- Require GroupActions to opt-in to be considered user-visible. by @kcons in [#120159](https://github.com/getsentry/sentry/pull/120159)
- Add pipeline_hash to GroupDerivedData by @kcons in [#119951](https://github.com/getsentry/sentry/pull/119951)
- Serialize derived data on the returned group by @malwilley in [#119844](https://github.com/getsentry/sentry/pull/119844)

#### Activity

- Register templates for assigned/unassigned/note notifications by @leeandher in [#119917](https://github.com/getsentry/sentry/pull/119917)
- Register status_change activities on notification platform by @leeandher in [#119865](https://github.com/getsentry/sentry/pull/119865)

#### Ai Monitoring

- Generate conversation titles from gen_ai spans by @vgrozdanic in [#120309](https://github.com/getsentry/sentry/pull/120309)
- Add AIConversationMetadata model by @vgrozdanic in [#120078](https://github.com/getsentry/sentry/pull/120078)

#### Auth

- Add option by @nora-shap in [#119857](https://github.com/getsentry/sentry/pull/119857)
- Add analytics events for signup email verification by @nora-shap in [#119585](https://github.com/getsentry/sentry/pull/119585)

#### Autofix

- Refactor code-change feedback list into composable cells by @billyvg in [#120418](https://github.com/getsentry/sentry/pull/120418)
- Carry review id and state on PR review feedback by @billyvg in [#120458](https://github.com/getsentry/sentry/pull/120458)
- Render GitHub PR review body feedback in code-changes card by @alexsohn1126 in [#120342](https://github.com/getsentry/sentry/pull/120342)
- Check-suite feedback view in PR iteration UI by @joseph-sentry in [#120209](https://github.com/getsentry/sentry/pull/120209)
- Trigger PR iteration from failed check suites by @joseph-sentry in [#119733](https://github.com/getsentry/sentry/pull/119733)
- Add fun messages, improve loading conditions for enabling notifications in autofix by @ryan953 in [#119772](https://github.com/getsentry/sentry/pull/119772)
- Trigger notifications whenever autofix steps complete by @ryan953 in [#119364](https://github.com/getsentry/sentry/pull/119364)

#### Conversations

- Disallow negation filters on conversations page by @ArthurKnaus in [#120343](https://github.com/getsentry/sentry/pull/120343)
- Add copy transcript button to redesigned view by @ArthurKnaus in [#120341](https://github.com/getsentry/sentry/pull/120341)
- Default span selection per view, merge drawer URL state by @ArthurKnaus in [#120204](https://github.com/getsentry/sentry/pull/120204)
- Collapse tool calls in the transcript by @ArthurKnaus in [#119807](https://github.com/getsentry/sentry/pull/119807)
- Explain empty conversation transcripts by @ArthurKnaus in [#119802](https://github.com/getsentry/sentry/pull/119802)

#### Dashboards

- Add last visited by user logic by @adrianviquez in [#120286](https://github.com/getsentry/sentry/pull/120286)
- Delete the grid view from dashboards pages by @adrianviquez in [#120158](https://github.com/getsentry/sentry/pull/120158)
- Delete the custom dashboards tab by @adrianviquez in [#119973](https://github.com/getsentry/sentry/pull/119973)
- Add (no value) option to global filters by @adrianviquez in [#119026](https://github.com/getsentry/sentry/pull/119026)
- Add starred dashboards to dashboards sidebar by @adrianviquez in [#119880](https://github.com/getsentry/sentry/pull/119880)
- Add reorder and starred endpoints by @adrianviquez in [#119784](https://github.com/getsentry/sentry/pull/119784)
- Teach agentic dashboard generation about heat maps by @gggritso in [#119788](https://github.com/getsentry/sentry/pull/119788)

#### Derived Data

- Stamp GroupDerivedData with its initial pipeline hash by @kcons in [#119947](https://github.com/getsentry/sentry/pull/119947)
- Add Pipeline.pipeline_hash by @kcons in [#119856](https://github.com/getsentry/sentry/pull/119856)

#### Difs

- Feature-gate Objectstore DIF reads by @lcian in [#119806](https://github.com/getsentry/sentry/pull/119806)
- Dual-write DIFs to Objectstore by @lcian in [#119805](https://github.com/getsentry/sentry/pull/119805)

#### Discover

- Remove transactions and surface errors by @nikkikapadia in [#119062](https://github.com/getsentry/sentry/pull/119062)
- Hide transactions saved queries by @nikkikapadia in [#119246](https://github.com/getsentry/sentry/pull/119246)
- Deprecate discover ff by @nikkikapadia in [#120067](https://github.com/getsentry/sentry/pull/120067)

#### Dynamic Sampling

- Floor transaction sample rate to bound extrapolation by @shellmayr in [#118561](https://github.com/getsentry/sentry/pull/118561)
- Count projects sampled below 100% in per-org pipeline by @shellmayr in [#120065](https://github.com/getsentry/sentry/pull/120065)

#### Explore

- Suggest ESQ from humanized filter text by @manessaraj in [#119243](https://github.com/getsentry/sentry/pull/119243)
- Highlight every matching search term in logs and spans by @JoshuaKGoldberg in [#119310](https://github.com/getsentry/sentry/pull/119310)

#### External Mcp

- Switch datadog mcp integrations to all pass authentication via headers, instead of the deprecated datadog specific token by @wedamija in [#119966](https://github.com/getsentry/sentry/pull/119966)
- Connect org level datadog integration to Seer by @wedamija in [#119853](https://github.com/getsentry/sentry/pull/119853)
- Implement org level ui for configuring datadog integration by @wedamija in [#119777](https://github.com/getsentry/sentry/pull/119777)
- Add org-level Datadog integration for Seer by @wedamija in [#119690](https://github.com/getsentry/sentry/pull/119690)

#### Gal

- Trigger derived data rebuild after project backfill completes by @yuvmen in [#119783](https://github.com/getsentry/sentry/pull/119783)
- Add reset option to project-level backfill task by @yuvmen in [#119556](https://github.com/getsentry/sentry/pull/119556)
- Double-write Activity as GALE by @thetruecpaul in [#118941](https://github.com/getsentry/sentry/pull/118941)

#### Gdd

- Add task to find and update projects with stale derived data by @kcons in [#120410](https://github.com/getsentry/sentry/pull/120410)
- Add index on pipeline_hash to allow us to find and filter old data efficiently by @kcons in [#120406](https://github.com/getsentry/sentry/pull/120406)
- GroupDerivedData debug endpoint by @kcons in [#120255](https://github.com/getsentry/sentry/pull/120255)
- Add promote_to_live by @kcons in [#120243](https://github.com/getsentry/sentry/pull/120243)
- Add GroupDerivedData.generated_at by @kcons in [#120166](https://github.com/getsentry/sentry/pull/120166)

#### Issue Progress

- Add inbox assignment filter by @malwilley in [#120251](https://github.com/getsentry/sentry/pull/120251)
- Add initial inbox page by @malwilley in [#120213](https://github.com/getsentry/sentry/pull/120213)
- Track issue blocker in derived action log data by @malwilley in [#119970](https://github.com/getsentry/sentry/pull/119970)
- Read progress from derived data on group by @malwilley in [#119941](https://github.com/getsentry/sentry/pull/119941)

#### Issue Search

- Rank progress sort past the cap with Snuba filters by @roggenkemper in [#119952](https://github.com/getsentry/sentry/pull/119952)
- Order progress sort in Postgres past the candidate cap by @roggenkemper in [#119736](https://github.com/getsentry/sentry/pull/119736)

#### Issues

- Show progress state in the issue preview by @roggenkemper in [#120454](https://github.com/getsentry/sentry/pull/120454)
- Support Autofix trigger activities by @scttcper in [#120366](https://github.com/getsentry/sentry/pull/120366)
- Add issue.autofix_state search key for autofix overview by @NicoHinderling in [#120293](https://github.com/getsentry/sentry/pull/120293)
- Update v2 activity timeline markers by @scttcper in [#120278](https://github.com/getsentry/sentry/pull/120278)
- Remove fake auto-resolution by @scttcper in [#120153](https://github.com/getsentry/sentry/pull/120153)
- Global register controls, design system styles by @scttcper in [#119732](https://github.com/getsentry/sentry/pull/119732)
- Attribute pull request activities by @scttcper in [#119977](https://github.com/getsentry/sentry/pull/119977)
- Run auto-resolve every 10 minutes by @scttcper in [#120149](https://github.com/getsentry/sentry/pull/120149)
- Add 'Open in Explore' as Logs fold action by @JoshuaKGoldberg in [#119905](https://github.com/getsentry/sentry/pull/119905)
- Refine regressed activity layout by @scttcper in [#119755](https://github.com/getsentry/sentry/pull/119755)
- Clarify assignee tooltip details by @scttcper in [#119176](https://github.com/getsentry/sentry/pull/119176)

#### Native

- GA minidump multi-exceptions by @jjbayer in [#119808](https://github.com/getsentry/sentry/pull/119808)
- Symbolicate multiple native exceptions by @jjbayer in [#119780](https://github.com/getsentry/sentry/pull/119780)

#### Ourlogs

- Clarify rate limit error (429) message by @JoshuaKGoldberg in [#119825](https://github.com/getsentry/sentry/pull/119825)
- Show timestamps in detail view by @JoshuaKGoldberg in [#119517](https://github.com/getsentry/sentry/pull/119517)

#### Pr Iteration

- Remove 👀 reaction after iteration completes by @alexsohn1126 in [#120223](https://github.com/getsentry/sentry/pull/120223)
- React with 🎉 on comment after iteration completes by @alexsohn1126 in [#120226](https://github.com/getsentry/sentry/pull/120226)

#### Pr Metrics

- Add reviews_requested_count to scm.pr.closed by @giovanni-guidini in [#120348](https://github.com/getsentry/sentry/pull/120348)
- Forward per-check recovery detail on the judge wire by @vaind in [#120113](https://github.com/getsentry/sentry/pull/120113)
- Add repo provider and visibility to scm.pr.closed by @giovanni-guidini in [#119903](https://github.com/getsentry/sentry/pull/119903)
- Include group_ids in delegated agent attribution by @giovanni-guidini in [#119810](https://github.com/getsentry/sentry/pull/119810)
- Route readers to the document, sweep it, and validate parity by @vaind in [#119574](https://github.com/getsentry/sentry/pull/119574)
- Reap PullRequestMetrics rows stuck at JUDGE_IN_PROGRESS by @giovanni-guidini in [#119821](https://github.com/getsentry/sentry/pull/119821)
- Capture new lifecycle signals on the document path by @vaind in [#119572](https://github.com/getsentry/sentry/pull/119572)
- Route PR activity to the reduced document behind a cutover option by @vaind in [#119571](https://github.com/getsentry/sentry/pull/119571)

#### Preprod

- Add skipped status check endpoints by @jamieQ in [#119824](https://github.com/getsentry/sentry/pull/119824)
- Add settings UX for size analysis PR comment rules by @mtopo27 in [#120205](https://github.com/getsentry/sentry/pull/120205)
- Add git SHAs to default preprod search attributes by @mtopo27 in [#120129](https://github.com/getsentry/sentry/pull/120129)
- Expose size PR comment options in project API by @mtopo27 in [#120120](https://github.com/getsentry/sentry/pull/120120)
- Post size analysis results as PR comments by @mtopo27 in [#119422](https://github.com/getsentry/sentry/pull/119422)
- Expand dotted build codes in check-for-update APIs by @trevor-e in [#119759](https://github.com/getsentry/sentry/pull/119759)

#### Releases

- Create a template for release activity by @leeandher in [#119955](https://github.com/getsentry/sentry/pull/119955)
- Add enable-release-creation feature to remaining release auto-creation paths by @shellmayr in [#120057](https://github.com/getsentry/sentry/pull/120057)
- Add release auto-creation toggle to project settings by @shellmayr in [#117786](https://github.com/getsentry/sentry/pull/117786)
- Add project toggle for release auto-creation from telemetry by @shellmayr in [#117785](https://github.com/getsentry/sentry/pull/117785)

#### Search

- Show Ask Seer results directly by @nsdeschenes in [#120122](https://github.com/getsentry/sentry/pull/120122)
- Register agentic triage sort feature flag and options by @Mihir-Mavalankar in [#120084](https://github.com/getsentry/sentry/pull/120084)
- Rework Ask Seer query token styling by @nsdeschenes in [#119846](https://github.com/getsentry/sentry/pull/119846)
- Register humanized ESQ feature flag by @manessaraj in [#120072](https://github.com/getsentry/sentry/pull/120072)
- Add Ask Seer regenerate action by @nsdeschenes in [#119909](https://github.com/getsentry/sentry/pull/119909)
- Refine Ask Seer empty-state heading by @nsdeschenes in [#119818](https://github.com/getsentry/sentry/pull/119818)
- Rework Ask Seer polling status by @nsdeschenes in [#119714](https://github.com/getsentry/sentry/pull/119714)

#### Seer

- Smart Assignment scoring by @hobzcalvin in [#119944](https://github.com/getsentry/sentry/pull/119944)
- Open autofix run drawer inline from overview by @mtopo27 in [#120422](https://github.com/getsentry/sentry/pull/120422)
- Record agentic-triage-sort flag in agent run options by @Mihir-Mavalankar in [#120473](https://github.com/getsentry/sentry/pull/120473)
- Add assignee filter and per-card assignee to Autofix Overview by @mtopo27 in [#120421](https://github.com/getsentry/sentry/pull/120421)
- Thread autofix_automation_tuning into night shift's triage payload by @trevor-e in [#120386](https://github.com/getsentry/sentry/pull/120386)
- Smart Assignment delivery by @hobzcalvin in [#119943](https://github.com/getsentry/sentry/pull/119943)
- Polish autofix overview cards and fix run-activity timestamps by @jshchnz in [#120425](https://github.com/getsentry/sentry/pull/120425)
- Attribute agent actions to delegating users by @gricha in [#120172](https://github.com/getsentry/sentry/pull/120172)
- Gate agent writes behind short-lived capability tokens by @gricha in [#118539](https://github.com/getsentry/sentry/pull/118539)
- Autofix overview sections driven by issue.autofix_state by @NicoHinderling in [#120294](https://github.com/getsentry/sentry/pull/120294)
- Assign triggering user when a Seer PR exhausts its iteration cap by @vaind in [#120194](https://github.com/getsentry/sentry/pull/120194)
- Back get_metric_metadata with the metrics endpoint by @DominikB2014 in [#120076](https://github.com/getsentry/sentry/pull/120076)
- Add global option to enable night shift for legacy Seer orgs by @trevor-e in [#120285](https://github.com/getsentry/sentry/pull/120285)
- Request review from triggering user on green Seer PRs by @vaind in [#120185](https://github.com/getsentry/sentry/pull/120185)
- Render night shift triage reason as markdown by @trevor-e in [#120138](https://github.com/getsentry/sentry/pull/120138)
- Add /bash-mode-on and /bash-mode-off slash commands by @Zylphrex in [#120206](https://github.com/getsentry/sentry/pull/120206)
- Ingest GitHub PR review webhooks for Autofix iteration by @alexsohn1126 in [#119630](https://github.com/getsentry/sentry/pull/119630)
- Back get_metric_metadata with the metrics endpoint by @DominikB2014 in [#120102](https://github.com/getsentry/sentry/pull/120102)
- Add agentic triage scoring for night shift candidate selection by @Mihir-Mavalankar in [#120114](https://github.com/getsentry/sentry/pull/120114)
- Show skip reason on the workflows page Skipped tag by @trevor-e in [#120126](https://github.com/getsentry/sentry/pull/120126)
- Link delegated coding agent PRs to SeerRunPullRequest by @trevor-e in [#119427](https://github.com/getsentry/sentry/pull/119427)
- Experimenting around by @jshchnz in [#119794](https://github.com/getsentry/sentry/pull/119794)
- Add inline docs embed by @natemoo-re in [#119823](https://github.com/getsentry/sentry/pull/119823)
- Register Night Shift UI feature by @sentry-junior in [#119902](https://github.com/getsentry/sentry/pull/119902)
- Serialize pull requests on Seer runs by @jshchnz in [#119795](https://github.com/getsentry/sentry/pull/119795)
- Smart-assignment dispatch and workflow wiring by @hobzcalvin in [#119693](https://github.com/getsentry/sentry/pull/119693)
- Add a demo runs list UI with search, pagination, and outputs by @chromy in [#118828](https://github.com/getsentry/sentry/pull/118828)
- Track coding agent handoff status in Sentry's DB by @trevor-e in [#119412](https://github.com/getsentry/sentry/pull/119412)
- Persist and surface night shift skip_reason by @trevor-e in [#119700](https://github.com/getsentry/sentry/pull/119700)
- Add autofix-browser-notifications feature flag by @ryan953 in [#119737](https://github.com/getsentry/sentry/pull/119737)

#### Seer Infra Telemetry

- Implement `GcpOrgMonitoringProvider` by @shashjar in [#120171](https://github.com/getsentry/sentry/pull/120171)
- Add setup wizard pipeline UI for GCP integration by @shashjar in [#120093](https://github.com/getsentry/sentry/pull/120093)
- Add GCP MCP org-level integration provider by @shashjar in [#119774](https://github.com/getsentry/sentry/pull/119774)

#### Sentry Apps

- GA custom webhook headers by @cvxluo in [#120274](https://github.com/getsentry/sentry/pull/120274)
- GA granular webhook subscriptions by @cvxluo in [#120271](https://github.com/getsentry/sentry/pull/120271)
- GA the custom webhook headers UI by @cvxluo in [#120269](https://github.com/getsentry/sentry/pull/120269)
- Graduate granular webhook subscription UI by @cvxluo in [#120265](https://github.com/getsentry/sentry/pull/120265)
- Allow webhook subscriptions before the url is set by @cvxluo in [#120160](https://github.com/getsentry/sentry/pull/120160)
- Indicate custom formatting applied to routines by @cvxluo in [#120145](https://github.com/getsentry/sentry/pull/120145)
- Register flag for app templates by @cvxluo in [#120142](https://github.com/getsentry/sentry/pull/120142)
- Expose the webhooks flag by @cvxluo in [#119843](https://github.com/getsentry/sentry/pull/119843)
- Add urls to issue workflow webhook payloads by @cvxluo in [#119680](https://github.com/getsentry/sentry/pull/119680)

#### Stories

- Import image gallery using `import.meta.glob` by @scttcper in [#119632](https://github.com/getsentry/sentry/pull/119632)
- Add custom favicon for stories pages by @cleptric in [#119683](https://github.com/getsentry/sentry/pull/119683)

#### Trace Items

- Filter metrics to those with context via context_only by @DominikB2014 in [#120212](https://github.com/getsentry/sentry/pull/120212)
- Add endpoint to list metric names and context by @DominikB2014 in [#119740](https://github.com/getsentry/sentry/pull/119740)

#### Tracemetrics

- Wrap seer combobox token for equation formatting by @narsaynorath in [#120400](https://github.com/getsentry/sentry/pull/120400)
- Remove equation feature flag definitions by @narsaynorath in [#119921](https://github.com/getsentry/sentry/pull/119921)

#### Weekly Report

- Add WoW change to Total Spans by @amy-chen23 in [#120352](https://github.com/getsentry/sentry/pull/120352)
- Add spans presentation layer for weekly email by @amy-chen23 in [#120231](https://github.com/getsentry/sentry/pull/120231)
- Add spans data layer with per-project counts by @amy-chen23 in [#120230](https://github.com/getsentry/sentry/pull/120230)
- Add spans chart data layer by @amy-chen23 in [#118860](https://github.com/getsentry/sentry/pull/118860)

#### Other

- (admin) Gift recurring credits page by @dashed in [#119435](https://github.com/getsentry/sentry/pull/119435)
- (ai) Prepare task producer for gen_ai conversation title generator by @vgrozdanic in [#120441](https://github.com/getsentry/sentry/pull/120441)
- (alerts) Document request/response schema for the metric alert rule index endpoints by @azulus in [#120085](https://github.com/getsentry/sentry/pull/120085)
- (api) Document and publish trace item stats endpoint by @cvxluo in [#117061](https://github.com/getsentry/sentry/pull/117061)
- (attributes) Add public alias for `sentry.trace_lifecycle` attribute by @Lms24 in [#120327](https://github.com/getsentry/sentry/pull/120327)
- (breadcrumbList) Typed breadcrumb redesign with rich items, validated on real pages by @Jesse-Box in [#119060](https://github.com/getsentry/sentry/pull/119060)
- (ci) Check `embed_widgets.generated.json` sync by @natemoo-re in [#120074](https://github.com/getsentry/sentry/pull/120074)
- (compactSelect) ENTER in searchable selects by @TkDodo in [#119713](https://github.com/getsentry/sentry/pull/119713)
- (control) Drop unconsumed check_run webhook actions at the parser by @vaind in [#119829](https://github.com/getsentry/sentry/pull/119829)
- (copilot) Add agent session URL to autofix panel by @sehr-m in [#119874](https://github.com/getsentry/sentry/pull/119874)
- (data-browsing) Rename "Heat Map" to "Heatmap" in the UI by @gggritso in [#119771](https://github.com/getsentry/sentry/pull/119771)
- (derived) Add build_and_promote_derived_data with generation tasks by @kcons in [#120292](https://github.com/getsentry/sentry/pull/120292)
- (flags) Register SCM project creation flag by @jaydgoss in [#120349](https://github.com/getsentry/sentry/pull/120349)
- (inbound-filters) Add table & modal by @shellmayr in [#117668](https://github.com/getsentry/sentry/pull/117668)
- (ingest) Add option to reprocess events not in nodestore by @bmckerry in [#120133](https://github.com/getsentry/sentry/pull/120133)
- (integrations) Add action-row layout to the create-integration modal by @cvxluo in [#120128](https://github.com/getsentry/sentry/pull/120128)
- (low-value-spans) Fetch costs on demand by @constantinius in [#119610](https://github.com/getsentry/sentry/pull/119610)
- (metrics) Add metrics.set for unique-value set metrics by @armenzg in [#119716](https://github.com/getsentry/sentry/pull/119716)
- (navigation) Add translation markers toggle to command palette by @JonasBa in [#116784](https://github.com/getsentry/sentry/pull/116784)
- (night-shift) Add structured logging to agentic triage functions by @Mihir-Mavalankar in [#120218](https://github.com/getsentry/sentry/pull/120218)
- (processing) Define new async tasks by @jjbayer in [#119758](https://github.com/getsentry/sentry/pull/119758)
- (refactor-tasks) Add React compiler conventions by @nsdeschenes in [#119621](https://github.com/getsentry/sentry/pull/119621)
- (replays) Roll out FutureTrackingProducer to eap_items by @bmckerry in [#119743](https://github.com/getsentry/sentry/pull/119743)
- (scraps) Add chat primitives (UserBubble, ToolCallIndicator) and adopt in Seer Explorer by @priscilawebdev in [#119493](https://github.com/getsentry/sentry/pull/119493)
- (seer-agent) Allow use of bash mode in seer agent by @Zylphrex in [#120075](https://github.com/getsentry/sentry/pull/120075)
- (seer-billing) Remove nullability for organization contributor provider and hostname by @srest2021 in [#119695](https://github.com/getsentry/sentry/pull/119695)
- (slack) Make nudge frequency configurable via option by @alexsohn1126 in [#119953](https://github.com/getsentry/sentry/pull/119953)
- (snuba) Add response logging to RPC calls by @JoshuaKGoldberg in [#119562](https://github.com/getsentry/sentry/pull/119562)
- (spans) Count segments with gen_ai conversation ids by @vgrozdanic in [#119919](https://github.com/getsentry/sentry/pull/119919)
- (taskbroker) Add Application Argument to Task Sender by @george-sentry in [#119860](https://github.com/getsentry/sentry/pull/119860)
- (teapot-frontend) Integrate Teapot GPU symbolication service with Sentry by @mujacica in [#119376](https://github.com/getsentry/sentry/pull/119376)
- (trace) Add dismissable feedback banner for new trace waterfall by @mjq in [#120465](https://github.com/getsentry/sentry/pull/120465)
- (ui) Add org feature flag controls (frontend only) by @scttcper in [#119798](https://github.com/getsentry/sentry/pull/119798)
- (upload) Multipart feature flag by @jjbayer in [#119888](https://github.com/getsentry/sentry/pull/119888)
- Refresh logs empty-state copy / include prompt by @bcoe in [#119660](https://github.com/getsentry/sentry/pull/119660)

### Bug Fixes 🐛

#### Action Log

- Give action log-based Activity APIs their own feature by @kcons in [#120368](https://github.com/getsentry/sentry/pull/120368)
- Include stack info in our missing context error by @kcons in [#119930](https://github.com/getsentry/sentry/pull/119930)
- Provide ActionContext to process_autofix_updates by @kcons in [#119928](https://github.com/getsentry/sentry/pull/119928)

#### Alerts

- Fix bug in `percent_increase` where evaluation was incorrect by @saponifi3d in [#120356](https://github.com/getsentry/sentry/pull/120356)
- Ensure that incompatible metric alert messages are only shown for ticketing actions by @malwilley in [#119741](https://github.com/getsentry/sentry/pull/119741)

#### Autofix

- Keep sticky headers above row actions by @NicoHinderling in [#120414](https://github.com/getsentry/sentry/pull/120414)
- Wrong feature flag for autofix plan by @Zylphrex in [#120253](https://github.com/getsentry/sentry/pull/120253)
- Resolve pure-render-functions violation in SeerEnableNotifications by @sentry in [#120021](https://github.com/getsentry/sentry/pull/120021)
- Resolve check-suite autofix_run at construct time by @joseph-sentry in [#120068](https://github.com/getsentry/sentry/pull/120068)
- No-op PR iteration when Seer run is missing by @joseph-sentry in [#120111](https://github.com/getsentry/sentry/pull/120111)
- Handle error state in autofix code changes by @Zylphrex in [#119876](https://github.com/getsentry/sentry/pull/119876)
- Render PR review comments by @joseph-sentry in [#119750](https://github.com/getsentry/sentry/pull/119750)
- Import usePrompt instead of usePrompts for checking autofix-sw-notification by @ryan953 in [#119753](https://github.com/getsentry/sentry/pull/119753)

#### Conversations

- Prevent blank message bubbles in the transcript by @ArthurKnaus in [#120176](https://github.com/getsentry/sentry/pull/120176)
- Preserve reasoning for reasoning-only assistant turns by @vgrozdanic in [#119914](https://github.com/getsentry/sentry/pull/119914)

#### Dashboards

- Prevent errors with integer titles in `incremental_title` when copying dashboards by @sentry in [#120201](https://github.com/getsentry/sentry/pull/120201)
- Add widget action tooltips by @jamieQ in [#120375](https://github.com/getsentry/sentry/pull/120375)
- Resolve static-component-definitions in GenericFilterSelector by @sentry in [#120033](https://github.com/getsentry/sentry/pull/120033)
- Show a No Data state instead of a generic error by @gggritso in [#119940](https://github.com/getsentry/sentry/pull/119940)
- Legend toggle discards unsaved filters by @nikkikapadia in [#119760](https://github.com/getsentry/sentry/pull/119760)
- AI agents dashboard tag click updates global filters by @nikkikapadia in [#119521](https://github.com/getsentry/sentry/pull/119521)

#### Data Browsing

- Use canvas renderer for time series graphs by @gggritso in [#120208](https://github.com/getsentry/sentry/pull/120208)
- Turn off Safari user selection on ECharts charts by @gggritso in [#119845](https://github.com/getsentry/sentry/pull/119845)
- Speed up heat map drag-to-select by @gggritso in [#119776](https://github.com/getsentry/sentry/pull/119776)

#### Detectors

- Handle invalid body size values in large payload detector by @lobsterkatie in [#120157](https://github.com/getsentry/sentry/pull/120157)
- Use correct key for transaction name by @lobsterkatie in [#120118](https://github.com/getsentry/sentry/pull/120118)
- Handle string `request_start` values in `HTTPOverheadDetector` by @lobsterkatie in [#119994](https://github.com/getsentry/sentry/pull/119994)
- Stop short-circuiting detection on first error by @lobsterkatie in [#120000](https://github.com/getsentry/sentry/pull/120000)

#### Discover

- Put in reverse redirect and change page titles by @nikkikapadia in [#120395](https://github.com/getsentry/sentry/pull/120395)
- Adjust max pickable days options to mirror spans by @nikkikapadia in [#120130](https://github.com/getsentry/sentry/pull/120130)
- Remove transactions dataset options by @nikkikapadia in [#120073](https://github.com/getsentry/sentry/pull/120073)

#### Dynamic Sampling

- Only query transaction volumes for projects that need balancing by @shellmayr in [#120026](https://github.com/getsentry/sentry/pull/120026)
- Skip 100% rate projects in tx balancing by @shellmayr in [#119907](https://github.com/getsentry/sentry/pull/119907)

#### Eslint

- Allow nested arrow functions with untyped parameters by @TkDodo in [#120189](https://github.com/getsentry/sentry/pull/120189)
- Ignore linting agents directory by @TkDodo in [#120191](https://github.com/getsentry/sentry/pull/120191)
- Improve the prefer-info-text eslint rule by @TkDodo in [#120004](https://github.com/getsentry/sentry/pull/120004)
- Enable unicorn/filename-case eslint rule by @ryan953 in [#120103](https://github.com/getsentry/sentry/pull/120103)

#### Explore

- Reset aggregate cursor on filter changes by @sentry-junior in [#120200](https://github.com/getsentry/sentry/pull/120200)
- Improve chart empty-state guard by @sentry in [#120014](https://github.com/getsentry/sentry/pull/120014)
- Remove trace links from aggregate table by @nsdeschenes in [#120091](https://github.com/getsentry/sentry/pull/120091)

#### Gal

- Add missing context to fetch commits task by @thetruecpaul in [#120112](https://github.com/getsentry/sentry/pull/120112)
- Add missing context to organization release details endpoint by @thetruecpaul in [#120116](https://github.com/getsentry/sentry/pull/120116)
- Add missing context to reprocessing by @thetruecpaul in [#120001](https://github.com/getsentry/sentry/pull/120001)
- Add missing context to gitlab webhooks by @thetruecpaul in [#120082](https://github.com/getsentry/sentry/pull/120082)
- Add missing context to unmerge2 by @thetruecpaul in [#120002](https://github.com/getsentry/sentry/pull/120002)
- Add missing context to bitbucket webhook by @thetruecpaul in [#119996](https://github.com/getsentry/sentry/pull/119996)
- Add missing context to occurrence consumer by @thetruecpaul in [#119976](https://github.com/getsentry/sentry/pull/119976)
- Add missing context to github webhook issues by @thetruecpaul in [#119974](https://github.com/getsentry/sentry/pull/119974)
- Add missing context to clear expired snoozes task by @thetruecpaul in [#119975](https://github.com/getsentry/sentry/pull/119975)
- Add context scope to post-process by @thetruecpaul in [#119754](https://github.com/getsentry/sentry/pull/119754)
- Re-enable gating around activity double-write by @thetruecpaul in [#119766](https://github.com/getsentry/sentry/pull/119766)

#### Gdd

- Incorporate generated_at into incremental update checks by @kcons in [#120239](https://github.com/getsentry/sentry/pull/120239)
- Add SeerRCA action to track_root_cause by @kcons in [#119782](https://github.com/getsentry/sentry/pull/119782)
- Include more resolution events in track_status by @kcons in [#119778](https://github.com/getsentry/sentry/pull/119778)

#### Integrations

- Report matching result count in search analytics by @cvxluo in [#119649](https://github.com/getsentry/sentry/pull/119649)
- Allow rotating token-only app secrets by @scttcper in [#120050](https://github.com/getsentry/sentry/pull/120050)

#### Issues

- Restore status banner progress markers by @scttcper in [#120411](https://github.com/getsentry/sentry/pull/120411)
- Serialize Autofix trigger activity type by @scttcper in [#120372](https://github.com/getsentry/sentry/pull/120372)
- Use ContainerQueries for IssueListFilters by @TkDodo in [#120314](https://github.com/getsentry/sentry/pull/120314)
- Restore sidebar comment actions in activity v2 by @scttcper in [#120283](https://github.com/getsentry/sentry/pull/120283)
- Clean up timeline marker prop by @scttcper in [#120264](https://github.com/getsentry/sentry/pull/120264)
- Handle invalid release resolution searches by @scttcper in [#120127](https://github.com/getsentry/sentry/pull/120127)
- Handle non-numeric issue IDs in bulk PUT endpoint by @sentry in [#119984](https://github.com/getsentry/sentry/pull/119984)
- Stop activity line at final marker by @scttcper in [#119972](https://github.com/getsentry/sentry/pull/119972)
- Keep ongoing status transitions atomic by @scttcper in [#119882](https://github.com/getsentry/sentry/pull/119882)
- Adjust minor issue activity details by @scttcper in [#119756](https://github.com/getsentry/sentry/pull/119756)
- Make Recommended sort selectable in command palette by @roggenkemper in [#119850](https://github.com/getsentry/sentry/pull/119850)
- Balance stack trace frame headers by @scttcper in [#119792](https://github.com/getsentry/sentry/pull/119792)

#### Ourlogs

- Scope Open in Explore link to the whole trace by @JoshuaKGoldberg in [#120066](https://github.com/getsentry/sentry/pull/120066)
- Prefetch trace item details on hover for embedded rows by @JoshuaKGoldberg in [#119752](https://github.com/getsentry/sentry/pull/119752)

#### Pr Metrics

- Stop aborted check reruns from erasing a recorded verdict by @vaind in [#120123](https://github.com/getsentry/sentry/pull/120123)
- Resolve run_id/group_id locally for Cursor attribution by @giovanni-guidini in [#119815](https://github.com/getsentry/sentry/pull/119815)

#### Preprod

- Link snapshot PR comments to /snapshots/ settings route by @mtopo27 in [#120493](https://github.com/getsentry/sentry/pull/120493)
- Escape untrusted artifact metadata in VCS Markdown by @jamieQ in [#119742](https://github.com/getsentry/sentry/pull/119742)

#### React

- Move Date.now() out of render in useReplayPageview hook by @sentry in [#120022](https://github.com/getsentry/sentry/pull/120022)
- Hoist component resolution in OverrideOrDefault by @sentry in [#120028](https://github.com/getsentry/sentry/pull/120028)

#### Replays

- Resolve complete-hook-dependencies in useReplayCurrentTime by @sentry in [#120020](https://github.com/getsentry/sentry/pull/120020)
- Use window.location.assign for video download by @sentry in [#119980](https://github.com/getsentry/sentry/pull/119980)

#### Search

- Blur query builder after Ask Seer selection by @nsdeschenes in [#120125](https://github.com/getsentry/sentry/pull/120125)
- Make ctrl/cmd+delete in search delete to the cursor by @JoshuaKGoldberg in [#120097](https://github.com/getsentry/sentry/pull/120097)
- Prevent Ask Seer overflow and bleed-through by @nsdeschenes in [#119900](https://github.com/getsentry/sentry/pull/119900)
- Preserve negation on quoted colon-value filters by @mrduncan in [#119789](https://github.com/getsentry/sentry/pull/119789)

#### Seer

- Anchor overview vitals tooltips to their text and show local time by @jshchnz in [#120478](https://github.com/getsentry/sentry/pull/120478)
- Skip page filter URL sync on autofix overview by @NicoHinderling in [#120415](https://github.com/getsentry/sentry/pull/120415)
- Support agent tokens in release endpoints by @gricha in [#120173](https://github.com/getsentry/sentry/pull/120173)
- Correct overview action pending and empty-state checks by @NicoHinderling in [#120397](https://github.com/getsentry/sentry/pull/120397)
- Rate-limit autofix triggers from night shift by @trevor-e in [#120347](https://github.com/getsentry/sentry/pull/120347)
- Restore issue summary generation for seat-based orgs by @Mihir-Mavalankar in [#120222](https://github.com/getsentry/sentry/pull/120222)
- Stop night shift org fan-out from sharing one trace by @trevor-e in [#119997](https://github.com/getsentry/sentry/pull/119997)
- Fix autofix prompt key and register it by @ryan953 in [#120017](https://github.com/getsentry/sentry/pull/120017)
- Strengthen timestamp embed description by @natemoo-re in [#119666](https://github.com/getsentry/sentry/pull/119666)
- Guard against undefined pullRequests in Night Shift UI by @sentry in [#119689](https://github.com/getsentry/sentry/pull/119689)
- Fix chvron direction in seer settings by @ryan953 in [#119833](https://github.com/getsentry/sentry/pull/119833)
- Format repository integration names by @sentry-junior in [#119797](https://github.com/getsentry/sentry/pull/119797)

#### Seer Billing

- Fix org contributors uniqueness constraint to use provider+hostname, not integration id by @srest2021 in [#119965](https://github.com/getsentry/sentry/pull/119965)
- Look up organization contributor by provider & hostname instead of integration id by @srest2021 in [#119354](https://github.com/getsentry/sentry/pull/119354)

#### Spans

- Sample process segment task transactions by @lvthanh03 in [#120207](https://github.com/getsentry/sentry/pull/120207)
- Do not propagate traces for process segments task by @lvthanh03 in [#120203](https://github.com/getsentry/sentry/pull/120203)
- Handle missing span descriptions in MN + 1 detector by @lobsterkatie in [#119887](https://github.com/getsentry/sentry/pull/119887)
- Query gen AI reasoning level attribute by @constantinius in [#119719](https://github.com/getsentry/sentry/pull/119719)

#### Trace

- Make span details replay preview independent of transactions by @mjq in [#120365](https://github.com/getsentry/sentry/pull/120365)
- Avoid unnecessary trace metadata fallback by @nsdeschenes in [#119922](https://github.com/getsentry/sentry/pull/119922)

#### Traces

- Remove border around project icons in trace header by @priscilawebdev in [#120310](https://github.com/getsentry/sentry/pull/120310)
- Use spans JSON endpoint for transaction deprecation orgs by @nikkikapadia in [#119963](https://github.com/getsentry/sentry/pull/119963)
- Preserve logs when trace metadata fails by @nsdeschenes in [#120098](https://github.com/getsentry/sentry/pull/120098)

#### Ui

- Show gen AI reasoning level attribute by @constantinius in [#119720](https://github.com/getsentry/sentry/pull/119720)
- Surface backend form submission errors by @sentry-junior in [#119739](https://github.com/getsentry/sentry/pull/119739)

#### View Hierarchy

- Handle null hierarchy from failed JSON parsing by @priscilawebdev in [#120178](https://github.com/getsentry/sentry/pull/120178)
- Make windows optional in ViewHierarchyData type by @priscilawebdev in [#120177](https://github.com/getsentry/sentry/pull/120177)
- Handle missing 'windows' property in ViewHierarchyData by @sentry in [#120006](https://github.com/getsentry/sentry/pull/120006)

#### Weekly Report

- Extend format_duration_ms to include larger values by @amy-chen23 in [#120468](https://github.com/getsentry/sentry/pull/120468)
- Prevent populating cache on admin runs by @amy-chen23 in [#119681](https://github.com/getsentry/sentry/pull/119681)

#### Weekly Reports

- Reduce key error issues chunk size from 100 to 25 by @amy-chen23 in [#120087](https://github.com/getsentry/sentry/pull/120087)
- Simplify outcomes query by removing redundant groupby by @amy-chen23 in [#120089](https://github.com/getsentry/sentry/pull/120089)
- Eliminate expensive JOIN in issue summaries query by @amy-chen23 in [#120088](https://github.com/getsentry/sentry/pull/120088)

#### Other

- (action log) Migrate GroupActionLogEntry date_updated to have a default value of now() by @ceorourke in [#119791](https://github.com/getsentry/sentry/pull/119791)
- (agent-monitoring) Remove Truncated label from repaired JSON output by @ArthurKnaus in [#120445](https://github.com/getsentry/sentry/pull/120445)
- (api) Scope trace item context PUT endpoints to event:write, not org:write by @DominikB2014 in [#120215](https://github.com/getsentry/sentry/pull/120215)
- (ask-seer) Remove duplicate header styles by @nsdeschenes in [#120236](https://github.com/getsentry/sentry/pull/120236)
- (attachments) Preserve screenshot aspect ratio on resize by @JoshuaMoelans in [#117194](https://github.com/getsentry/sentry/pull/117194)
- (auth) Add debug logging by @nora-shap in [#120279](https://github.com/getsentry/sentry/pull/120279)
- (coding-conventions) Move OverrideOrDefault component definition to module scope in AccountClose by @sentry in [#120027](https://github.com/getsentry/sentry/pull/120027)
- (crons) Move OnboardingPanelHook to module scope to satisfy static-component-definitions by @sentry in [#120018](https://github.com/getsentry/sentry/pull/120018)
- (data-scrubbing) Prevent TypeError when relayPiiConfig is missing by @sentry in [#119897](https://github.com/getsentry/sentry/pull/119897)
- (db) Removes unpickling logic from GZippedDictField by @GabeVillalobos in [#119770](https://github.com/getsentry/sentry/pull/119770)
- (derived data) Log when the project-level task has nothing to do by @kcons in [#119785](https://github.com/getsentry/sentry/pull/119785)
- (devserver) Wait for Rspack shutdown on interrupt by @jamieQ in [#119942](https://github.com/getsentry/sentry/pull/119942)
- (difs) Jitter Objectstore multipart part upload retries by @lcian in [#120188](https://github.com/getsentry/sentry/pull/120188)
- (hybridcloud) Honor skip-on-failure in parallel webhook drains by @joseph-sentry in [#119934](https://github.com/getsentry/sentry/pull/119934)
- (inbound-filters) Rename custom filters tab URL segment by @shellmayr in [#119812](https://github.com/getsentry/sentry/pull/119812)
- (inc-2344) Route replay bulk delete job to long pool by @nikkikapadia in [#120353](https://github.com/getsentry/sentry/pull/120353)
- (issue-activity) Hide some duplicative pull request activity from the UI by @malwilley in [#120387](https://github.com/getsentry/sentry/pull/120387)
- (issue-details) Handle null localStorage in getFoldSectionKey by @sentry in [#120281](https://github.com/getsentry/sentry/pull/120281)
- (issue-progress) Treat escalating issues as open by @malwilley in [#120259](https://github.com/getsentry/sentry/pull/120259)
- (issue-search) Run native progress path when date_to is now by @roggenkemper in [#119923](https://github.com/getsentry/sentry/pull/119923)
- (js) Don't attach security token to wildcard origins by @loewenheim in [#120182](https://github.com/getsentry/sentry/pull/120182)
- (msteams) Support single-tenant Azure Bots via new msteams.tenant-id option by @futureweb in [#119389](https://github.com/getsentry/sentry/pull/119389)
- (nav) Highlight Explore for preprod pages by @mtopo27 in [#119544](https://github.com/getsentry/sentry/pull/119544)
- (night-shift) Exclude rage clicks and scale re-ranking pool in agentic triage by @Mihir-Mavalankar in [#120252](https://github.com/getsentry/sentry/pull/120252)
- (nightshift) Fix all skips by @chromy in [#119896](https://github.com/getsentry/sentry/pull/119896)
- (options) Stop truncating option values in WebhookPresenter by @joshuarli in [#120371](https://github.com/getsentry/sentry/pull/120371)
- (profiling) Use correct proguard uuid for android sample v2 chunks by @markushi in [#120429](https://github.com/getsentry/sentry/pull/120429)
- (project-creation) Stop the SCM alert section bouncing on option switch by @jaydgoss in [#119749](https://github.com/getsentry/sentry/pull/119749)
- (projectconfig_cache) Disable transactions for deletes by @sentry-junior in [#119817](https://github.com/getsentry/sentry/pull/119817)
- (release-thresholds) Apply the status endpoint's release prefetches by @cvxluo in [#120094](https://github.com/getsentry/sentry/pull/120094)
- (request-error) Restore prototype chain for RequestError subclassing by @sentry in [#119894](https://github.com/getsentry/sentry/pull/119894)
- (routing) Move legacy event redirect into `OrganizationContext` tree by @shashjar in [#120132](https://github.com/getsentry/sentry/pull/120132)
- (scraps) Fix responsive display flex & grid emit by @TkDodo in [#120326](https://github.com/getsentry/sentry/pull/120326)
- (sdkcd) Attribute hybrid crashes to top-level SDK versions by @sentry-junior in [#119590](https://github.com/getsentry/sentry/pull/119590)
- (sentry apps) Add user to rpc calls by @Christinarlong in [#120268](https://github.com/getsentry/sentry/pull/120268)
- (settings) Fill organization in MCP URLs by @sentry-junior in [#120110](https://github.com/getsentry/sentry/pull/120110)
- (source-maps) Fall back to JavaScript docs by @sentry-junior in [#120101](https://github.com/getsentry/sentry/pull/120101)
- (stats) Hide `no_parent_span` client outcome by @Lms24 in [#120302](https://github.com/getsentry/sentry/pull/120302)
- (stories) Wrap stories in their own TrackingContextProvider by @TkDodo in [#120190](https://github.com/getsentry/sentry/pull/120190)
- (structuredEventData) Remove inline Wrapper component in RecursiveStructuredData by @sentry in [#120038](https://github.com/getsentry/sentry/pull/120038)
- (symbolication) Attach original event ID to SDK scope by @coyaSONG in [#119779](https://github.com/getsentry/sentry/pull/119779)
- (tooltip) Prevent TypeError when value is undefined in chart tooltip by @sentry in [#119609](https://github.com/getsentry/sentry/pull/119609)
- (trace-details) Prevent RangeError from invalid timestamp query param by @sentry in [#119981](https://github.com/getsentry/sentry/pull/119981)
- (trace-items) Align metrics context to the attributes `details` shape by @DominikB2014 in [#120344](https://github.com/getsentry/sentry/pull/120344)
- (tracemetrics) Allow equations in validation endpoint by @narsaynorath in [#119747](https://github.com/getsentry/sentry/pull/119747)
- Use TopBar.Slot instead of manual h1 heading by @TkDodo in [#120055](https://github.com/getsentry/sentry/pull/120055)
- Revert "ref(feedback): emit metric instead of outcome for ingest denylist (#97970)" by @aliu39 in [#119793](https://github.com/getsentry/sentry/pull/119793)

### Documentation 📚

- (seer) Add embeds story w/ examples by @natemoo-re in [#120108](https://github.com/getsentry/sentry/pull/120108)

### Internal Changes 🔧

#### Api

- Correct release threshold response types by @cvxluo in [#119925](https://github.com/getsentry/sentry/pull/119925)
- Type org member user as always present and nullable by @cvxluo in [#119867](https://github.com/getsentry/sentry/pull/119867)
- Rename trace item stats symbols and response key by @cvxluo in [#117055](https://github.com/getsentry/sentry/pull/117055)

#### Billing

- Add trace_log_sample_rate to service_method decorator by @volokluev in [#119839](https://github.com/getsentry/sentry/pull/119839)
- Bump sentry-protos to 0.45.0 by @skonves in [#119773](https://github.com/getsentry/sentry/pull/119773)

#### Control

- Pending deletion for dead OrganizationMemberTeamReplica table by @strongs in [#120165](https://github.com/getsentry/sentry/pull/120165)
- Remove control callees for OrganizationMemberTeam replication by @strongs in [#120161](https://github.com/getsentry/sentry/pull/120161)
- Stop regions from replicating OrganizationMemberTeam by @strongs in [#120156](https://github.com/getsentry/sentry/pull/120156)
- Remove last/test-only reader of OrganizationMemberTeamReplica by @strongs in [#120155](https://github.com/getsentry/sentry/pull/120155)
- Actually drop the dead TeamReplica table by @strongs in [#119654](https://github.com/getsentry/sentry/pull/119654)
- Pending deletion for dead TeamReplica table by @strongs in [#119651](https://github.com/getsentry/sentry/pull/119651)

#### Conversations

- Drop New suffix from redesigned components by @ArthurKnaus in [#120439](https://github.com/getsentry/sentry/pull/120439)
- Remove redesign feature flag and old components by @ArthurKnaus in [#120434](https://github.com/getsentry/sentry/pull/120434)
- Use scraps UserMessage in UserMessageBlock by @priscilawebdev in [#120301](https://github.com/getsentry/sentry/pull/120301)

#### Dashboards

- Remove `data-browsing-heat-map-widget` flag declaration by @gggritso in [#119913](https://github.com/getsentry/sentry/pull/119913)
- Remove `data-browsing-heat-map-widget` flag usage by @gggritso in [#119855](https://github.com/getsentry/sentry/pull/119855)
- Remove `data-browsing-heat-map-widget` backend flag usage by @gggritso in [#119854](https://github.com/getsentry/sentry/pull/119854)
- Unregister visibility-dashboards-async-queue flag by @cvxluo in [#119674](https://github.com/getsentry/sentry/pull/119674)
- Graduate visibility-dashboards-async-queue flag by @cvxluo in [#119673](https://github.com/getsentry/sentry/pull/119673)

#### Deps

- Bump the sentry-dependencies group across 1 directory with 4 updates by @dependabot in [#120090](https://github.com/getsentry/sentry/pull/120090)
- Bump sentry-protos to 0.46.0 by @shellmayr in [#120322](https://github.com/getsentry/sentry/pull/120322)
- Bump vroomrs to 0.1.23 by @markushi in [#120305](https://github.com/getsentry/sentry/pull/120305)
- Move to proper pnpm monorepo by @natemoo-re in [#120117](https://github.com/getsentry/sentry/pull/120117)
- Bump type-fest from 5.2.0 to 5.8.0 by @dependabot in [#119577](https://github.com/getsentry/sentry/pull/119577)
- Bump yaml from 2.8.3 to 2.9.0 by @dependabot in [#119958](https://github.com/getsentry/sentry/pull/119958)
- Bump the sentry-dependencies group across 1 directory with 5 updates by @dependabot in [#119956](https://github.com/getsentry/sentry/pull/119956)
- Update Dependabot groups by @scttcper in [#119950](https://github.com/getsentry/sentry/pull/119950)

#### Detectors

- Use logging helper in HTTP overhead detector by @lobsterkatie in [#120261](https://github.com/getsentry/sentry/pull/120261)
- Refactor `get_span_evidence_value` and strip whitespace by @lobsterkatie in [#120121](https://github.com/getsentry/sentry/pull/120121)
- Always denote no span ids with an empty list by @lobsterkatie in [#119866](https://github.com/getsentry/sentry/pull/119866)

#### Dynamic Sampling

- Remove unused small transactions option by @shellmayr in [#120330](https://github.com/getsentry/sentry/pull/120330)
- Remove dead small-transactions pass from tx boosting by @shellmayr in [#120195](https://github.com/getsentry/sentry/pull/120195)
- Skip orgs without active projects in per-org scheduler by @shellmayr in [#119889](https://github.com/getsentry/sentry/pull/119889)
- Stop double-capturing per-org task errors by @shellmayr in [#119906](https://github.com/getsentry/sentry/pull/119906)
- Add xfail test for per-org tx volume query starvation by @shellmayr in [#119915](https://github.com/getsentry/sentry/pull/119915)
- Move blended-100% gate out of the comparison path by @shellmayr in [#119723](https://github.com/getsentry/sentry/pull/119723)

#### Eslint

- No-unnecessary-condition for alert by @TkDodo in [#120197](https://github.com/getsentry/sentry/pull/120197)
- Skip irrelevant files in default export rule by @scttcper in [#120210](https://github.com/getsentry/sentry/pull/120210)

#### Explore

- Clean up now-unused code for direct exports (as opposed to modals) by @JoshuaKGoldberg in [#120139](https://github.com/getsentry/sentry/pull/120139)
- Re-balance heat map chunk loading by @gggritso in [#119748](https://github.com/getsentry/sentry/pull/119748)

#### Forms

- Migrate admin user edit off JsonForm to scraps form by @priscilawebdev in [#119183](https://github.com/getsentry/sentry/pull/119183)
- Migrate organization join request off deprecatedforms to scraps form by @priscilawebdev in [#119194](https://github.com/getsentry/sentry/pull/119194)
- Migrate accept project transfer off deprecatedforms to scraps form by @priscilawebdev in [#119193](https://github.com/getsentry/sentry/pull/119193)
- Migrate create issue view modal off deprecatedforms to scraps form by @priscilawebdev in [#119190](https://github.com/getsentry/sentry/pull/119190)
- Migrate rename issue view modal off deprecatedforms to scraps form by @priscilawebdev in [#119189](https://github.com/getsentry/sentry/pull/119189)
- Migrate project Seer settings off JsonForm to scraps form by @priscilawebdev in [#119185](https://github.com/getsentry/sentry/pull/119185)

#### Gal

- Clean up 100%-open rollout option by @thetruecpaul in [#119871](https://github.com/getsentry/sentry/pull/119871)
- Use composite (datetime, id) cursor for project backfill by @yuvmen in [#119744](https://github.com/getsentry/sentry/pull/119744)

#### Gdd

- Remove group_id from \_process_batch by @kcons in [#120232](https://github.com/getsentry/sentry/pull/120232)
- Add \_drain_log helper by @kcons in [#120164](https://github.com/getsentry/sentry/pull/120164)

#### Issues

- Make preview priority and assignee icon-only by @roggenkemper in [#120462](https://github.com/getsentry/sentry/pull/120462)
- Remove awaiting input page by @malwilley in [#120476](https://github.com/getsentry/sentry/pull/120476)
- Remove Details and Events tabs from issue preview by @roggenkemper in [#120448](https://github.com/getsentry/sentry/pull/120448)
- Remove activity-based issue progress derivation by @malwilley in [#120350](https://github.com/getsentry/sentry/pull/120350)
- Drop the merge-unmerge max-group-times-seen option by @cvxluo in [#120273](https://github.com/getsentry/sentry/pull/120273)
- Remove virtual auto-resolve UI by @scttcper in [#120154](https://github.com/getsentry/sentry/pull/120154)
- Remove dead group module by @mrduncan in [#119767](https://github.com/getsentry/sentry/pull/119767)

#### O11y

- Bump `sentry-sdk` to 2.66.1 by @alexander-alderman-webb in [#120329](https://github.com/getsentry/sentry/pull/120329)
- Modify `sample_rate` header in `MultiplexingTransport` by @alexander-alderman-webb in [#120306](https://github.com/getsentry/sentry/pull/120306)

#### Ourlogs

- Remove ourlogs-pinning feature flag (backend) by @JoshuaKGoldberg in [#120064](https://github.com/getsentry/sentry/pull/120064)
- Remove ourlogs-pinning feature flag (frontend) by @JoshuaKGoldberg in [#120063](https://github.com/getsentry/sentry/pull/120063)

#### Scm Project Creation Flow

- Fixing flaky test by @Abdkhan14 in [#119745](https://github.com/getsentry/sentry/pull/119745)
- Centralizing and using disabled sub… by @Abdkhan14 in [#119420](https://github.com/getsentry/sentry/pull/119420)

#### Scraps

- Rename UserBubble to UserMessage and add width prop by @priscilawebdev in [#120300](https://github.com/getsentry/sentry/pull/120300)
- Add chat primitives (MessageRow, AssistantMessage, MessageActions) by @priscilawebdev in [#120052](https://github.com/getsentry/sentry/pull/120052)
- Add dedicated container query breakpoint tokens by @priscilawebdev in [#119804](https://github.com/getsentry/sentry/pull/119804)
- Rename ProjectsSavedBadge to ProjectsBadge by @TkDodo in [#120187](https://github.com/getsentry/sentry/pull/120187)
- Stabilize InfoText overflow handling by @TkDodo in [#119904](https://github.com/getsentry/sentry/pull/119904)
- Improve InfoText overflow handling by @TkDodo in [#119892](https://github.com/getsentry/sentry/pull/119892)

#### Search

- Share Ask Seer combobox implementation by @nsdeschenes in [#120346](https://github.com/getsentry/sentry/pull/120346)
- Match Ask Seer option hover color by @nsdeschenes in [#120216](https://github.com/getsentry/sentry/pull/120216)

#### Seer

- Remove verbose debug_log instrumentation from GitLab webhooks by @billyvg in [#118192](https://github.com/getsentry/sentry/pull/118192)
- Move bash mode enablement to SeerAgentClient construction by @Zylphrex in [#120225](https://github.com/getsentry/sentry/pull/120225)
- Register autofix-rca-in-seer feature by @rbro112 in [#120104](https://github.com/getsentry/sentry/pull/120104)
- Remove post_process_fixability autofix for seat based orgs by @chromy in [#119811](https://github.com/getsentry/sentry/pull/119811)

#### Sentry Apps

- Clean up sentry app form by @cvxluo in [#120217](https://github.com/getsentry/sentry/pull/120217)
- Extract the sentry app form fields by @cvxluo in [#120471](https://github.com/getsentry/sentry/pull/120471)
- Stop capturing external-request errors from the issue form by @priscilawebdev in [#119891](https://github.com/getsentry/sentry/pull/119891)

#### Spans

- Add `default` parameter to `attribute_value` helper by @lobsterkatie in [#119870](https://github.com/getsentry/sentry/pull/119870)
- Log full problem objects on span-first detector mismatch by @lobsterkatie in [#119137](https://github.com/getsentry/sentry/pull/119137)

#### Taskbroker

- Update taskbroker-client to 0.20.13 by @evanh in [#120489](https://github.com/getsentry/sentry/pull/120489)
- Add raw-named namespaces for profiles/events ingest tasks by @untitaker in [#120079](https://github.com/getsentry/sentry/pull/120079)

#### Ui

- Make TypeScript checker opt in by @scttcper in [#120474](https://github.com/getsentry/sentry/pull/120474)
- Keep Story discovery out of app HMR rebuilds by @scttcper in [#119885](https://github.com/getsentry/sentry/pull/119885)
- Upgrade gettext-parser to v9, add local loader by @scttcper in [#119848](https://github.com/getsentry/sentry/pull/119848)
- Remove unused Node polyfill `buffer` by @scttcper in [#119835](https://github.com/getsentry/sentry/pull/119835)
- Remove process browser polyfill by @scttcper in [#119828](https://github.com/getsentry/sentry/pull/119828)

#### Weekly Report

- Batch issue summaries query to avoid statement timeout by @amy-chen23 in [#120297](https://github.com/getsentry/sentry/pull/120297)
- Rename weekly report functions by @amy-chen23 in [#119841](https://github.com/getsentry/sentry/pull/119841)
- Include error issues in "Resolved Last Week" by @amy-chen23 in [#119437](https://github.com/getsentry/sentry/pull/119437)

#### Weekly Reports

- Remove weekly-report-project-exclusions backend flag by @amy-chen23 in [#119852](https://github.com/getsentry/sentry/pull/119852)
- Remove weekly-report-project-exclusions frontend flag check by @amy-chen23 in [#119851](https://github.com/getsentry/sentry/pull/119851)
- Update admin page for sending weekly reports by @amy-chen23 in [#119746](https://github.com/getsentry/sentry/pull/119746)

#### Workflow Engine

- Update results for detectors to use the DetectorEvaluation class by @saponifi3d in [#119998](https://github.com/getsentry/sentry/pull/119998)
- Remove resolution rollout option usage by @leeandher in [#120247](https://github.com/getsentry/sentry/pull/120247)
- Update the workflow_engine/evaluations for Detector / Workflow Evals by @saponifi3d in [#119967](https://github.com/getsentry/sentry/pull/119967)
- Refactor `ProcessedDataConditionGroup` as `DataConditionGroupEvaluation` by @saponifi3d in [#119434](https://github.com/getsentry/sentry/pull/119434)

#### Other

- (acceptance) Cover SCM project creation flow by @jaydgoss in [#120364](https://github.com/getsentry/sentry/pull/120364)
- (action_log) More efficient new GroupActionLogEntry entry querying by @kcons in [#119879](https://github.com/getsentry/sentry/pull/119879)
- (activity) Rename `set_resolved` module to `status_change` by @leeandher in [#119847](https://github.com/getsentry/sentry/pull/119847)
- (activity-alerts) Remove `_id` params from notification data by @leeandher in [#119553](https://github.com/getsentry/sentry/pull/119553)
- (apigw) Disable static files serving by @gi0baro in [#120340](https://github.com/getsentry/sentry/pull/120340)
- (auth) Index case-insensitive user lookups by @lcian in [#119901](https://github.com/getsentry/sentry/pull/119901)
- (autofix) Refine overview section layout by @NicoHinderling in [#120417](https://github.com/getsentry/sentry/pull/120417)
- (billing-platform) Bump sentry-protos 0.45.1 by @brendanhsentry in [#119927](https://github.com/getsentry/sentry/pull/119927)
- (chat) Adopt MessageRow primitive and add density in AI chat blocks by @priscilawebdev in [#120427](https://github.com/getsentry/sentry/pull/120427)
- (codeowners) Assign ai_monitoring to telemetry-experience by @vgrozdanic in [#120312](https://github.com/getsentry/sentry/pull/120312)
- (derived) Move framework-only tests into their own file by @kcons in [#120277](https://github.com/getsentry/sentry/pull/120277)
- (devenv) Split sentry-specific taskbroker back out from the generic one by @untitaker in [#119898](https://github.com/getsentry/sentry/pull/119898)
- (difs) Use simple Objectstore put under 128 MiB by @lcian in [#120311](https://github.com/getsentry/sentry/pull/120311)
- (external-mcp) Rename datadog integration by @wedamija in [#120137](https://github.com/getsentry/sentry/pull/120137)
- (github) Always enable webhook mailbox bucketing by @joseph-sentry in [#119948](https://github.com/getsentry/sentry/pull/119948)
- (issue-workflow) Remove option registration by @leeandher in [#120248](https://github.com/getsentry/sentry/pull/120248)
- (jest) Mock root ECharts imports by @scttcper in [#120049](https://github.com/getsentry/sentry/pull/120049)
- (llm-proxy) Remove unused JWT minting endpoint by @sehr-m in [#119875](https://github.com/getsentry/sentry/pull/119875)
- (metrics) Add a metric for legacy debug file reads by @jan-auer in [#120446](https://github.com/getsentry/sentry/pull/120446)
- (mypy) Ignore transient mypy worker files by @leeandher in [#119765](https://github.com/getsentry/sentry/pull/119765)
- (native) Remove compatibility code by @jjbayer in [#119822](https://github.com/getsentry/sentry/pull/119822)
- (objectstore) Use JWT auth for presigned download URLs by @lcian in [#119814](https://github.com/getsentry/sentry/pull/119814)
- (pr-metrics) Gate the activity document on an org feature flag by @vaind in [#120071](https://github.com/getsentry/sentry/pull/120071)
- (preprod) Extract shared size evaluation core by @mtopo27 in [#119428](https://github.com/getsentry/sentry/pull/119428)
- (project-creation) Replace SCM experiment gate by @jaydgoss in [#120351](https://github.com/getsentry/sentry/pull/120351)
- (refactor-tasks) Drop repo.yaml, update README, add scan workflow by @ryan953 in [#119864](https://github.com/getsentry/sentry/pull/119864)
- (release-health) Pre-cache organization in \_handle_release_adoption by @shellmayr in [#120174](https://github.com/getsentry/sentry/pull/120174)
- (replays) Uncomment archived replay test by @mjq in [#119309](https://github.com/getsentry/sentry/pull/119309)
- (scm) Upgrade sentry-scm to 1.1.0 by @sentry-junior in [#119908](https://github.com/getsentry/sentry/pull/119908)
- (seer-activity) Remove the lonely button by @leeandher in [#119762](https://github.com/getsentry/sentry/pull/119762)
- (seer-alerts) Remove *_started options (again) by @leeandher in [#120369](https://github.com/getsentry/sentry/pull/120369)
- (seer-infra-telemetry) Set up temporary code to provide Seer with GCP integration internally… by @shashjar in [#120106](https://github.com/getsentry/sentry/pull/120106)
- (seerExplorerHeader) Switch to built-in container queries by @TkDodo in [#120338](https://github.com/getsentry/sentry/pull/120338)
- (sentry apps) Silence inner value error but retry by @Christinarlong in [#120280](https://github.com/getsentry/sentry/pull/120280)
- (slack) Increase nudge frequency to 30% and remove weekly limit by @alexsohn1126 in [#119926](https://github.com/getsentry/sentry/pull/119926)
- (span-buffer) Reduce Lua memory allocation pressure and function call overhead by @cmanallen in [#119542](https://github.com/getsentry/sentry/pull/119542)
- (tests) Add types to most {}-typed fixture params by @JoshuaKGoldberg in [#119912](https://github.com/getsentry/sentry/pull/119912)
- (trace) Add feature flag for new trace view version banner by @mjq in [#120460](https://github.com/getsentry/sentry/pull/120460)
- (trace-items) Always store metric context at org level by @DominikB2014 in [#119757](https://github.com/getsentry/sentry/pull/119757)
- (tracemetrics) Remove equation label const function call by @narsaynorath in [#120399](https://github.com/getsentry/sentry/pull/120399)
- (traces) Migrate trace header and vitals media queries to container queries by @priscilawebdev in [#120315](https://github.com/getsentry/sentry/pull/120315)
- (txn-summary) Move event view creation to point of use by @mjq in [#119676](https://github.com/getsentry/sentry/pull/119676)
- (waterfall) Improve streamed span detection logic by @Lms24 in [#119602](https://github.com/getsentry/sentry/pull/119602)
- Bump sentry-protos 0.50.1 by @brendanhsentry in [#120497](https://github.com/getsentry/sentry/pull/120497)
- Remove member limit forced trial and modals by @noahsmartin in [#120457](https://github.com/getsentry/sentry/pull/120457)
- Remove slack forced trial by @noahsmartin in [#120423](https://github.com/getsentry/sentry/pull/120423)
- Bump protos by @noahsmartin in [#120396](https://github.com/getsentry/sentry/pull/120396)
- Bump sentry-protos 0.49.0 by @brendanhsentry in [#120377](https://github.com/getsentry/sentry/pull/120377)
- Remove now-unused organizations:explore-modal-export feature flag by @JoshuaKGoldberg in [#120140](https://github.com/getsentry/sentry/pull/120140)
- Move noUnresolvedIssues to scraps primitives by @TkDodo in [#120339](https://github.com/getsentry/sentry/pull/120339)
- Remove unused Seer RPC record_pr_attribution function by @giovanni-guidini in [#120058](https://github.com/getsentry/sentry/pull/120058)
- Remove fly.io modal by @noahsmartin in [#120162](https://github.com/getsentry/sentry/pull/120162)
- Bump sentry-scm to 1.2.0 by @getsentry-bot in [#120070](https://github.com/getsentry/sentry/pull/120070)
- Improve efficiency of username_is_available logic by @markstory in [#119964](https://github.com/getsentry/sentry/pull/119964)
- Exclude API URL codegen from frontend/backend warning by @jamieQ in [#118795](https://github.com/getsentry/sentry/pull/118795)
- Bump sentry-sdk[http2] to 2.66.0 by @cleptric in [#119820](https://github.com/getsentry/sentry/pull/119820)
- Bump sentry-kafka-schemas to 2.2.0 by @getsentry-bot in [#119763](https://github.com/getsentry/sentry/pull/119763)
- Bump new development version by @sentry-release-bot[bot] in [99d5faf7](https://github.com/getsentry/sentry/commit/99d5faf77c263d8a586d09c5171f0b5be392dad6)

### Other

- Ensure SAML assertions called with valid fields by @michelletran-sentry in [#120467](https://github.com/getsentry/sentry/pull/120467)
- Added: Tokens 'container' in 'size.tsx' by @Jesse-Box in [#120069](https://github.com/getsentry/sentry/pull/120069)
- deps(api-docs): Replace js-yaml with yaml by @scttcper in [#120107](https://github.com/getsentry/sentry/pull/120107)
- deps(ui): Remove webpack dependency by @scttcper in [#120095](https://github.com/getsentry/sentry/pull/120095)
- deps(ui): Upgrade Sentry Jest environment to v7 by @scttcper in [#120083](https://github.com/getsentry/sentry/pull/120083)
- ref(outbox) Move user outboxes to async by @markstory in [#119018](https://github.com/getsentry/sentry/pull/119018)
- fix(relocation) Avoid integrity errors on self-hosted import pt2 by @markstory in [#119859](https://github.com/getsentry/sentry/pull/119859)
- chore(relocation) Capture errors during relocations by @markstory in [#119832](https://github.com/getsentry/sentry/pull/119832)
- deps(ui): Upgrade jest-fetch-mock to 4.2.0 by @scttcper in [#119799](https://github.com/getsentry/sentry/pull/119799)
- Enhance SplitPanel documentation with usage guidelines by @ChrisandraVaz in [#119555](https://github.com/getsentry/sentry/pull/119555)
- debug(code-review): add sentry-org webhook handler instrumentation by @joseph-sentry in [#119781](https://github.com/getsentry/sentry/pull/119781)
- Add issue status reconciliation on group details view by @ceorourke in [#119769](https://github.com/getsentry/sentry/pull/119769)

26.7.0
------

### New Features ✨

#### Action Log

- Efficient project bulk GroupDerivedData generation task by @kcons in [#119664](https://github.com/getsentry/sentry/pull/119664)
- Feat(action_log): More GroupAction-based aggregators by @kcons in [#119551](https://github.com/getsentry/sentry/pull/119551)
- Track pull request lifecycle activities by @malwilley in [#119523](https://github.com/getsentry/sentry/pull/119523)
- Make OrganizationGroupIndexProgressEndpoint optionally use GroupDerivedData.progress by @kcons in [#119165](https://github.com/getsentry/sentry/pull/119165)
- Ensure we have GroupActions for all type enums by @kcons in [#119535](https://github.com/getsentry/sentry/pull/119535)
- Property for typed action data by @kcons in [#119442](https://github.com/getsentry/sentry/pull/119442)
- Add ReconcileStatusAction action by @kcons in [#119128](https://github.com/getsentry/sentry/pull/119128)
- Add backfill_group_activities by @kcons in [#119162](https://github.com/getsentry/sentry/pull/119162)
- Outbox-based GroupActionLogEntry management by @kcons in [#117836](https://github.com/getsentry/sentry/pull/117836)

#### Admin

- Flag when a user belongs to orgs in other regions by @rahulchhabria in [#118112](https://github.com/getsentry/sentry/pull/118112)
- Probe other regions when org search lacks an exact slug match by @rahulchhabria in [#118064](https://github.com/getsentry/sentry/pull/118064)
- Indicate when a customer exists in another data region by @rahulchhabria in [#117619](https://github.com/getsentry/sentry/pull/117619)

#### Agent Monitoring

- Drop redundant stream_gen_ai_spans from Python onboarding by @obostjancic in [#118714](https://github.com/getsentry/sentry/pull/118714)
- Drop redundant streamGenAiSpans from JS onboarding by @obostjancic in [#118654](https://github.com/getsentry/sentry/pull/118654)
- Add setUser step to Conversations onboarding by @obostjancic in [#118441](https://github.com/getsentry/sentry/pull/118441)
- Render placeholder for empty AI text parts by @obostjancic in [#118235](https://github.com/getsentry/sentry/pull/118235)
- Improve conversation detail message rendering by @obostjancic in [#118236](https://github.com/getsentry/sentry/pull/118236)

#### Agents

- Preview multiple tool-call arguments by @matejminar in [#119107](https://github.com/getsentry/sentry/pull/119107)
- Promote reasoning effort in span details UI by @matejminar in [#118144](https://github.com/getsentry/sentry/pull/118144)

#### Ai

- Unify XML tag collapsing across chat and span details by @ArthurKnaus in [#119201](https://github.com/getsentry/sentry/pull/119201)
- Return input and output tokens in conversations response by @obostjancic in [#118341](https://github.com/getsentry/sentry/pull/118341)

#### Ai Conversations

- Add traces link to redesigned conversation header by @priscilawebdev in [#118718](https://github.com/getsentry/sentry/pull/118718)
- Add redesigned conversation detail header by @priscilawebdev in [#118682](https://github.com/getsentry/sentry/pull/118682)
- Render linked issues in conversation span details by @obostjancic in [#118555](https://github.com/getsentry/sentry/pull/118555)
- Link issues in AI conversation span details by @obostjancic in [#118550](https://github.com/getsentry/sentry/pull/118550)
- Register gen-ai-conversations-columns flag by @obostjancic in [#118008](https://github.com/getsentry/sentry/pull/118008)

#### Api

- Advertise required scopes on token-scope 403s (RFC 6750) by @gricha in [#118612](https://github.com/getsentry/sentry/pull/118612)
- Add response schemas to private events and notes endpoints by @azulus in [#118518](https://github.com/getsentry/sentry/pull/118518)
- Add COMMUNITY ApiOwner for endpoints from disbanded teams by @vgrozdanic in [#118336](https://github.com/getsentry/sentry/pull/118336)
- Document issue/release/team params; mark legacy endpoints deprecated by @gricha in [#117874](https://github.com/getsentry/sentry/pull/117874)
- Document accepted query params on issue & release list endpoints by @gricha in [#117843](https://github.com/getsentry/sentry/pull/117843)

#### Auth

- Add "Verify your email" pending page by @nora-shap in [#119160](https://github.com/getsentry/sentry/pull/119160)
- Add PendingUser model and cleanup task by @nora-shap in [#118532](https://github.com/getsentry/sentry/pull/118532)
- Add signup email verification endpoint by @nora-shap in [#117952](https://github.com/getsentry/sentry/pull/117952)
- Add signup email verification utility by @nora-shap in [#117591](https://github.com/getsentry/sentry/pull/117591)

#### Autofix

- Render unknown PR iteration feedback sources by @joseph-sentry in [#119667](https://github.com/getsentry/sentry/pull/119667)
- Type PR iteration feedback sources and prefer ui_text by @joseph-sentry in [#119627](https://github.com/getsentry/sentry/pull/119627)
- Add header to autofix slack response sections by @Zylphrex in [#119563](https://github.com/getsentry/sentry/pull/119563)
- Add optional user param to trigger_autofix_agent by @Zylphrex in [#119446](https://github.com/getsentry/sentry/pull/119446)
- Enable CONFIGURATION issues as Autofix Automation targets by @sentry-junior in [#119393](https://github.com/getsentry/sentry/pull/119393)
- Disable agent hand off for GitLab in Seer Drawer by @billyvg in [#118465](https://github.com/getsentry/sentry/pull/118465)
- Make FE changes to match github mentions by @joseph-sentry in [#118261](https://github.com/getsentry/sentry/pull/118261)
- Add Alpha badge to PR iteration feedback form by @chromy in [#118559](https://github.com/getsentry/sentry/pull/118559)
- Add issue hyperlink to coding agent handoff by @sehr-m in [#118319](https://github.com/getsentry/sentry/pull/118319)
- Add route analytics params for Seer setup state by @Zylphrex in [#118371](https://github.com/getsentry/sentry/pull/118371)
- Add analytic event for set up seer button by @Zylphrex in [#118354](https://github.com/getsentry/sentry/pull/118354)
- Enable pr_context_tools for PR iteration by @joseph-sentry in [#118149](https://github.com/getsentry/sentry/pull/118149)
- PR iteration frontend changes by @joseph-sentry in [#118049](https://github.com/getsentry/sentry/pull/118049)
- Pin base shas via prompt metadata by @joseph-sentry in [#117956](https://github.com/getsentry/sentry/pull/117956)
- Handle no write permissions in autofix by @Zylphrex in [#117937](https://github.com/getsentry/sentry/pull/117937)
- Push changes after PR iteration by @joseph-sentry in [#117918](https://github.com/getsentry/sentry/pull/117918)
- Restore result description and fix button overflow in coding agent card by @sehr-m in [#117774](https://github.com/getsentry/sentry/pull/117774)
- Add GroupAutofixRepos endpoint by @Zylphrex in [#117848](https://github.com/getsentry/sentry/pull/117848)
- Add iteration_index and pr_iteration_enabled to analytics by @joseph-sentry in [#117219](https://github.com/getsentry/sentry/pull/117219)
- Add pr_iteration endpoint step and operator activity by @joseph-sentry in [#117218](https://github.com/getsentry/sentry/pull/117218)

#### Cells

- Register synapse devservices public key in cell-routing mode static relays by @lynnagara in [#118315](https://github.com/getsentry/sentry/pull/118315)
- Set CSRF trusted origins for cell-routing mode by @lynnagara in [#118306](https://github.com/getsentry/sentry/pull/118306)
- Use :7899 instead of :7901 for relay-edge in devservices by @lynnagara in [#118308](https://github.com/getsentry/sentry/pull/118308)

#### Conversations

- Let the layout use available horizontal space by @ArthurKnaus in [#119712](https://github.com/getsentry/sentry/pull/119712)
- Redirect to detail on single conversation ID search by @ArthurKnaus in [#119616](https://github.com/getsentry/sentry/pull/119616)
- Add direct-hit redirect header for conversation ID search by @ArthurKnaus in [#119613](https://github.com/getsentry/sentry/pull/119613)
- Return tool call result on conversation spans by @ArthurKnaus in [#119508](https://github.com/getsentry/sentry/pull/119508)
- Make conversation detail resizable by @priscilawebdev in [#119199](https://github.com/getsentry/sentry/pull/119199)
- Deselect span when closing detail by @matejminar in [#119220](https://github.com/getsentry/sentry/pull/119220)
- Add dot separator to metric/duration meta by @ArthurKnaus in [#119221](https://github.com/getsentry/sentry/pull/119221)
- Polish transcript layout width and spacing by @ArthurKnaus in [#119218](https://github.com/getsentry/sentry/pull/119218)
- Drop span-detail Show More clips for scroll + role folding by @priscilawebdev in [#119186](https://github.com/getsentry/sentry/pull/119186)
- Show selected agents first in agent selector by @priscilawebdev in [#119182](https://github.com/getsentry/sentry/pull/119182)
- Indent nested collapsible XML tags by @obostjancic in [#119110](https://github.com/getsentry/sentry/pull/119110)
- Make messages selectable in the transcript view by @obostjancic in [#119094](https://github.com/getsentry/sentry/pull/119094)
- Auto-open span detail on the timeline view by @priscilawebdev in [#119049](https://github.com/getsentry/sentry/pull/119049)
- Show saved query name in breadcrumbs by @constantinius in [#118988](https://github.com/getsentry/sentry/pull/118988)
- Add conversation transcript redesign by @obostjancic in [#118898](https://github.com/getsentry/sentry/pull/118898)
- Add redesigned span detail panel by @priscilawebdev in [#118894](https://github.com/getsentry/sentry/pull/118894)
- Add saved query support for AI conversations by @constantinius in [#118727](https://github.com/getsentry/sentry/pull/118727)
- Show AI span timeline in trace drawer behind flag by @priscilawebdev in [#118892](https://github.com/getsentry/sentry/pull/118892)
- Redesign conversation timeline view by @priscilawebdev in [#118821](https://github.com/getsentry/sentry/pull/118821)
- Move project and copy ID into detail breadcrumbs by @priscilawebdev in [#118811](https://github.com/getsentry/sentry/pull/118811)
- Add input as a default table column by @priscilawebdev in [#118815](https://github.com/getsentry/sentry/pull/118815)
- Make thinking blocks searchable and copyable by @obostjancic in [#118630](https://github.com/getsentry/sentry/pull/118630)
- Add tool call breakdown hover card by @priscilawebdev in [#118554](https://github.com/getsentry/sentry/pull/118554)
- Add editable, persisted table columns by @priscilawebdev in [#118445](https://github.com/getsentry/sentry/pull/118445)
- Move LLM Calls column next to Tool Calls by @priscilawebdev in [#118433](https://github.com/getsentry/sentry/pull/118433)
- Add redesigned conversations table by @priscilawebdev in [#118428](https://github.com/getsentry/sentry/pull/118428)
- Add conversations-redesign feature flag by @priscilawebdev in [#118335](https://github.com/getsentry/sentry/pull/118335)
- Add missing input/output alert by @obostjancic in [#117680](https://github.com/getsentry/sentry/pull/117680)

#### Dashboards

- Add ordering changes to starred dashboards ordering by @adrianviquez in [#119675](https://github.com/getsentry/sentry/pull/119675)
- Chunk heat map fetches by @gggritso in [#119584](https://github.com/getsentry/sentry/pull/119584)
- Add Mobile Vitals "About this page" widget by @buenaflor in [#116366](https://github.com/getsentry/sentry/pull/116366)
- Add ability to sync prebuilt favorited dashboards by @adrianviquez in [#119575](https://github.com/getsentry/sentry/pull/119575)
- Add feature flag for starred dashboards by @adrianviquez in [#119559](https://github.com/getsentry/sentry/pull/119559)
- Put in backend validation for heat map request fields by @nikkikapadia in [#119145](https://github.com/getsentry/sentry/pull/119145)
- Disable non-distribution metrics for heat map widgets by @gggritso in [#118779](https://github.com/getsentry/sentry/pull/118779)
- Improve the heat map widget tooltip by @gggritso in [#118706](https://github.com/getsentry/sentry/pull/118706)
- Improve heat map axis tick placement by @gggritso in [#118412](https://github.com/getsentry/sentry/pull/118412)
- Improve heat map color scaling by @gggritso in [#118326](https://github.com/getsentry/sentry/pull/118326)
- Enable heat map cross-navigation by @gggritso in [#118108](https://github.com/getsentry/sentry/pull/118108)
- Re-add Heat Map widget with heat-map-only config validation by @gggritso in [#118199](https://github.com/getsentry/sentry/pull/118199)

#### Data Export

- Pass query Filter to EAP's EndpointExportTraceItem by @manessaraj in [#119410](https://github.com/getsentry/sentry/pull/119410)
- Serve small Discover and Explore exports synchronously by @JoshuaKGoldberg in [#118148](https://github.com/getsentry/sentry/pull/118148)
- Improve observability for failure emails by @sentry in [#116917](https://github.com/getsentry/sentry/pull/116917)

#### Difs

- Redirect to Objectstore for Objectstore-backed DIF downloads by @lcian in [#119392](https://github.com/getsentry/sentry/pull/119392)
- Set filename metadata on Objectstore-backed DIFs by @lcian in [#119308](https://github.com/getsentry/sentry/pull/119308)
- Add capability to write new difs to Objectstore by @lcian in [#117502](https://github.com/getsentry/sentry/pull/117502)
- Add capability to read difs from Objectstore by @lcian in [#117501](https://github.com/getsentry/sentry/pull/117501)

#### Dynamic Sampling

- Replace MOD-based org bucketing with CursoredScheduler by @constantinius in [#118920](https://github.com/getsentry/sentry/pull/118920)
- Match legacy 100% handling in per-org pipeline by @shellmayr in [#118644](https://github.com/getsentry/sentry/pull/118644)
- Add smallest-transaction factor bucket metric by @shellmayr in [#118463](https://github.com/getsentry/sentry/pull/118463)
- Add eap count sample debug metric by @constantinius in [#118437](https://github.com/getsentry/sentry/pull/118437)
- Add generic metrics volume to sliding window comparison by @constantinius in [#118224](https://github.com/getsentry/sentry/pull/118224)
- Emit last-item age debug metric for project balancing by @shellmayr in [#118130](https://github.com/getsentry/sentry/pull/118130)
- Record EAP and outcomes volume in sliding-window comparison by @shellmayr in [#118013](https://github.com/getsentry/sentry/pull/118013)
- Compare EAP vs outcomes org sliding-window rate by @shellmayr in [#117908](https://github.com/getsentry/sentry/pull/117908)
- Add per-project sample rate override for custom DS by @shellmayr in [#117796](https://github.com/getsentry/sentry/pull/117796)

#### Eap

- Surface a context brief for the project attribute by @DominikB2014 in [#119113](https://github.com/getsentry/sentry/pull/119113)
- Add OTel GenAI token usage attributes by @constantinius in [#117300](https://github.com/getsentry/sentry/pull/117300)
- Add failure_count_if formula for spans by @vgrozdanic in [#118349](https://github.com/getsentry/sentry/pull/118349)

#### Explore

- Allow pinned range bounds on heat map endpoint by @gggritso in [#119414](https://github.com/getsentry/sentry/pull/119414)
- Validate explore column editor fields by @nsdeschenes in [#118377](https://github.com/getsentry/sentry/pull/118377)
- Added data export modal to Discover and Traces by @JoshuaKGoldberg in [#117949](https://github.com/getsentry/sentry/pull/117949)
- Surface and apply Seer's cross-event queries by @manessaraj in [#118685](https://github.com/getsentry/sentry/pull/118685)
- Add drag-to-zoom for metrics heat maps in Explore by @gggritso in [#118945](https://github.com/getsentry/sentry/pull/118945)
- Show agent filter in saved queries list view by @constantinius in [#118986](https://github.com/getsentry/sentry/pull/118986)
- Add warning message for low sampled data by @adrianviquez in [#118423](https://github.com/getsentry/sentry/pull/118423)
- Add ai_conversations dataset to ExploreSavedQuery by @constantinius in [#118725](https://github.com/getsentry/sentry/pull/118725)
- Increase resolution of heat map widgets by @gggritso in [#118748](https://github.com/getsentry/sentry/pull/118748)
- Forbid selecting a heat map for non-distribution metrics by @gggritso in [#118661](https://github.com/getsentry/sentry/pull/118661)
- Register gen_ai conversation and operation attributes as search keys by @obostjancic in [#118542](https://github.com/getsentry/sentry/pull/118542)
- Unfurl Explore Heat Maps by @nikkikapadia in [#117943](https://github.com/getsentry/sentry/pull/117943)
- Consistent chart expand/collapse for Logs and Traces by @JoshuaKGoldberg in [#118174](https://github.com/getsentry/sentry/pull/118174)
- Validate spans search attributes by @nsdeschenes in [#118015](https://github.com/getsentry/sentry/pull/118015)
- Add search suggestions to trace logs view by @JoshuaKGoldberg in [#118153](https://github.com/getsentry/sentry/pull/118153)
- Add Chartcuterie config for Explore heat maps by @gggritso in [#118253](https://github.com/getsentry/sentry/pull/118253)
- Add table to store metric context by @DominikB2014 in [#117933](https://github.com/getsentry/sentry/pull/117933)
- Add sentry conventions context to trace item attributes by @DominikB2014 in [#117913](https://github.com/getsentry/sentry/pull/117913)
- Add table to store attribute and attribute context by @DominikB2014 in [#117930](https://github.com/getsentry/sentry/pull/117930)
- Add flagged schema hints removal to conversations by @JoshuaKGoldberg in [#117715](https://github.com/getsentry/sentry/pull/117715)

#### Features

- Register organizations:ui-migration-breadcrumbs flag by @Jesse-Box in [#119211](https://github.com/getsentry/sentry/pull/119211)
- Add data-browsing-attribute-context flag by @DominikB2014 in [#117839](https://github.com/getsentry/sentry/pull/117839)
- Register organizations:am3-tier permanent feature flag by @chromy in [#117805](https://github.com/getsentry/sentry/pull/117805)

#### Gal

- Add idempotency key to publish functions by @thetruecpaul in [#119534](https://github.com/getsentry/sentry/pull/119534)
- Add project-level backfill task for Activity to GroupActionLog by @yuvmen in [#119164](https://github.com/getsentry/sentry/pull/119164)
- Add reset_and_backfill task for group action log by @yuvmen in [#119355](https://github.com/getsentry/sentry/pull/119355)
- Add bulk-publish function by @thetruecpaul in [#119326](https://github.com/getsentry/sentry/pull/119326)
- Add single-group backfill task by @yuvmen in [#119248](https://github.com/getsentry/sentry/pull/119248)
- Add Activity-to-GroupAction translator by @thetruecpaul in [#117721](https://github.com/getsentry/sentry/pull/117721)

#### Gale

- Schedule processing task on invalidation by @ceorourke in [#119166](https://github.com/getsentry/sentry/pull/119166)
- Invalidate derived data on merge by @ceorourke in [#118378](https://github.com/getsentry/sentry/pull/118378)

#### Gsadmin

- Drop Unmatched stat card from invoice-comparison summary by @armcknight in [#118060](https://github.com/getsentry/sentry/pull/118060)
- Rework invoice-comparison summary + link receipt cells by @armcknight in [#117970](https://github.com/getsentry/sentry/pull/117970)

#### Icons

- Add bar antenna, sun, and pull request draft icons by @Jesse-Box in [#118995](https://github.com/getsentry/sentry/pull/118995)
- Add InProgress, InReview, and Resolved status icons by @malwilley in [#117697](https://github.com/getsentry/sentry/pull/117697)

#### Inbound Filters

- Add custom inbound filter detail endpoint by @shellmayr in [#118726](https://github.com/getsentry/sentry/pull/118726)
- Add custom inbound filters list/create endpoint by @shellmayr in [#118142](https://github.com/getsentry/sentry/pull/118142)
- Add custom inbound filter audit log event by @shellmayr in [#118141](https://github.com/getsentry/sentry/pull/118141)
- Add model for new inbound filters v2 by @shellmayr in [#116666](https://github.com/getsentry/sentry/pull/116666)
- Add v2 page skeleton by @shellmayr in [#116665](https://github.com/getsentry/sentry/pull/116665)

#### Integrations

- Type referrer on integration analytics events by @alexsohn1126 in [#118746](https://github.com/getsentry/sentry/pull/118746)
- Track referrer on auto-opened install modal by @alexsohn1126 in [#118740](https://github.com/getsentry/sentry/pull/118740)
- Send custom webhook_headers on SentryApp webhooks by @billyvg in [#117090](https://github.com/getsentry/sentry/pull/117090)
- Add `webhook_headers` field to SentryApp API by @billyvg in [#117089](https://github.com/getsentry/sentry/pull/117089)
- Add feature flag for custom webhook headers by @billyvg in [#117917](https://github.com/getsentry/sentry/pull/117917)
- Customizable install modal title and description by @alexsohn1126 in [#118286](https://github.com/getsentry/sentry/pull/118286)
- Auto-open install modal from query param by @alexsohn1126 in [#118285](https://github.com/getsentry/sentry/pull/118285)
- Default sentry-app-schema-form-migration to enabled by @priscilawebdev in [#118158](https://github.com/getsentry/sentry/pull/118158)
- Add MCP hint to the new integration type modal by @cvxluo in [#117945](https://github.com/getsentry/sentry/pull/117945)

#### Issue Details

- Add pull request closed activity type by @malwilley in [#118591](https://github.com/getsentry/sentry/pull/118591)
- Add details tab to issue preview drawer by @malwilley in [#118316](https://github.com/getsentry/sentry/pull/118316)
- Add action buttons to issue preview drawer by @malwilley in [#118074](https://github.com/getsentry/sentry/pull/118074)
- Add activity feed to issue preview drawer by @malwilley in [#118066](https://github.com/getsentry/sentry/pull/118066)
- Add issue preview drawer with header content by @malwilley in [#117961](https://github.com/getsentry/sentry/pull/117961)

#### Issue Progress

- Add frontend rendering for new PR lifecycle activities by @malwilley in [#119659](https://github.com/getsentry/sentry/pull/119659)
- Update progress on new PR lifecycle actions by @malwilley in [#119582](https://github.com/getsentry/sentry/pull/119582)
- Update action log progress logic to support new logic by @malwilley in [#119329](https://github.com/getsentry/sentry/pull/119329)
- Default awaiting input page to progress sort by @malwilley in [#118069](https://github.com/getsentry/sentry/pull/118069)
- Add progress activity hovercard by @malwilley in [#117858](https://github.com/getsentry/sentry/pull/117858)

#### Issue Search

- Add regressed and newness boosts to recommended_v2 by @roggenkemper in [#118159](https://github.com/getsentry/sentry/pull/118159)
- Add suspect-commit relevance to recommended_v2 by @roggenkemper in [#118160](https://github.com/getsentry/sentry/pull/118160)

#### Issues

- Add issue activity stories by @scttcper in [#119686](https://github.com/getsentry/sentry/pull/119686)
- Redesign resolution banners by @scttcper in [#119682](https://github.com/getsentry/sentry/pull/119682)
- Refine activity feed copy and wrapping by @scttcper in [#119546](https://github.com/getsentry/sentry/pull/119546)
- Link commit activities to pull requests by @scttcper in [#119373](https://github.com/getsentry/sentry/pull/119373)
- Link release resolution activities to commits by @scttcper in [#119372](https://github.com/getsentry/sentry/pull/119372)
- Move merge/unmerge tasks to dedicated namespace by @yuvmen in [#119233](https://github.com/getsentry/sentry/pull/119233)
- Add new-feature badge to the Recommended dropdown option by @roggenkemper in [#119301](https://github.com/getsentry/sentry/pull/119301)
- Move Recommended sort to top of sort dropdown by @roggenkemper in [#119302](https://github.com/getsentry/sentry/pull/119302)
- Serve recommended_v2 behind the recommended sort key by @roggenkemper in [#119232](https://github.com/getsentry/sentry/pull/119232)
- Add new-feature badge for the Recommended sort default by @roggenkemper in [#119136](https://github.com/getsentry/sentry/pull/119136)
- Add dedicated issues.merge task namespace by @yuvmen in [#119161](https://github.com/getsentry/sentry/pull/119161)
- Log and count restricted large merges/unmerges by @yuvmen in [#119157](https://github.com/getsentry/sentry/pull/119157)
- Add group links and activity section to issue preview drawer by @malwilley in [#118590](https://github.com/getsentry/sentry/pull/118590)
- Add single line activity feed items by @scttcper in [#118571](https://github.com/getsentry/sentry/pull/118571)
- Restrict merge/unmerge for large groups by @yuvmen in [#118615](https://github.com/getsentry/sentry/pull/118615)
- Add merge task killswitch by @cvxluo in [#118611](https://github.com/getsentry/sentry/pull/118611)
- Split recommended-sort default flag, add experimental sort option by @roggenkemper in [#118471](https://github.com/getsentry/sentry/pull/118471)
- Use stored PR status for linked PRs by @scttcper in [#118405](https://github.com/getsentry/sentry/pull/118405)
- Add attribution to pull-requests by @scttcper in [#118416](https://github.com/getsentry/sentry/pull/118416)
- Show linked PR attribution avatars by @scttcper in [#118417](https://github.com/getsentry/sentry/pull/118417)
- Add recommended-sort default and experimental flags by @roggenkemper in [#118470](https://github.com/getsentry/sentry/pull/118470)
- Add recommended sort with localStorage persistence by @roggenkemper in [#116320](https://github.com/getsentry/sentry/pull/116320)
- Record auto-resolve as a system action in the action log by @yuvmen in [#117856](https://github.com/getsentry/sentry/pull/117856)
- Add Progress sort option to the issue stream by @roggenkemper in [#117771](https://github.com/getsentry/sentry/pull/117771)
- Track linked pull request clicks by @scttcper in [#117770](https://github.com/getsentry/sentry/pull/117770)

#### Logs

- Validate selected table columns by @nsdeschenes in [#118634](https://github.com/getsentry/sentry/pull/118634)
- Add logging wrapper by @lobsterkatie in [#119276](https://github.com/getsentry/sentry/pull/119276)
- Validate logs search query fields by @nsdeschenes in [#118350](https://github.com/getsentry/sentry/pull/118350)

#### Onboarding

- Explain the disabled Create CTA in the SCM wizard by @jaydgoss in [#117342](https://github.com/getsentry/sentry/pull/117342)
- Show all SCM project-creation steps at once by @jaydgoss in [#117553](https://github.com/getsentry/sentry/pull/117553)

#### Ourlogs

- Add specialized exports for aggregates by @JoshuaKGoldberg in [#118693](https://github.com/getsentry/sentry/pull/118693)
- Show pinned logs in sort order by @JoshuaKGoldberg in [#118450](https://github.com/getsentry/sentry/pull/118450)
- Prefer message template for cell action filters if available by @JoshuaKGoldberg in [#118651](https://github.com/getsentry/sentry/pull/118651)
- Clarify export form columns and format by @JoshuaKGoldberg in [#118196](https://github.com/getsentry/sentry/pull/118196)

#### Pr Iteration

- Comment when @sentry iteration hits an ineligible PR by @joseph-sentry in [#119519](https://github.com/getsentry/sentry/pull/119519)
- Add nudge for updating github app permissisons by @joseph-sentry in [#119111](https://github.com/getsentry/sentry/pull/119111)
- Add github app permission nudge to autofix drawer by @joseph-sentry in [#119059](https://github.com/getsentry/sentry/pull/119059)

#### Pr Iteration

- Fold PR review-comment anchor into Autofix prompt by @alexsohn1126 in [#119334](https://github.com/getsentry/sentry/pull/119334)
- React to inline PR review comments via SCM platform by @alexsohn1126 in [#119416](https://github.com/getsentry/sentry/pull/119416)

#### Pr Metrics

- Close SENTRY_APP attribution gaps for autofix PRs by @giovanni-guidini in [#119628](https://github.com/getsentry/sentry/pull/119628)
- Add per-PR activity document model and reducer (dark) by @vaind in [#119570](https://github.com/getsentry/sentry/pull/119570)
- Emit judge-ineligible PRs via a fallback verdict by @giovanni-guidini in [#119385](https://github.com/getsentry/sentry/pull/119385)
- Handle synchronous delegated-agent-match response by @giovanni-guidini in [#119380](https://github.com/getsentry/sentry/pull/119380)
- Derive ci_failing_at_close on the no-judge close path by @giovanni-guidini in [#119504](https://github.com/getsentry/sentry/pull/119504)
- Include autofix referrers in scm.pr.closed by @giovanni-guidini in [#119492](https://github.com/getsentry/sentry/pull/119492)
- Add human-involvement signals to scm.pr.closed by @giovanni-guidini in [#119217](https://github.com/getsentry/sentry/pull/119217)
- Defer scm.pr.closed emission behind a cooldown by @giovanni-guidini in [#119198](https://github.com/getsentry/sentry/pull/119198)
- Record sentry-app PR attribution on close by @giovanni-guidini in [#119106](https://github.com/getsentry/sentry/pull/119106)
- Instrument the delegated-agent attribution funnel by @giovanni-guidini in [#119036](https://github.com/getsentry/sentry/pull/119036)
- Derive participants_count and reviews_count by @vaind in [#118956](https://github.com/getsentry/sentry/pull/118956)
- Constrain PullRequestActivity table size and fix activity tracking gates by @giovanni-guidini in [#118734](https://github.com/getsentry/sentry/pull/118734)
- Add typed signal_details to SENTRY_APP attribution by @giovanni-guidini in [#118738](https://github.com/getsentry/sentry/pull/118738)
- Call Seer delegated-agent match RPC from webhook by @giovanni-guidini in [#117911](https://github.com/getsentry/sentry/pull/117911)
- Capture review dismissals and merge-intent signals by @vaind in [#118188](https://github.com/getsentry/sentry/pull/118188)
- Capture check_suite/check_run CI status for the judge by @vaind in [#118183](https://github.com/getsentry/sentry/pull/118183)
- Emit conversation-judge analysis to BigQuery by @vaind in [#118028](https://github.com/getsentry/sentry/pull/118028)
- Restrict judge and activity capture to Seer-eligible orgs by @giovanni-guidini in [#117899](https://github.com/getsentry/sentry/pull/117899)
- Include GroupLinks from PR activity commits in resolved group IDs by @giovanni-guidini in [#117524](https://github.com/getsentry/sentry/pull/117524)

#### Preprod

- Add preprod-size-analysis-pr-comments feature flag by @mtopo27 in [#119409](https://github.com/getsentry/sentry/pull/119409)
- Show install groups on the install page by @mtopo27 in [#119312](https://github.com/getsentry/sentry/pull/119312)
- Prefer build_number_raw for display by @trevor-e in [#119267](https://github.com/getsentry/sentry/pull/119267)
- Add install_groups to build-details distribution info by @mtopo27 in [#119303](https://github.com/getsentry/sentry/pull/119303)
- Store raw build number for display purposes by @trevor-e in [#119262](https://github.com/getsentry/sentry/pull/119262)
- Add Releases breadcrumb to install page by @mtopo27 in [#119140](https://github.com/getsentry/sentry/pull/119140)
- Render web-UI snapshots on their canvas_theme by @jamieQ in [#118903](https://github.com/getsentry/sentry/pull/118903)
- Add adjustable opacity to the snapshot diff overlay by @mtopo27 in [#118875](https://github.com/getsentry/sentry/pull/118875)
- Support per-image canvas_theme in snapshot API by @jamieQ in [#118749](https://github.com/getsentry/sentry/pull/118749)
- Sync snapshot sidebar search to URL by @mtopo27 in [#118834](https://github.com/getsentry/sentry/pull/118834)
- Add URL route resolving to latest base snapshot by @mtopo27 in [#118658](https://github.com/getsentry/sentry/pull/118658)
- Show existing size comparisons on the compare page by @jamieQ in [#118674](https://github.com/getsentry/sentry/pull/118674)
- Add endpoint listing existing size comparisons for a build by @jamieQ in [#118526](https://github.com/getsentry/sentry/pull/118526)
- Re-emit preprod.snapshots.diff.duration_s metric by @NicoHinderling in [#118603](https://github.com/getsentry/sentry/pull/118603)
- Add org context to snapshot pipeline logs by @NicoHinderling in [#118602](https://github.com/getsentry/sentry/pull/118602)
- Roll out TaskProducer for preprod tasks by @bmckerry in [#118583](https://github.com/getsentry/sentry/pull/118583)
- Record client attribution on snapshot archive download by @mtopo27 in [#118491](https://github.com/getsentry/sentry/pull/118491)
- Record client attribution on snapshot read endpoints by @mtopo27 in [#118387](https://github.com/getsentry/sentry/pull/118387)
- Record approval analytics for web UI and auto approvals with source by @mtopo27 in [#118307](https://github.com/getsentry/sentry/pull/118307)
- Add tracing spans to snapshot details GET handler by @NicoHinderling in [#118177](https://github.com/getsentry/sentry/pull/118177)
- Add Download CSV button to build distribution view by @jamieQ in [#117927](https://github.com/getsentry/sentry/pull/117927)
- Support zstd-compressed snapshot manifest uploads by @NicoHinderling in [#117884](https://github.com/getsentry/sentry/pull/117884)
- Use one relevant-filtered link per snapshot row by @mtopo27 in [#117863](https://github.com/getsentry/sentry/pull/117863)
- Add build distribution CSV export endpoint by @jamieQ in [#117539](https://github.com/getsentry/sentry/pull/117539)
- Surface errored snapshot images in web viewer by @NicoHinderling in [#117599](https://github.com/getsentry/sentry/pull/117599)

#### Profiling

- Support sample v2 profiles for Android by @markushi in [#118849](https://github.com/getsentry/sentry/pull/118849)
- Add attachment download control to the flamegraph toolbar by @markushi in [#118071](https://github.com/getsentry/sentry/pull/118071)
- Add support for profiling chunk attachments by @markushi in [#118029](https://github.com/getsentry/sentry/pull/118029)

#### Project Creation

- Track returning to the detected platform by @jaydgoss in [#118420](https://github.com/getsentry/sentry/pull/118420)
- Notification options in the SCM alert section by @jaydgoss in [#118394](https://github.com/getsentry/sentry/pull/118394)
- Make alert frequency collapsible via ScmCollapsibleSection by @jaydgoss in [#117849](https://github.com/getsentry/sentry/pull/117849)
- Add reusable collapsible section for create flow by @jaydgoss in [#117847](https://github.com/getsentry/sentry/pull/117847)
- Add integration selector to repo connect step by @jaydgoss in [#117731](https://github.com/getsentry/sentry/pull/117731)

#### Relay

- Remove graduated feature flag by @jjbayer in [#119711](https://github.com/getsentry/sentry/pull/119711)
- Add a metric to verify that the billing metrics consumer is not producing outcomes. by @klochek in [#119304](https://github.com/getsentry/sentry/pull/119304)
- Warn on Client Keys pages when a Relay DSN endpoint override is set by @ArthurKnaus in [#119098](https://github.com/getsentry/sentry/pull/119098)
- Add option to configure attachment inline limit by @tobias-wilfert in [#119034](https://github.com/getsentry/sentry/pull/119034)
- Add DSN endpoint override input to org Relay settings by @ArthurKnaus in [#118710](https://github.com/getsentry/sentry/pull/118710)
- Allow a custom Relay endpoint to override DSNs by @ArthurKnaus in [#118707](https://github.com/getsentry/sentry/pull/118707)
- Expose feature flag for minidump with extra exceptions by @jjbayer in [#118431](https://github.com/getsentry/sentry/pull/118431)

#### Replays

- Support querying segment_names by @mjq in [#119633](https://github.com/getsentry/sentry/pull/119633)
- Show mobile-specific network details setup instructions by @romtsn in [#118544](https://github.com/getsentry/sentry/pull/118544)
- Port ingest-replay-recordings to a taskbroker task by @untitaker in [#118645](https://github.com/getsentry/sentry/pull/118645)

#### Scm

- Surface installation and repository ids on webhook events by @alexsohn1126 in [#119629](https://github.com/getsentry/sentry/pull/119629)
- Add check_suite and pull_request_review to event stream by @joseph-sentry in [#119419](https://github.com/getsentry/sentry/pull/119419)

#### Scm Multi Platform Detection

- Conditional use of new multi dete… by @Abdkhan14 in [#118500](https://github.com/getsentry/sentry/pull/118500)
- Removing parallel call of test endpoint in FE by @Abdkhan14 in [#118501](https://github.com/getsentry/sentry/pull/118501)
- Registering flag by @Abdkhan14 in [#118494](https://github.com/getsentry/sentry/pull/118494)
- Parallelizing repo and content reads by @Abdkhan14 in [#118359](https://github.com/getsentry/sentry/pull/118359)
- Adding new metrics by @Abdkhan14 in [#118099](https://github.com/getsentry/sentry/pull/118099)
- Implementing scoped matching by @Abdkhan14 in [#117720](https://github.com/getsentry/sentry/pull/117720)

#### Scraps

- Add prefer-stack-for-column-flex ESLint rule by @priscilawebdev in [#119397](https://github.com/getsentry/sentry/pull/119397)
- Add JS container-query parity via useContainerBreakpoint by @TkDodo in [#118912](https://github.com/getsentry/sentry/pull/118912)
- Add SplitPanel core component by @priscilawebdev in [#118230](https://github.com/getsentry/sentry/pull/118230)

#### Sdk

- Double-write dashboard tags to attributes by @Lms24 in [#118841](https://github.com/getsentry/sentry/pull/118841)
- Double-write alert rule tags to attributes by @Lms24 in [#118840](https://github.com/getsentry/sentry/pull/118840)
- Double-write remaining tags to attributes by @Lms24 in [#118843](https://github.com/getsentry/sentry/pull/118843)
- Double-write profiling tags to attributes by @Lms24 in [#118838](https://github.com/getsentry/sentry/pull/118838)
- Double-write performanceForSentry tag to attribute by @Lms24 in [#118839](https://github.com/getsentry/sentry/pull/118839)
- Double-write explore spans tag to attribute by @Lms24 in [#118842](https://github.com/getsentry/sentry/pull/118842)
- Double-write initializeSdk tags to attributes by @Lms24 in [#118837](https://github.com/getsentry/sentry/pull/118837)
- Double-write bootstrap request tags to attributes by @Lms24 in [#118836](https://github.com/getsentry/sentry/pull/118836)
- Migrate frontend to span streaming by @vgrozdanic in [#116466](https://github.com/getsentry/sentry/pull/116466)

#### Search

- Move Ask Seer action to filter menu footer by @nsdeschenes in [#119656](https://github.com/getsentry/sentry/pull/119656)
- Render multi-select filter values as chips by @JoshuaKGoldberg in [#118191](https://github.com/getsentry/sentry/pull/118191)
- Always show multi-select checkboxes in value dropdown by @JoshuaKGoldberg in [#118024](https://github.com/getsentry/sentry/pull/118024)
- Add color indicators next to severity values in search by @JoshuaKGoldberg in [#118569](https://github.com/getsentry/sentry/pull/118569)
- Track multi-select value toggles in dropdown by @JoshuaKGoldberg in [#118027](https://github.com/getsentry/sentry/pull/118027)
- Add issue progress sort by @roggenkemper in [#117707](https://github.com/getsentry/sentry/pull/117707)

#### Seer

- Redesign the Sentry Workflows page shard and issue UI by @trevor-e in [#119662](https://github.com/getsentry/sentry/pull/119662)
- Surface issue titles and PRs on night-shift triage results by @trevor-e in [#119661](https://github.com/getsentry/sentry/pull/119661)
- Include low-value-span issues in night shift triage by @chromy in [#119503](https://github.com/getsentry/sentry/pull/119503)
- Include five_whys reasoning in Slack autofix root cause u… by @Zylphrex in [#119408](https://github.com/getsentry/sentry/pull/119408)
- Trigger autofix iteration from PR review comments by @alexsohn1126 in [#119225](https://github.com/getsentry/sentry/pull/119225)
- Give each project its own night shift candidate quota by @trevor-e in [#119265](https://github.com/getsentry/sentry/pull/119265)
- Scope night shift result dedupe to (run, kind, idempotency_key) by @trevor-e in [#119141](https://github.com/getsentry/sentry/pull/119141)
- Markdown embed registry by @natemoo-re in [#119159](https://github.com/getsentry/sentry/pull/119159)
- Record a night shift result row for every triage verdict by @trevor-e in [#118976](https://github.com/getsentry/sentry/pull/118976)
- Block coding-agent handoff for non-GitHub projects in the table by @billyvg in [#118588](https://github.com/getsentry/sentry/pull/118588)
- Add get_issue_ownership RPC to Seer tools by @hobzcalvin in [#118802](https://github.com/getsentry/sentry/pull/118802)
- Detect GitLab bots in contributor seat tracking by @billyvg in [#117762](https://github.com/getsentry/sentry/pull/117762)
- Add validate endpoint to the execute table query rpc by @wmak in [#118953](https://github.com/getsentry/sentry/pull/118953)
- Restrict GitLab repos to Seer handoff in Autofix settings by @billyvg in [#118493](https://github.com/getsentry/sentry/pull/118493)
- Allow custom questions on the org Seer runs endpoint by @chromy in [#118929](https://github.com/getsentry/sentry/pull/118929)
- Mirror a SeerAgentRun for start_feature_run by @trevor-e in [#118962](https://github.com/getsentry/sentry/pull/118962)
- Accept viewer context auth on the Seer RPC endpoint by @azulus in [#118948](https://github.com/getsentry/sentry/pull/118948)
- Add referrer column to SeerRun by @trevor-e in [#118931](https://github.com/getsentry/sentry/pull/118931)
- Add group filter to the org Seer runs search by @chromy in [#118896](https://github.com/getsentry/sentry/pull/118896)
- Expose per-run one-shot outputs on the runs list via ?outputs by @chromy in [#118827](https://github.com/getsentry/sentry/pull/118827)
- Summarize a run via the agent_question one-shot by @chromy in [#118826](https://github.com/getsentry/sentry/pull/118826)
- Add organization Seer runs list endpoint by @chromy in [#118732](https://github.com/getsentry/sentry/pull/118732)
- Add Seer one-shot client by @chromy in [#118565](https://github.com/getsentry/sentry/pull/118565)
- Enable streaming animation by @natemoo-re in [#118068](https://github.com/getsentry/sentry/pull/118068)
- Include SeerRun uuid in webhook and PR groups responses by @trevor-e in [#118594](https://github.com/getsentry/sentry/pull/118594)
- Poll Seer Explorer by UUID by @trevor-e in [#117780](https://github.com/getsentry/sentry/pull/117780)
- Write SeerRunPullRequest links for Seer-created PRs by @trevor-e in [#118580](https://github.com/getsentry/sentry/pull/118580)
- Add get_organization_projects RPC method by @aliu39 in [#118427](https://github.com/getsentry/sentry/pull/118427)
- Surface convention attribute context in built_in_fields by @DominikB2014 in [#118567](https://github.com/getsentry/sentry/pull/118567)
- Add SeerRunPullRequest model linking runs to PRs by @trevor-e in [#118572](https://github.com/getsentry/sentry/pull/118572)
- Persistent seer panel by @TkDodo in [#117898](https://github.com/getsentry/sentry/pull/117898)
- Restrict night shift to an org's allowed project slugs by @trevor-e in [#118411](https://github.com/getsentry/sentry/pull/118411)
- Send connected repos to night-shift triage by @trevor-e in [#118407](https://github.com/getsentry/sentry/pull/118407)
- Skip night-shift projects that can't open a PR by @trevor-e in [#118386](https://github.com/getsentry/sentry/pull/118386)
- Backfill night shift run shards from legacy seer_run by @trevor-e in [#118154](https://github.com/getsentry/sentry/pull/118154)
- Shard night shift triage into per-chunk feature runs by @trevor-e in [#118080](https://github.com/getsentry/sentry/pull/118080)
- Route night shift feature delivery through the outbox by @trevor-e in [#118040](https://github.com/getsentry/sentry/pull/118040)
- Add validate_llm_proxy_key RPC endpoint by @sehr-m in [#117885](https://github.com/getsentry/sentry/pull/117885)
- Run night shift every 12 hours by @chromy in [#117929](https://github.com/getsentry/sentry/pull/117929)
- Add Sentry Workflows run history page by @jshchnz in [#117820](https://github.com/getsentry/sentry/pull/117820)
- Add per-org night shift run-option overrides by @chromy in [#117826](https://github.com/getsentry/sentry/pull/117826)
- Return sentry_run_id from runs list and dashboard generate by @trevor-e in [#117808](https://github.com/getsentry/sentry/pull/117808)
- Return sentry_run_id from explorer chat GET by @trevor-e in [#117778](https://github.com/getsentry/sentry/pull/117778)
- Register `seer-explorer-persistent-sidebar` feature flag by @TkDodo in [#117791](https://github.com/getsentry/sentry/pull/117791)
- Register `seer-explorer-thinking-summary` feature flag by @natemoo-re in [#117688](https://github.com/getsentry/sentry/pull/117688)
- Pass `enable_tool_summary` to agent_run_options by @natemoo-re in [#117689](https://github.com/getsentry/sentry/pull/117689)

#### Seer Activity

- Better communicate incompatible alerts by @leeandher in [#119007](https://github.com/getsentry/sentry/pull/119007)
- Support webhooks for Sentry Apps by @leeandher in [#118255](https://github.com/getsentry/sentry/pull/118255)
- Use a strategy for emailing issue owners by @leeandher in [#118106](https://github.com/getsentry/sentry/pull/118106)
- Implement notification platform handlers for activity alerts by @leeandher in [#117543](https://github.com/getsentry/sentry/pull/117543)

#### Seer Billing

- Write integration hostname to organization contributors, attempt 2 by @srest2021 in [#119589](https://github.com/getsentry/sentry/pull/119589)
- Add nullable hostname column to organization contributors by @srest2021 in [#119430](https://github.com/getsentry/sentry/pull/119430)
- Write organization contributor provider by @srest2021 in [#119274](https://github.com/getsentry/sentry/pull/119274)
- Add nullable provider column to OrganizationContributors model by @srest2021 in [#119272](https://github.com/getsentry/sentry/pull/119272)
- Cut over seat assignment to OrganizationContributorAction by @srest2021 in [#118763](https://github.com/getsentry/sentry/pull/118763)
- Add billable contributor action processor to GitHub and GitLab for dual-writing contributor actions by @srest2021 in [#118205](https://github.com/getsentry/sentry/pull/118205)
- Add OrganizationContributorAction model for tracking billable PRs by @srest2021 in [#118194](https://github.com/getsentry/sentry/pull/118194)

#### Seer Explorer

- Add dismissible Slack reinstall nudge by @alexsohn1126 in [#118684](https://github.com/getsentry/sentry/pull/118684)
- Dock auto sidebar right in landscape mobile by @TkDodo in [#118563](https://github.com/getsentry/sentry/pull/118563)

#### Seer Infra Telemetry

- Include non-dismissed available monitoring providers in explorer chat request by @srest2021 in [#119357](https://github.com/getsentry/sentry/pull/119357)
- Add standalone Connectors settings page for monitoring providers by @shashjar in [#118967](https://github.com/getsentry/sentry/pull/118967)
- Add success return URL to connect/reauth monitoring provider payloads by @srest2021 in [#118702](https://github.com/getsentry/sentry/pull/118702)
- Pass a custom OAuth return URL to the identity pipeline by @srest2021 in [#118704](https://github.com/getsentry/sentry/pull/118704)
- Add GCP support to `McpIdentityProvider` for MCP tool calls by @shashjar in [#118695](https://github.com/getsentry/sentry/pull/118695)
- Reauthenticate monitoring provider in explorer by @srest2021 in [#118592](https://github.com/getsentry/sentry/pull/118592)
- Add PUT reauthenticate to monitoring provider endpoint by @srest2021 in [#118577](https://github.com/getsentry/sentry/pull/118577)
- Scope monitoring provider connections to organizations by @shashjar in [#118181](https://github.com/getsentry/sentry/pull/118181)
- Add Datadog PAT connect flow to monitoring providers UI by @shashjar in [#118382](https://github.com/getsentry/sentry/pull/118382)
- Add auth method field to monitoring provider connections RPC by @srest2021 in [#118283](https://github.com/getsentry/sentry/pull/118283)
- Add `OrganizationIdentity` model for per-org monitoring provider connections by @shashjar in [#118179](https://github.com/getsentry/sentry/pull/118179)
- Add get monitoring provider connections RPC by @srest2021 in [#118210](https://github.com/getsentry/sentry/pull/118210)
- Wire up DatadogPatIdentityProvider to monitoring provider endpoints by @srest2021 in [#118073](https://github.com/getsentry/sentry/pull/118073)
- Add a PAT-only DatadogIdentityProvider by @srest2021 in [#118072](https://github.com/getsentry/sentry/pull/118072)
- Pass monitoring providers in explorer chat request by @srest2021 in [#117768](https://github.com/getsentry/sentry/pull/117768)
- Add monitoring providers section to Seer Advanced Settings page by @shashjar in [#117758](https://github.com/getsentry/sentry/pull/117758)
- Add monitoring provider refresh access token RPC by @srest2021 in [#117472](https://github.com/getsentry/sentry/pull/117472)
- Implement monitoring provider connection API endpoints by @shashjar in [#117854](https://github.com/getsentry/sentry/pull/117854)
- Auto create IdentityProvider for Datadog in IdentityPipeline by @srest2021 in [#117705](https://github.com/getsentry/sentry/pull/117705)
- Store Datadog org id when building identity, to be used as IdentityProvider external id by @srest2021 in [#117491](https://github.com/getsentry/sentry/pull/117491)

#### Sentry Apps

- Append text summary to claude routine webhooks by @cvxluo in [#119448](https://github.com/getsentry/sentry/pull/119448)
- Send custom headers on all external requests by @cvxluo in [#119530](https://github.com/getsentry/sentry/pull/119530)
- Per-event webhook subscription checkboxes by @cvxluo in [#119324](https://github.com/getsentry/sentry/pull/119324)
- Expose exact event subscriptions as webhookEvents by @cvxluo in [#118940](https://github.com/getsentry/sentry/pull/118940)
- Accept granular webhook events on the API by @cvxluo in [#118932](https://github.com/getsentry/sentry/pull/118932)
- Match webhook subscriptions per-event by @cvxluo in [#118928](https://github.com/getsentry/sentry/pull/118928)
- Allow anthropic-version and anthropic-beta webhook headers by @billyvg in [#118582](https://github.com/getsentry/sentry/pull/118582)
- Forward integrator error status and reason from external requests by @priscilawebdev in [#116956](https://github.com/getsentry/sentry/pull/116956)

#### Slack

- Log channel id on successful message sends by @alexsohn1126 in [#119636](https://github.com/getsentry/sentry/pull/119636)
- Add referrer to issue alert reinstall nudge link by @alexsohn1126 in [#118745](https://github.com/getsentry/sentry/pull/118745)
- Nudge per-workspace to update outdated Slack app installs by @alexsohn1126 in [#118587](https://github.com/getsentry/sentry/pull/118587)
- Also emit alert nudge metrics to the Sentry metrics product by @alexsohn1126 in [#118596](https://github.com/getsentry/sentry/pull/118596)
- Add metrics for slack reinstall nudge outcomes by @alexsohn1126 in [#118564](https://github.com/getsentry/sentry/pull/118564)
- Nudge users to reinstall the Slack app on issue alerts by @alexsohn1126 in [#118288](https://github.com/getsentry/sentry/pull/118288)

#### Spans

- Increase process_segment_task deadline to 65s by @lvthanh03 in [#119117](https://github.com/getsentry/sentry/pull/119117)
- Add option to rollout process_segment task by @lvthanh03 in [#119003](https://github.com/getsentry/sentry/pull/119003)
- Create a task for process segment by @lvthanh03 in [#118950](https://github.com/getsentry/sentry/pull/118950)
- Set conversation_id and session_id on TraceItem by @phacops in [#118419](https://github.com/getsentry/sentry/pull/118419)

#### Spans Migration

- Discover transactions to spans saved queries by @nikkikapadia in [#118681](https://github.com/getsentry/sentry/pull/118681)
- Transactions to spans dashboard widget self hosted migration by @nikkikapadia in [#104803](https://github.com/getsentry/sentry/pull/104803)
- Self-hosted migration for transaction alerts by @nikkikapadia in [#111348](https://github.com/getsentry/sentry/pull/111348)

#### Taskbroker

- Remove Taskworker Topics from `Topic` Enum by @george-sentry in [#119150](https://github.com/getsentry/sentry/pull/119150)
- Add taskworker-process-segments to Topic enum by @lvthanh03 in [#119061](https://github.com/getsentry/sentry/pull/119061)
- Add `taskworker-launchpad-push` to Topic enum by @evanh in [#118161](https://github.com/getsentry/sentry/pull/118161)

#### Taskworker

- Make merge/unmerge self-chaining idempotent by @yuvmen in [#118966](https://github.com/getsentry/sentry/pull/118966)
- Make the router default topic configurable by @enochtangg in [#119238](https://github.com/getsentry/sentry/pull/119238)
- Add `--min-concurrency` Flag to Taskworker by @george-sentry in [#118850](https://github.com/getsentry/sentry/pull/118850)
- Add --prometheus-port to run taskworker by @enochtangg in [#118780](https://github.com/getsentry/sentry/pull/118780)

#### Trace

- Add operation-type icons to AI span details title by @obostjancic in [#119093](https://github.com/getsentry/sentry/pull/119093)
- Add compressed timeline mode by @nsdeschenes in [#116686](https://github.com/getsentry/sentry/pull/116686)

#### Trace Items

- Add endpoint to create/update metric context by @DominikB2014 in [#119431](https://github.com/getsentry/sentry/pull/119431)
- Add endpoint to create/update attribute context by @DominikB2014 in [#118498](https://github.com/getsentry/sentry/pull/118498)
- Serve context for Sentry-defined attributes by @DominikB2014 in [#118759](https://github.com/getsentry/sentry/pull/118759)
- Add context to Sentry-defined attributes by @DominikB2014 in [#118739](https://github.com/getsentry/sentry/pull/118739)
- Match attribute context by convention, not source by @DominikB2014 in [#118509](https://github.com/getsentry/sentry/pull/118509)
- Ungate sentry-conventions attribute context by @DominikB2014 in [#118362](https://github.com/getsentry/sentry/pull/118362)
- Always return context key when expand=context by @DominikB2014 in [#118157](https://github.com/getsentry/sentry/pull/118157)

#### Traces

- Use new transcript in AI trace tabs by @obostjancic in [#119039](https://github.com/getsentry/sentry/pull/119039)
- Use redesigned AI span detail panel across trace views by @priscilawebdev in [#118987](https://github.com/getsentry/sentry/pull/118987)
- Show value counts in item search dropdown by @JoshuaKGoldberg in [#117426](https://github.com/getsentry/sentry/pull/117426)

#### Utils

- Add mismatch logging options to `SafeRolloutComparator` by @lobsterkatie in [#119665](https://github.com/getsentry/sentry/pull/119665)
- Add exact match callback option to rollout comparator by @lobsterkatie in [#118965](https://github.com/getsentry/sentry/pull/118965)
- Add callsite-specific sample rates to rollout comparator by @lobsterkatie in [#117629](https://github.com/getsentry/sentry/pull/117629)

#### Weekly Report

- Add batching for all + removing FF by @amy-chen23 in [#119679](https://github.com/getsentry/sentry/pull/119679)
- Total Issues chart rendering by @amy-chen23 in [#119229](https://github.com/getsentry/sentry/pull/119229)
- Update notification page for project customization by @amy-chen23 in [#118934](https://github.com/getsentry/sentry/pull/118934)
- Add API endpoints and report filtering by @amy-chen23 in [#118696](https://github.com/getsentry/sentry/pull/118696)
- Add WeeklyReportProjectExclusion model by @amy-chen23 in [#118522](https://github.com/getsentry/sentry/pull/118522)
- Remove "Most Frequent Transactions" section by @amy-chen23 in [#118396](https://github.com/getsentry/sentry/pull/118396)
- Add "Past Resolved Issues" by @amy-chen23 in [#117751](https://github.com/getsentry/sentry/pull/117751)

#### Weekly Reports

- Combine error and performance issues into top issues by @amy-chen23 in [#119677](https://github.com/getsentry/sentry/pull/119677)
- Add data layer for Total Issues graph by @amy-chen23 in [#119154](https://github.com/getsentry/sentry/pull/119154)

#### Other

- (action log) Use derived data for search and sort by @ceorourke in [#119423](https://github.com/getsentry/sentry/pull/119423)
- (activity) Emit group activity when a linked PR is closed by @malwilley in [#118524](https://github.com/getsentry/sentry/pull/118524)
- (ai-spans) Adjust JSON expansion defaults by @constantinius in [#119505](https://github.com/getsentry/sentry/pull/119505)
- (alerts api) Double frequency of deprecation brownouts by @kcons in [#119536](https://github.com/getsentry/sentry/pull/119536)
- (api-docs) Publish group integration details endpoint by @cvxluo in [#118698](https://github.com/getsentry/sentry/pull/118698)
- (assisted-query) Support org-level flags in the assisted query agent by patching via Sentry Request by @manessaraj in [#118744](https://github.com/getsentry/sentry/pull/118744)
- (billing-platform) Register getsentry over-usage shadow referrer by @armenzg in [#118677](https://github.com/getsentry/sentry/pull/118677)
- (broadcasts) Add sdk_update broadcast category by @sfanahata in [#117476](https://github.com/getsentry/sentry/pull/117476)
- (claude-code) Persist vault per GitHub installation by @sehr-m in [#118271](https://github.com/getsentry/sentry/pull/118271)
- (cmdk) Route "api key" search to auth token settings pages by @JoshFerge in [#117693](https://github.com/getsentry/sentry/pull/117693)
- (core) Add xs size variant to Radio by @jaydgoss in [#118374](https://github.com/getsentry/sentry/pull/118374)
- (dev) Add CMD+K command to toggle analytics debug mode on/off by @ryan953 in [#118290](https://github.com/getsentry/sentry/pull/118290)
- (developer-settings) Add webhook headers field to custom integrations by @billyvg in [#117091](https://github.com/getsentry/sentry/pull/117091)
- (discover) Errors product relocation info banner by @nikkikapadia in [#119306](https://github.com/getsentry/sentry/pull/119306)
- (ecosystem) Add activity for created external issues by @scttcper in [#117428](https://github.com/getsentry/sentry/pull/117428)
- (events) Add more information to the id errors by @wmak in [#118485](https://github.com/getsentry/sentry/pull/118485)
- (frontend) Add route-map generator by @azulus in [#118195](https://github.com/getsentry/sentry/pull/118195)
- (github) Handle new_permissions_accepted installation webhook by @joseph-sentry in [#119006](https://github.com/getsentry/sentry/pull/119006)
- (gitlab) Track merge request lifecycle state on PullRequest by @malwilley in [#118604](https://github.com/getsentry/sentry/pull/118604)
- (grouping) Add more context to Seer exception-type mismatch log by @yuvmen in [#118391](https://github.com/getsentry/sentry/pull/118391)
- (ingest-metrics) Ensure billing metrics consumer avoids outcome double-billing by @klochek in [#117186](https://github.com/getsentry/sentry/pull/117186)
- (insights) Add analytics events for AI trace interactions by @obostjancic in [#117906](https://github.com/getsentry/sentry/pull/117906)
- (issue-list) Add issue preview drawer for awaiting input page by @malwilley in [#117934](https://github.com/getsentry/sentry/pull/117934)
- (issue-preview) Add autofix tab to issue preview drawer by @malwilley in [#118292](https://github.com/getsentry/sentry/pull/118292)
- (issue-workflow) Action log derived data by @kcons in [#117238](https://github.com/getsentry/sentry/pull/117238)
- (issueList) Add ProgressState enum and progress column icons by @malwilley in [#117736](https://github.com/getsentry/sentry/pull/117736)
- (llm-proxy) Add internal endpoint for JWT key generation by @sehr-m in [#119138](https://github.com/getsentry/sentry/pull/119138)
- (merge) Separate start task names for merge and unmerge chains by @yuvmen in [#119641](https://github.com/getsentry/sentry/pull/119641)
- (metrics) Validate metrics search filters by @nsdeschenes in [#118355](https://github.com/getsentry/sentry/pull/118355)
- (migration) Add `webhook_headers` field to SentryApp by @billyvg in [#117088](https://github.com/getsentry/sentry/pull/117088)
- (nav) Open starred issue views in a new tab on modifier-click by @cvxluo in [#117879](https://github.com/getsentry/sentry/pull/117879)
- (notif-platform) Support in-paragraph link blocks by @leeandher in [#118280](https://github.com/getsentry/sentry/pull/118280)
- (onboarding-multi-platform-detection) Updating UI for multiple detected platforms by @Abdkhan14 in [#118930](https://github.com/getsentry/sentry/pull/118930)
- (outcomes) Begin porting track_outcomes to TaskProducer by @bmckerry in [#118487](https://github.com/getsentry/sentry/pull/118487)
- (platform) Add service worker proxy by @cmanallen in [#117814](https://github.com/getsentry/sentry/pull/117814)
- (processing_errors) Roll out TaskProducer to EAP producer by @bmckerry in [#118585](https://github.com/getsentry/sentry/pull/118585)
- (producer) Start rolling out rdkafka poll metrics by @bmckerry in [#119565](https://github.com/getsentry/sentry/pull/119565)
- (quotas) Add value-based equality and ordering to QuotaConfig by @armenzg in [#118861](https://github.com/getsentry/sentry/pull/118861)
- (releases) Improve release bubble interactions by @scttcper in [#119440](https://github.com/getsentry/sentry/pull/119440)
- (rollout) Allow overriding rollout comparison metric sample rate by @lobsterkatie in [#118474](https://github.com/getsentry/sentry/pull/118474)
- (scm-onboarding-multi-platform-detection) Removing test endpoint… by @Abdkhan14 in [#118621](https://github.com/getsentry/sentry/pull/118621)
- (sdk-crashes) Add is_anr_or_apphang tag to sdk crash monitoring metrics by @romtsn in [#118983](https://github.com/getsentry/sentry/pull/118983)
- (search-query-builder) Convert to filter key on comparison ops by @nsdeschenes in [#117207](https://github.com/getsentry/sentry/pull/117207)
- (span buffer) Add span-first slow DB span detector by @lobsterkatie in [#117551](https://github.com/getsentry/sentry/pull/117551)
- (startup) Add SENTRY_TRACE_STARTUP instrumentation for initialize_app by @untitaker in [#118444](https://github.com/getsentry/sentry/pull/118444)
- (taskworkers) Add option to set skip_await_futures by @bmckerry in [#118462](https://github.com/getsentry/sentry/pull/118462)
- (text) Allow responsive display prop, exclusive with ellipsis by @TkDodo in [#118908](https://github.com/getsentry/sentry/pull/118908)
- (tracemetrics) Add standard metric attributes to query builder by @nsdeschenes in [#114708](https://github.com/getsentry/sentry/pull/114708)
- (unmerge) Add killswitch by @cvxluo in [#118595](https://github.com/getsentry/sentry/pull/118595)
- (upload) GA upload endpoint by @jjbayer in [#119050](https://github.com/getsentry/sentry/pull/119050)
- (uptime) Roll out TaskProducer to EAP producer by @bmckerry in [#118584](https://github.com/getsentry/sentry/pull/118584)
- (validate) Use the filter mode by @wmak in [#118401](https://github.com/getsentry/sentry/pull/118401)
- (validator) Add query validation by @wmak in [#117781](https://github.com/getsentry/sentry/pull/117781)
- (viewer-context) Add project_id to ViewerContext by @sehr-m in [#119663](https://github.com/getsentry/sentry/pull/119663)
- (web) Add WebMCP/agent discovery endpoints, robots.txt update, a… by @elijames-codecov in [#117830](https://github.com/getsentry/sentry/pull/117830)
- Add organizations-explore-modal-export flag by @JoshuaKGoldberg in [#119216](https://github.com/getsentry/sentry/pull/119216)
- Wire up examples of service-worker "requests" that return a result from the worker by @ryan953 in [#119088](https://github.com/getsentry/sentry/pull/119088)
- Add highlight ability to compact select component by @adrianviquez in [#118705](https://github.com/getsentry/sentry/pull/118705)
- Container queries by @TkDodo in [#118724](https://github.com/getsentry/sentry/pull/118724)
- Add github webhook handling for PR pr_iteration_webhook by @joseph-sentry in [#118050](https://github.com/getsentry/sentry/pull/118050)
- Support 'acks' kafka producer config by @untitaker in [#118379](https://github.com/getsentry/sentry/pull/118379)
- Update autofix PR description footer by @joseph-sentry in [#118037](https://github.com/getsentry/sentry/pull/118037)
- Seer drawer pictureInPicture by @TkDodo in [#116670](https://github.com/getsentry/sentry/pull/116670)
- Options read hook by @joshuarli in [#117547](https://github.com/getsentry/sentry/pull/117547)

### Bug Fixes 🐛

#### Aci

- Update the resolution API to use `create_group_activity` by @saponifi3d in [#118854](https://github.com/getsentry/sentry/pull/118854)
- Add more debug information to the metric, so we can filter by detector type by @saponifi3d in [#118806](https://github.com/getsentry/sentry/pull/118806)
- AlertRuleTriggerAction.DoesNotExist fix by @saponifi3d in [#118383](https://github.com/getsentry/sentry/pull/118383)
- Error when updating non-Anomaly Detection to Anomaly Detection by @saponifi3d in [#117947](https://github.com/getsentry/sentry/pull/117947)

#### Action Log

- Make progress gate project-level by @kcons in [#119569](https://github.com/getsentry/sentry/pull/119569)
- Move publish API to a dependency-light module to avoid import cycles by @kcons in [#119266](https://github.com/getsentry/sentry/pull/119266)
- Serialization improvements by @kcons in [#119076](https://github.com/getsentry/sentry/pull/119076)
- Fail consistently on schema violation in process_group_action_log_event by @kcons in [#118974](https://github.com/getsentry/sentry/pull/118974)
- Only send updates for columns that change by @kcons in [#118048](https://github.com/getsentry/sentry/pull/118048)
- Change publish interface to require a Project; use it in feature gate by @kcons in [#117776](https://github.com/getsentry/sentry/pull/117776)

#### Ai Conversations

- Use uniform 16px padding on conversation detail page by @priscilawebdev in [#118722](https://github.com/getsentry/sentry/pull/118722)
- Widen AI conversations filter to include tool spans by @obostjancic in [#118553](https://github.com/getsentry/sentry/pull/118553)

#### Alerts

- Scope lookup to project in path by @ceorourke in [#118961](https://github.com/getsentry/sentry/pull/118961)
- Populate metric_alert webhook actions for native monitors by @Christinarlong in [#118388](https://github.com/getsentry/sentry/pull/118388)
- Return fallthrough type by @ceorourke in [#118404](https://github.com/getsentry/sentry/pull/118404)
- Stronger typing around human_desc by @kcons in [#117883](https://github.com/getsentry/sentry/pull/117883)

#### Auth

- Do not update email in UserDetailsEndpoint by @nora-shap in [#119253](https://github.com/getsentry/sentry/pull/119253)
- Avoid false no-org access on login by @JoshFerge in [#118666](https://github.com/getsentry/sentry/pull/118666)

#### Autofix

- Don't treat queued PR feedback as iterating by @joseph-sentry in [#119624](https://github.com/getsentry/sentry/pull/119624)
- Add word boundary check for @sentry mention parsing by @joseph-sentry in [#119543](https://github.com/getsentry/sentry/pull/119543)
- Consume queued PR iteration feedback after push by @joseph-sentry in [#118676](https://github.com/getsentry/sentry/pull/118676)
- Pin repo branch/sha at root cause by @Zylphrex in [#119132](https://github.com/getsentry/sentry/pull/119132)
- Fix Overlapping Feedback Attribution with Feedback by @alexsohn1126 in [#119086](https://github.com/getsentry/sentry/pull/119086)
- Fix autofix drawer UI bugs by @joseph-sentry in [#118538](https://github.com/getsentry/sentry/pull/118538)

#### Avatars

- Avoid orphaning avatar file handle on resized requests by @shellmayr in [#117973](https://github.com/getsentry/sentry/pull/117973)
- Close avatar file in get_cached_photo by @shellmayr in [#117903](https://github.com/getsentry/sentry/pull/117903)

#### Conversations

- Show "no cost recorded" instead of a misleading amount by @ArthurKnaus in [#119617](https://github.com/getsentry/sentry/pull/119617)
- Remember last selected project by @ArthurKnaus in [#119620](https://github.com/getsentry/sentry/pull/119620)
- Fix blank detail view on mobile breakpoint by @ArthurKnaus in [#119625](https://github.com/getsentry/sentry/pull/119625)
- Show connected issues in the span detail panel by @ArthurKnaus in [#119601](https://github.com/getsentry/sentry/pull/119601)
- Fetch more conversation list items by @obostjancic in [#119391](https://github.com/getsentry/sentry/pull/119391)
- Sort tools in the tool calls breakdown tooltip by @ArthurKnaus in [#119386](https://github.com/getsentry/sentry/pull/119386)
- Stop 'Add a Column' from appending Conv. ID forever by @priscilawebdev in [#119379](https://github.com/getsentry/sentry/pull/119379)
- Stop Last Message time bumping on row hover by @matejminar in [#119314](https://github.com/getsentry/sentry/pull/119314)
- Show loading instead of stale rows on refetch by @priscilawebdev in [#119298](https://github.com/getsentry/sentry/pull/119298)
- Remove 800px cap from tool and thinking blocks by @ArthurKnaus in [#119283](https://github.com/getsentry/sentry/pull/119283)
- Don't auto-select a span in the timeline view by @ArthurKnaus in [#119223](https://github.com/getsentry/sentry/pull/119223)
- Fix contrast in the transcript loading skeleton by @ArthurKnaus in [#119222](https://github.com/getsentry/sentry/pull/119222)
- Align transcript turn metadata by @obostjancic in [#119205](https://github.com/getsentry/sentry/pull/119205)
- Keep tool calls tooltip open when hovering into the card by @priscilawebdev in [#119213](https://github.com/getsentry/sentry/pull/119213)
- Widen tool calls tooltip trigger area by @priscilawebdev in [#119209](https://github.com/getsentry/sentry/pull/119209)
- Show skeleton for span details to avoid layout shift by @priscilawebdev in [#119200](https://github.com/getsentry/sentry/pull/119200)
- Don't auto-select a span on the transcript view by @ArthurKnaus in [#119206](https://github.com/getsentry/sentry/pull/119206)
- Sort agent selector options alphabetically by @priscilawebdev in [#119202](https://github.com/getsentry/sentry/pull/119202)
- Fix size hierarchy in AI span detail card by @priscilawebdev in [#119197](https://github.com/getsentry/sentry/pull/119197)
- Redesign the timeline loading skeleton by @priscilawebdev in [#119103](https://github.com/getsentry/sentry/pull/119103)
- Reset agent selection when switching projects by @priscilawebdev in [#119099](https://github.com/getsentry/sentry/pull/119099)
- Keep repeated user messages in transcript by @obostjancic in [#119041](https://github.com/getsentry/sentry/pull/119041)
- Stop table rows growing in Safari on back-nav by @priscilawebdev in [#119100](https://github.com/getsentry/sentry/pull/119100)
- Show 0 B for tool size when output bytes are unavailable by @obostjancic in [#119095](https://github.com/getsentry/sentry/pull/119095)
- Make the agent selector wrap on narrow viewports by @priscilawebdev in [#119096](https://github.com/getsentry/sentry/pull/119096)
- Scroll the whole span detail card, not just the tab content by @priscilawebdev in [#119089](https://github.com/getsentry/sentry/pull/119089)
- Anchor summary heading tooltip to the title text by @priscilawebdev in [#119091](https://github.com/getsentry/sentry/pull/119091)
- Keep span detail on the right at narrower widths by @priscilawebdev in [#119048](https://github.com/getsentry/sentry/pull/119048)
- Show errors summary link in red to match table by @priscilawebdev in [#119047](https://github.com/getsentry/sentry/pull/119047)
- Remove native tooltips on tool-calls in table by @priscilawebdev in [#119045](https://github.com/getsentry/sentry/pull/119045)
- Increase span detail metadata font-size to 14px by @priscilawebdev in [#119044](https://github.com/getsentry/sentry/pull/119044)
- Preserve agent filter on saved query navigation by @constantinius in [#119040](https://github.com/getsentry/sentry/pull/119040)
- Fix AI span detail panel overflow on narrow screens by @priscilawebdev in [#119035](https://github.com/getsentry/sentry/pull/119035)
- Tag entry-point links for referrer attribution by @ale-cota in [#118816](https://github.com/getsentry/sentry/pull/118816)
- Preserve list filters when using detail breadcrumb by @obostjancic in [#118631](https://github.com/getsentry/sentry/pull/118631)
- Separate AI span timeline rows on hover by @priscilawebdev in [#118893](https://github.com/getsentry/sentry/pull/118893)
- Fix analytics event tracking by @obostjancic in [#118629](https://github.com/getsentry/sentry/pull/118629)
- Treat "None" user fields as missing by @priscilawebdev in [#118549](https://github.com/getsentry/sentry/pull/118549)
- Show single (no value) for redacted multi-part messages by @obostjancic in [#118453](https://github.com/getsentry/sentry/pull/118453)

#### Dashboards

- Unify timeseries loading and empty state by @nikkikapadia in [#119335](https://github.com/getsentry/sentry/pull/119335)
- Reset Heat Map aggregate to count on metric fallback by @gggritso in [#119269](https://github.com/getsentry/sentry/pull/119269)
- Fetch attributes while typing in categorical bar X-axis by @gggritso in [#119084](https://github.com/getsentry/sentry/pull/119084)
- Explain why Heat Map visualization is unavailable by @gggritso in [#119264](https://github.com/getsentry/sentry/pull/119264)
- Carry Heat Map visualize when saving from Explore by @gggritso in [#119255](https://github.com/getsentry/sentry/pull/119255)
- Show correct type badge for categorical bar X-axis attributes by @gggritso in [#119071](https://github.com/getsentry/sentry/pull/119071)
- Fetch attributes while typing in the widget builder field dropdown by @DominikB2014 in [#118664](https://github.com/getsentry/sentry/pull/118664)
- Align time series X axis ticks to user timezone by @gggritso in [#109881](https://github.com/getsentry/sentry/pull/109881)
- Stop chart drag-to-zoom selecting the wrong time range by @gggritso in [#119013](https://github.com/getsentry/sentry/pull/119013)
- Preserve spans table `timestamp` column in Explore by @mjq in [#118949](https://github.com/getsentry/sentry/pull/118949)
- Preserve page filters when opening an issue from a widget by @DominikB2014 in [#118683](https://github.com/getsentry/sentry/pull/118683)
- Consider `error` for trace.status errors by @mjq in [#118497](https://github.com/getsentry/sentry/pull/118497)
- Keep legend breakdown when group by changes by @gggritso in [#118300](https://github.com/getsentry/sentry/pull/118300)
- Keep saved column in widget builder dropdown when missing from attributes by @DominikB2014 in [#118252](https://github.com/getsentry/sentry/pull/118252)

#### Deps

- Bump js-beautify to 2.x for minimatch ReDoS (GHSA-3ppc-4f35-3m26) by @oioki in [#118989](https://github.com/getsentry/sentry/pull/118989)
- Bump @rsdoctor/rspack-plugin and dedupe ws to 8.21.0 (GHSA-96hv-2xvq-fx4p) by @oioki in [#118996](https://github.com/getsentry/sentry/pull/118996)
- Bump api-docs fast-uri to 3.1.3 for host confusion (GHSA-v39h-62p7-jpjc) by @oioki in [#118999](https://github.com/getsentry/sentry/pull/118999)
- Bump fast-uri to 3.1.3 for path traversal (GHSA-q3j6-qgpj-74h6) by @oioki in [#118998](https://github.com/getsentry/sentry/pull/118998)
- Bump api-docs picomatch to 2.3.2 for ReDoS (GHSA-c2c7-rcm5-vvqj) by @oioki in [#118997](https://github.com/getsentry/sentry/pull/118997)
- Raise api-docs form-data override floor to 4.0.6 (GHSA-hmw2-7cc7-3qxx) by @oioki in [#118994](https://github.com/getsentry/sentry/pull/118994)
- Bump defu to 6.1.7 for prototype pollution (GHSA-737v-mqg7-c878) by @oioki in [#118993](https://github.com/getsentry/sentry/pull/118993)
- Dedupe minimatch 3.1.2 to 3.1.5 for ReDoS (GHSA-7r86-cg39-jmmj) by @oioki in [#118990](https://github.com/getsentry/sentry/pull/118990)
- Bump @figma/code-connect to pull form-data 4.0.6 by @oioki in [#118902](https://github.com/getsentry/sentry/pull/118902)
- Bump idna to 3.18 for GHSA-65pc-fj4g-8rjx by @oioki in [#118895](https://github.com/getsentry/sentry/pull/118895)
- Bump cryptography to 49.0.0 for GHSA-537c-gmf6-5ccf by @oioki in [#118868](https://github.com/getsentry/sentry/pull/118868)

#### Discover

- Convert ColumnEditCollection to functional component by @sentry in [#118796](https://github.com/getsentry/sentry/pull/118796)
- Coerce issue.id tag value to string for transactions by @phacops in [#118222](https://github.com/getsentry/sentry/pull/118222)

#### Dynamic Sampling

- Restore 100% project fallback in per-org pipeline by @shellmayr in [#118639](https://github.com/getsentry/sentry/pull/118639)
- Rename metric tags to avoid \_id suffix stripping by @constantinius in [#117783](https://github.com/getsentry/sentry/pull/117783)

#### Eap

- 400 instead of 500 for InvalidSearchQuery in trace-item attribute endpoints by @kcons in [#118700](https://github.com/getsentry/sentry/pull/118700)
- Skip validation for empty-string sentinel in has: queries by @kcons in [#118703](https://github.com/getsentry/sentry/pull/118703)

#### Explore

- Lock span id column in table editor by @nsdeschenes in [#119727](https://github.com/getsentry/sentry/pull/119727)
- Allow numeric attrs for drilldown by @narsaynorath in [#119724](https://github.com/getsentry/sentry/pull/119724)
- Preserve compact span count rendering by @nsdeschenes in [#119548](https://github.com/getsentry/sentry/pull/119548)
- Dedupe logs/traces history via a shared location provider by @JoshuaKGoldberg in [#118952](https://github.com/getsentry/sentry/pull/118952)
- Prettify validated aggregate labels by @nsdeschenes in [#119540](https://github.com/getsentry/sentry/pull/119540)
- Respect span field definitions in tables by @nsdeschenes in [#119522](https://github.com/getsentry/sentry/pull/119522)
- Stop Heat Map drag-to-zoom writing duplicate history entries by @gggritso in [#119336](https://github.com/getsentry/sentry/pull/119336)
- Guard against null series entries in ECharts by @sentry in [#119131](https://github.com/getsentry/sentry/pull/119131)
- Remove Seer project filter from search bar by @isaacwang-sentry in [#118960](https://github.com/getsentry/sentry/pull/118960)
- Validate spans group by selections by @nsdeschenes in [#118452](https://github.com/getsentry/sentry/pull/118452)
- Import sentry_sdk.ai submodule in conversation onboarding by @vgrozdanic in [#119295](https://github.com/getsentry/sentry/pull/119295)
- Report aggregate sort in Seer on-page context by @shruthilayaj in [#119219](https://github.com/getsentry/sentry/pull/119219)
- Reduce time window in trace item details by @k-fish in [#118566](https://github.com/getsentry/sentry/pull/118566)
- Render square Heat Map cells in unfurled charts by @gggritso in [#119069](https://github.com/getsentry/sentry/pull/119069)
- Allow agent filter in saved query serializer by @constantinius in [#118982](https://github.com/getsentry/sentry/pull/118982)
- Keep timestamp column when opening logs widget by @JoshuaKGoldberg in [#118847](https://github.com/getsentry/sentry/pull/118847)
- Allow max/min aggregations on timestamp column by @vgrozdanic in [#118448](https://github.com/getsentry/sentry/pull/118448)
- Cap heat map unfurl grid to a fixed-density size by @gggritso in [#118598](https://github.com/getsentry/sentry/pull/118598)
- Prevent grouping by the same attribute twice by @JoshuaKGoldberg in [#118468](https://github.com/getsentry/sentry/pull/118468)
- Wait for org range before spans filters by @nsdeschenes in [#118346](https://github.com/getsentry/sentry/pull/118346)
- Make missing description rendering consistent by @mjq in [#118243](https://github.com/getsentry/sentry/pull/118243)
- Clarify logs export modal email copy by @JoshuaKGoldberg in [#118151](https://github.com/getsentry/sentry/pull/118151)
- Include AI usage token fields in visualize options by @the21st in [#117901](https://github.com/getsentry/sentry/pull/117901)
- Include AI cost fields in visualize options by @nsdeschenes in [#117817](https://github.com/getsentry/sentry/pull/117817)

#### Externalissues

- Migrate ticketRuleModal API request to async/await by @sentry in [#118268](https://github.com/getsentry/sentry/pull/118268)
- Migrate api.request to api.requestPromise in useIntegrationExternalIssues by @sentry in [#117755](https://github.com/getsentry/sentry/pull/117755)

#### Feedback

- Don't orphan feedback payloads in the processing store by @evanh in [#119642](https://github.com/getsentry/sentry/pull/119642)
- Show inline integrations on feedback details by @scttcper in [#117772](https://github.com/getsentry/sentry/pull/117772)

#### Flags

- Loosen statsig webhook deserialization by @cmanallen in [#118858](https://github.com/getsentry/sentry/pull/118858)
- Validate webhook signature before organization lookup by @skaasten in [#118649](https://github.com/getsentry/sentry/pull/118649)

#### Gal

- Avoid derived-data processing on idempotency conflict by @thetruecpaul in [#119579](https://github.com/getsentry/sentry/pull/119579)
- Allow null values in SetEscalatingAction expired_snooze by @yuvmen in [#119639](https://github.com/getsentry/sentry/pull/119639)

#### Github

- Ungate inbound issue status sync from removed feature flag by @souredoutlook in [#119079](https://github.com/getsentry/sentry/pull/119079)
- Don't set external_id on @localhost CommitAuthors by @scttcper in [#117574](https://github.com/getsentry/sentry/pull/117574)

#### Gsadmin

- Render the doc integration logo preview correctly by @cvxluo in [#119171](https://github.com/getsentry/sentry/pull/119171)
- Add CTA to reset stranded partner billing by @dashed in [#118464](https://github.com/getsentry/sentry/pull/118464)

#### Integrations

- Show admin tooltip on disabled Update Now button by @joseph-sentry in [#119657](https://github.com/getsentry/sentry/pull/119657)
- Re-register github project management feature flag by @cvxluo in [#118575](https://github.com/getsentry/sentry/pull/118575)
- Show disabled configuration count in integration row by @souredoutlook in [#118469](https://github.com/getsentry/sentry/pull/118469)

#### Issue Details

- Remove misleading author from PR closed activity by @malwilley in [#118762](https://github.com/getsentry/sentry/pull/118762)
- Avoid leaking issue filters into trace links by @nsdeschenes in [#118655](https://github.com/getsentry/sentry/pull/118655)
- Provide GroupIdProvider for EventGraphWidget in releases drawer by @malwilley in [#118197](https://github.com/getsentry/sentry/pull/118197)

#### Issue Progress

- Keep progress column visible at smaller viewport widths by @malwilley in [#119146](https://github.com/getsentry/sentry/pull/119146)
- Include projects in progress fetch by @malwilley in [#118804](https://github.com/getsentry/sentry/pull/118804)
- Treat manual unresolve as a progress reset by @malwilley in [#117828](https://github.com/getsentry/sentry/pull/117828)

#### Issues

- Center runtime highlight text by @scttcper in [#119692](https://github.com/getsentry/sentry/pull/119692)
- Scope commit resolution to release projects by @scttcper in [#119697](https://github.com/getsentry/sentry/pull/119697)
- Show activity after workflow changes by @scttcper in [#119432](https://github.com/getsentry/sentry/pull/119432)
- Show deleted team names in activity by @scttcper in [#119418](https://github.com/getsentry/sentry/pull/119418)
- Align activity detail text with the title and timestamp by @scttcper in [#118979](https://github.com/getsentry/sentry/pull/118979)
- Restrict low-value span estimated cost to owners and managers by @ArthurKnaus in [#119387](https://github.com/getsentry/sentry/pull/119387)
- Hide trace section when trace_id is synthetic by @malwilley in [#119241](https://github.com/getsentry/sentry/pull/119241)
- Contain activity sidebar names by @scttcper in [#119163](https://github.com/getsentry/sentry/pull/119163)
- Show logs under hydration error and rage-click replays by @JoshuaKGoldberg in [#118656](https://github.com/getsentry/sentry/pull/118656)
- Re-parent children when filtering low-value spans by @ArthurKnaus in [#118813](https://github.com/getsentry/sentry/pull/118813)
- Polish new issue activity feed rows by @scttcper in [#118890](https://github.com/getsentry/sentry/pull/118890)
- Add activity actor tooltips by @scttcper in [#118881](https://github.com/getsentry/sentry/pull/118881)
- Make activity drawer easier to open by @scttcper in [#118874](https://github.com/getsentry/sentry/pull/118874)
- Use linked PR authors in sidebar by @scttcper in [#118510](https://github.com/getsentry/sentry/pull/118510)
- Truncate long release names by @scttcper in [#118325](https://github.com/getsentry/sentry/pull/118325)
- Stop pr grouplink removal from reopening issues by @scttcper in [#118330](https://github.com/getsentry/sentry/pull/118330)
- Tighten multi-select form state (jira) by @scttcper in [#118209](https://github.com/getsentry/sentry/pull/118209)
- Tweak linked pull request rows by @scttcper in [#118043](https://github.com/getsentry/sentry/pull/118043)
- Return all matched short ids instead of redirecting to one by @cvxluo in [#118032](https://github.com/getsentry/sentry/pull/118032)
- Hide linked issue title prefixes by @scttcper in [#117891](https://github.com/getsentry/sentry/pull/117891)
- Resolve PR activity users by external actor by @scttcper in [#117829](https://github.com/getsentry/sentry/pull/117829)
- Simplify linked issue rows by @scttcper in [#117841](https://github.com/getsentry/sentry/pull/117841)
- Use AI_DETECTED category for code health group type by @roggenkemper in [#117845](https://github.com/getsentry/sentry/pull/117845)
- Clean up tags drawer header by @scttcper in [#117777](https://github.com/getsentry/sentry/pull/117777)
- Move external issue tabs into modal header by @scttcper in [#117706](https://github.com/getsentry/sentry/pull/117706)
- Use short timestamps by @scttcper in [#117592](https://github.com/getsentry/sentry/pull/117592)

#### Jira

- Prevent algorithm-confusion attack by @ceorourke in [#118694](https://github.com/getsentry/sentry/pull/118694)
- Migrate issueActions.tsx to requestPromise by @sentry in [#117726](https://github.com/getsentry/sentry/pull/117726)

#### Logs

- Set correct groupBy for Open in Explore with tables by @narsaynorath in [#119721](https://github.com/getsentry/sentry/pull/119721)
- Extract collapse functionality into its own button by @adrianviquez in [#118053](https://github.com/getsentry/sentry/pull/118053)

#### Metrics

- Stop stuck zoom selection bands by @JoshuaKGoldberg in [#118691](https://github.com/getsentry/sentry/pull/118691)
- Use integer sentinel for empty environment filter by @phacops in [#117888](https://github.com/getsentry/sentry/pull/117888)

#### O11y

- Add span first traces sampler by @alexander-alderman-webb in [#119242](https://github.com/getsentry/sentry/pull/119242)
- Restore max_value_length by @cleptric in [#118743](https://github.com/getsentry/sentry/pull/118743)

#### Onboarding

- Remove CocoaPods from Apple SDK onboarding by @philprime in [#118723](https://github.com/getsentry/sentry/pull/118723)
- Use skills.sentry.dev URL in AI-assisted setup prompt by @evanpurkhiser in [#118259](https://github.com/getsentry/sentry/pull/118259)
- Prevent duplicate SCM project create on repeat click by @jaydgoss in [#117538](https://github.com/getsentry/sentry/pull/117538)
- Commit the auto-detected platform to the host by @jaydgoss in [#117341](https://github.com/getsentry/sentry/pull/117341)

#### Ourlogs

- Stabilize table column widths during scrolling by @JoshuaKGoldberg in [#119305](https://github.com/getsentry/sentry/pull/119305)
- Fetch pinned logs with a single `events` request by @JoshuaKGoldberg in [#119268](https://github.com/getsentry/sentry/pull/119268)
- Preserve pinned logs cache after unpinning by @JoshuaKGoldberg in [#118454](https://github.com/getsentry/sentry/pull/118454)
- Keep pinned-logs actions bar from scrolling off-screen by @JoshuaKGoldberg in [#118456](https://github.com/getsentry/sentry/pull/118456)
- Fall back to message value when a log has no template by @JoshuaKGoldberg in [#118922](https://github.com/getsentry/sentry/pull/118922)
- Remount chart on query change to stop stuck select bands by @JoshuaKGoldberg in [#118688](https://github.com/getsentry/sentry/pull/118688)
- Resolve release:latest and similar filters by @JoshuaKGoldberg in [#118647](https://github.com/getsentry/sentry/pull/118647)
- Load out-of-range pinned logs via a narrow time window by @JoshuaKGoldberg in [#118489](https://github.com/getsentry/sentry/pull/118489)
- Render pin actions row above column resize indicator by @JoshuaKGoldberg in [#118460](https://github.com/getsentry/sentry/pull/118460)
- Clear hover highlight when unpinning a log row by @JoshuaKGoldberg in [#118242](https://github.com/getsentry/sentry/pull/118242)
- Honor aggregate (HAVING) conditions in Explore Logs by @JoshuaKGoldberg in [#117920](https://github.com/getsentry/sentry/pull/117920)
- Nudge truncation constant up a power of 2 by @JoshuaKGoldberg in [#118023](https://github.com/getsentry/sentry/pull/118023)
- Don't specify numeric threshold for data export emails by @JoshuaKGoldberg in [#117936](https://github.com/getsentry/sentry/pull/117936)
- Keep pinned logs when the time range expires by @JoshuaKGoldberg in [#117086](https://github.com/getsentry/sentry/pull/117086)

#### Performance

- Exclude db.cursor spans from N+1 DB detection by @ericapisani in [#118031](https://github.com/getsentry/sentry/pull/118031)
- Remove sample transaction creation endpoint by @mjq in [#118237](https://github.com/getsentry/sentry/pull/118237)
- Remove sample transaction button from performance onboarding by @mjq in [#118184](https://github.com/getsentry/sentry/pull/118184)

#### Pr Metrics

- Add retry to the PR-close cooldown task by @giovanni-guidini in [#119615](https://github.com/getsentry/sentry/pull/119615)
- Keep activity open during emit cooldown by @joseph-sentry in [#119497](https://github.com/getsentry/sentry/pull/119497)
- Stub PullRequest on check-event race by @vaind in [#118628](https://github.com/getsentry/sentry/pull/118628)
- Match check PRs on their own repo, not the check's by @vaind in [#118576](https://github.com/getsentry/sentry/pull/118576)
- Stub missing PullRequest on comment/review race by @vaind in [#118356](https://github.com/getsentry/sentry/pull/118356)

#### Preprod

- Treat builds with an installable file as installable by @mtopo27 in [#119230](https://github.com/getsentry/sentry/pull/119230)
- Keep metadata popup double-click from opening focus view by @mtopo27 in [#118833](https://github.com/getsentry/sentry/pull/118833)

#### Project Creation

- Preserve detected selection on back-to-recommended by @jaydgoss in [#118506](https://github.com/getsentry/sentry/pull/118506)
- Forward the SCM product selection to setup docs by @jaydgoss in [#118390](https://github.com/getsentry/sentry/pull/118390)

#### Replay

- Surface recording-segment fetch errors with a Retry button by @JoshuaKGoldberg in [#118291](https://github.com/getsentry/sentry/pull/118291)
- Stop network details content from clipping at the bottom by @DominikB2014 in [#118094](https://github.com/getsentry/sentry/pull/118094)

#### Replays

- Prevent memory leak in highlightNode when wrapper is undefined by @sentry in [#119363](https://github.com/getsentry/sentry/pull/119363)
- Make links in timeline breadcrumb tooltips clickable by @priscilawebdev in [#119496](https://github.com/getsentry/sentry/pull/119496)
- Handle sentry.cocoa.unreal in configure replay card by @billyvg in [#119235](https://github.com/getsentry/sentry/pull/119235)
- Fix web vital tooltip rendering in the replay timeline by @DominikB2014 in [#119070](https://github.com/getsentry/sentry/pull/119070)
- Restore gray border on timeline mouse-hover marker by @JoshuaKGoldberg in [#118467](https://github.com/getsentry/sentry/pull/118467)
- Resolve flaky useReplaysFromIssue test by @sentry in [#118251](https://github.com/getsentry/sentry/pull/118251)
- Stop refetching replay-count for viewers without access by @JoshuaKGoldberg in [#118182](https://github.com/getsentry/sentry/pull/118182)

#### Scraps

- Shadow not extending fully to the right by @priscilawebdev in [#119400](https://github.com/getsentry/sentry/pull/119400)
- Skip redundant form attribute on `SubmitButton` by @natemoo-re in [#119135](https://github.com/getsentry/sentry/pull/119135)

#### Sdk Crash Detection

- Allow device/os/app context fields through event stripper by @runningcode in [#118916](https://github.com/getsentry/sentry/pull/118916)
- Allow ART memory/GC context through event stripper by @runningcode in [#118915](https://github.com/getsentry/sentry/pull/118915)

#### Search

- Ignore prototype filter key matches by @scttcper in [#119149](https://github.com/getsentry/sentry/pull/119149)
- Support configured prototype filter keys by @scttcper in [#119134](https://github.com/getsentry/sentry/pull/119134)
- Support multi-value release.package filters by @scttcper in [#118853](https://github.com/getsentry/sentry/pull/118853)
- Remove 'Type to search suggestions' helper text by @JoshuaKGoldberg in [#117955](https://github.com/getsentry/sentry/pull/117955)
- Render escaped asterisks as escaped by @JoshuaKGoldberg in [#118019](https://github.com/getsentry/sentry/pull/118019)
- Prevent recent filter row panel spacing by @nsdeschenes in [#117667](https://github.com/getsentry/sentry/pull/117667)

#### Seer

- Ellipsize issue titles and show only PR number in workflows by @trevor-e in [#119698](https://github.com/getsentry/sentry/pull/119698)
- Anchor Explorer command menu to input by @TkDodo in [#119614](https://github.com/getsentry/sentry/pull/119614)
- Log every disqualifying reason for skipped night shift projects by @trevor-e in [#119552](https://github.com/getsentry/sentry/pull/119552)
- Don't request embed widgets for entrypoint (Slack) agent runs by @chromy in [#119396](https://github.com/getsentry/sentry/pull/119396)
- Stop conflating night-shift run id with Seer's run id in logs by @trevor-e in [#119349](https://github.com/getsentry/sentry/pull/119349)
- Route issue_comment webhooks to handler for GHE by @billyvg in [#119261](https://github.com/getsentry/sentry/pull/119261)
- Narrow night shift scheduling spread to 1 hour by @trevor-e in [#119258](https://github.com/getsentry/sentry/pull/119258)
- Sanitize NUL chars and lone surrogates from run outbox payloads by @trevor-e in [#119168](https://github.com/getsentry/sentry/pull/119168)
- Capitalize Slack in updateSlackAlert copy by @trevor-e in [#119148](https://github.com/getsentry/sentry/pull/119148)
- Skip GitLab seat seeding when webhook actor is not the MR author by @billyvg in [#119124](https://github.com/getsentry/sentry/pull/119124)
- Register get_organization_projects on internal RPC by @trevor-e in [#118690](https://github.com/getsentry/sentry/pull/118690)
- Remove derived state for addAutofixRepoModal by @sentry in [#118623](https://github.com/getsentry/sentry/pull/118623)
- Resolve UUID run_id in OrganizationSeerAgentUpdateEndpoint by @trevor-e in [#118616](https://github.com/getsentry/sentry/pull/118616)
- Unstick Copilot handoff status when global_id is empty by @JoshFerge in [#118415](https://github.com/getsentry/sentry/pull/118415)
- Forward attribute context through get_attribute_names RPC by @DominikB2014 in [#118351](https://github.com/getsentry/sentry/pull/118351)
- Inherit org-flag agent run options on the feature-run path by @trevor-e in [#118218](https://github.com/getsentry/sentry/pull/118218)
- Link each night shift shard to Seer Explorer in workflows by @trevor-e in [#118187](https://github.com/getsentry/sentry/pull/118187)
- Surface night shift shard seer run ids in the workflows API by @trevor-e in [#118186](https://github.com/getsentry/sentry/pull/118186)
- Add GitLab support to web vitals Seer eligibility hook by @billyvg in [#117747](https://github.com/getsentry/sentry/pull/117747)
- Add GitLab support to web vitals Seer eligibility check by @billyvg in [#117746](https://github.com/getsentry/sentry/pull/117746)
- Use URL-safe GitLab path when building owner/name by @billyvg in [#118054](https://github.com/getsentry/sentry/pull/118054)
- Show GitLab icon for GitLab SCM links in evidence UI by @billyvg in [#118055](https://github.com/getsentry/sentry/pull/118055)
- Route coding agent handoff CTA through seer/settings/ by @billyvg in [#117622](https://github.com/getsentry/sentry/pull/117622)
- Capture GitLab webhook validation failures as exceptions by @billyvg in [#117969](https://github.com/getsentry/sentry/pull/117969)
- Normalize GitLab webhook trigger_at to ISO 8601 by @billyvg in [#117968](https://github.com/getsentry/sentry/pull/117968)
- Route stopping point and handoff changes through seer/settings/ by @billyvg in [#117526](https://github.com/getsentry/sentry/pull/117526)
- Invalidate seer projects list after adding project via modal by @billyvg in [#117868](https://github.com/getsentry/sentry/pull/117868)

#### Seer Infra Telemetry

- Strip whitespace from Datadog PAT access_token in build_identity by @srest2021 in [#118507](https://github.com/getsentry/sentry/pull/118507)
- Wrap monitoring provider disconnect logic with transaction by @shashjar in [#118402](https://github.com/getsentry/sentry/pull/118402)
- Add Datadog site allowlist to identity provider by @shashjar in [#117541](https://github.com/getsentry/sentry/pull/117541)

#### Selective Testing

- Add more files to FST, and regression tests for deleted/moved files by @joshuarli in [#118059](https://github.com/getsentry/sentry/pull/118059)
- Add `src/sentry/snuba/events.py` to full-suite trigger by @joshuarli in [#117950](https://github.com/getsentry/sentry/pull/117950)
- Always run silo and backup validate meta-tests by @joshuarli in [#117932](https://github.com/getsentry/sentry/pull/117932)

#### Sentry Apps

- Restrict access to external issue actions without correct scope by @ceorourke in [#118968](https://github.com/getsentry/sentry/pull/118968)
- Dont use alarm for control webhooks by @Christinarlong in [#117760](https://github.com/getsentry/sentry/pull/117760)

#### Sentry Apps

- Resolve web urls in webhook text summaries by @cvxluo in [#119643](https://github.com/getsentry/sentry/pull/119643)
- Validate URI to prevent signed request routing to attacker hosts by @Christinarlong in [#118679](https://github.com/getsentry/sentry/pull/118679)

#### Service Worker

- Register as module for WebKit 26 compatibility by @sentry in [#119729](https://github.com/getsentry/sentry/pull/119729)
- Ignore InvalidStateError during update check by @sentry in [#119726](https://github.com/getsentry/sentry/pull/119726)
- Skip Sentry capture for AbortErrors from update checks by @billyvg in [#119459](https://github.com/getsentry/sentry/pull/119459)

#### Spans

- Parse callstack string in 'file I/O on main thread' detector by @lobsterkatie in [#119181](https://github.com/getsentry/sentry/pull/119181)
- Retry transient process segment task failures by @lvthanh03 in [#119239](https://github.com/getsentry/sentry/pull/119239)
- `span.status:internal_error` should also consider `error` by @mjq in [#118476](https://github.com/getsentry/sentry/pull/118476)
- Write span `status` field as trace item attribute by @mjq in [#118461](https://github.com/getsentry/sentry/pull/118461)
- Import span-first detectors rollout controller by @lobsterkatie in [#118324](https://github.com/getsentry/sentry/pull/118324)

#### Stats

- Align timezone handling with user preferences and UTC params by @billyvg in [#119331](https://github.com/getsentry/sentry/pull/119331)
- Handle duplicate user tags by @wmak in [#118244](https://github.com/getsentry/sentry/pull/118244)

#### Test

- Freeze time in deprecation url_names test to avoid noon-UTC flake by @mchen-sentry in [#118672](https://github.com/getsentry/sentry/pull/118672)
- Pass project features to GroupFixture in similarIssues.spec.tsx by @sentry in [#118111](https://github.com/getsentry/sentry/pull/118111)

#### Trace

- Escape syntax-like span attribute filters by @constantinius in [#119210](https://github.com/getsentry/sentry/pull/119210)
- Keep vital indicator line and label visible at timeline edges by @buenaflor in [#118752](https://github.com/getsentry/sentry/pull/118752)
- Use primary alias for description by @wmak in [#119011](https://github.com/getsentry/sentry/pull/119011)
- Expose slow/frozen frames rate vitals for EAP traces by @buenaflor in [#118446](https://github.com/getsentry/sentry/pull/118446)
- Open Span JSON link in a new tab by @cleptric in [#118219](https://github.com/getsentry/sentry/pull/118219)
- Expose V2 mobile app vitals for EAP traces by @nsdeschenes in [#118238](https://github.com/getsentry/sentry/pull/118238)
- Include new web vital attributes by @nsdeschenes in [#117910](https://github.com/getsentry/sentry/pull/117910)

#### Trace Waterfall

- Handle V2 mobile app vitals for EAP traces by @nsdeschenes in [#118239](https://github.com/getsentry/sentry/pull/118239)
- Use new web vitals by @nsdeschenes in [#118035](https://github.com/getsentry/sentry/pull/118035)

#### Tracemetrics

- Allow clearing equation to trigger update by @narsaynorath in [#118919](https://github.com/getsentry/sentry/pull/118919)
- Store label format of equation so duplicates aren't clobbered by @narsaynorath in [#118367](https://github.com/getsentry/sentry/pull/118367)
- Limit adding series in widget builder to max amount by @narsaynorath in [#118156](https://github.com/getsentry/sentry/pull/118156)
- Disable equation field if loading metrics by @narsaynorath in [#118155](https://github.com/getsentry/sentry/pull/118155)
- Filter out and disable rate aggregates in equations by @narsaynorath in [#118045](https://github.com/getsentry/sentry/pull/118045)
- Literals in equations delete incorrect item by @narsaynorath in [#117926](https://github.com/getsentry/sentry/pull/117926)
- Use portal to prevent clipping of dropdown menus by @narsaynorath in [#117922](https://github.com/getsentry/sentry/pull/117922)

#### Traces

- Encode linked logs filter + row state in the URL by @JoshuaKGoldberg in [#118831](https://github.com/getsentry/sentry/pull/118831)
- Reserve min-width for interactive object Pretty/Raw control by @ArthurKnaus in [#119097](https://github.com/getsentry/sentry/pull/119097)
- Preserve autogroup segment bounds by @nsdeschenes in [#118164](https://github.com/getsentry/sentry/pull/118164)

#### Ui

- Paint SplitPanel divider accent above pane content by @priscilawebdev in [#119383](https://github.com/getsentry/sentry/pull/119383)
- Pin GridEditable header height in Safari on back-nav by @priscilawebdev in [#119490](https://github.com/getsentry/sentry/pull/119490)
- Ignore 1Password in overlay search inputs by @scttcper in [#119172](https://github.com/getsentry/sentry/pull/119172)
- Resize autosize textarea on container width changes by @TkDodo in [#118855](https://github.com/getsentry/sentry/pull/118855)
- Give the main scrollbar on the html element secondary background color by @TkDodo in [#118435](https://github.com/getsentry/sentry/pull/118435)

#### Validate

- Check attributes in query even during error by @wmak in [#118018](https://github.com/getsentry/sentry/pull/118018)
- Make the default behaviour better by @wmak in [#117962](https://github.com/getsentry/sentry/pull/117962)

#### Vercel

- Upsert env vars one target at a time to avoid ENV_CONFLICT by @Christinarlong in [#118490](https://github.com/getsentry/sentry/pull/118490)
- It seems like we need v10 for vercel to upsert env vars by @Christinarlong in [#118314](https://github.com/getsentry/sentry/pull/118314)
- Use upsert to set env vars when linking projects by @Christinarlong in [#118207](https://github.com/getsentry/sentry/pull/118207)
- Redirect sentry.dev root to sentry.io by @ryan953 in [#118076](https://github.com/getsentry/sentry/pull/118076)
- Preserve the next param through the install pipeline by @evanpurkhiser in [#117855](https://github.com/getsentry/sentry/pull/117855)

#### Other

- (admin) Migrate adminRelays DELETE to async/await by @sentry in [#118264](https://github.com/getsentry/sentry/pull/118264)
- (agent-insights) Stop trace.rendered analytics from firing twice by @obostjancic in [#118541](https://github.com/getsentry/sentry/pull/118541)
- (agents) Keep timeline row selection visible on hover by @ArthurKnaus in [#119204](https://github.com/getsentry/sentry/pull/119204)
- (analytics) Use the same DEBUG_ANALYTICS localstorage key in prod & dev by @ryan953 in [#118373](https://github.com/getsentry/sentry/pull/118373)
- (api) Scope clientSecret visibility to app owner in serializer by @michelletran-sentry in [#118369](https://github.com/getsentry/sentry/pull/118369)
- (apigateway) Preserve Content-Encoding when proxying snapshot create by @NicoHinderling in [#118327](https://github.com/getsentry/sentry/pull/118327)
- (apigw) Update issue events route, add missing routes by @gi0baro in [#118832](https://github.com/getsentry/sentry/pull/118832)
- (attachments) Disable preview for large text/JSON attachments by @JoshuaMoelans in [#116963](https://github.com/getsentry/sentry/pull/116963)
- (attribute-breakdowns) Store breakdown pagination in URL by @nsdeschenes in [#118233](https://github.com/getsentry/sentry/pull/118233)
- (automations) Allow value of 0 for frequency conditions by @souredoutlook in [#118128](https://github.com/getsentry/sentry/pull/118128)
- (backpressure) Remove unhealthy service log by @shellmayr in [#119514](https://github.com/getsentry/sentry/pull/119514)
- (billing) Fix billing status overlay button spacing by @cvxluo in [#117867](https://github.com/getsentry/sentry/pull/117867)
- (charts) Preserve ECharts zoom state by @scttcper in [#119237](https://github.com/getsentry/sentry/pull/119237)
- (ci) Fix failing `test-tools` action by updating hardcoded YAML by @kenzoengineer in [#118670](https://github.com/getsentry/sentry/pull/118670)
- (cmd-k) Make settings field helpText searchable in command palette by @TkDodo in [#118557](https://github.com/getsentry/sentry/pull/118557)
- (commandPalette) Prevent useOrganization from throwing without org context by @sentry in [#119362](https://github.com/getsentry/sentry/pull/119362)
- (configoptions) Change from YAML parsing to JSON parsing to fix float parsing issue by @kenzoengineer in [#118492](https://github.com/getsentry/sentry/pull/118492)
- (consumers) Propagate tags to all threads by @bmckerry in [#119550](https://github.com/getsentry/sentry/pull/119550)
- (cursor) Validate pr_url and extract branch_name from statusChange webhook by @giovanni-guidini in [#117682](https://github.com/getsentry/sentry/pull/117682)
- (data_export) Scope export detail lookup to the requesting user by @manessaraj in [#119635](https://github.com/getsentry/sentry/pull/119635)
- (data_forwarding) Safely convert request headers to dict by @sentry in [#118124](https://github.com/getsentry/sentry/pull/118124)
- (dev) Symbolicator mode now depends on objectstore by @Dav1dde in [#118783](https://github.com/getsentry/sentry/pull/118783)
- (ecosystem) Add select_related to slack activity notification task by @scttcper in [#118856](https://github.com/getsentry/sentry/pull/118856)
- (equations) Handle count_unique by @wmak in [#117714](https://github.com/getsentry/sentry/pull/117714)
- (errors) Add conditional Ask Seer prop by @nsdeschenes in [#117789](https://github.com/getsentry/sentry/pull/117789)
- (formatters) Add trillion suffix to abbreviated number formatting by @skaasten in [#119715](https://github.com/getsentry/sentry/pull/119715)
- (forms) Resolve no-callback-api-request lint error in doApiRequest by @sentry in [#117727](https://github.com/getsentry/sentry/pull/117727)
- (frontend-tsc) Convert PermissionsObserver to functional component by @sentry in [#118480](https://github.com/getsentry/sentry/pull/118480)
- (gitlab) Cap org IDs in webhook debug log attribute by @billyvg in [#118097](https://github.com/getsentry/sentry/pull/118097)
- (grouping) Reject Seer matches with mismatched exception types by @yuvmen in [#118202](https://github.com/getsentry/sentry/pull/118202)
- (groups) Normalize string `assignedTo` value before optimistic bulk update by @shashjar in [#119588](https://github.com/getsentry/sentry/pull/119588)
- (issue details) Send time range params for specific event IDs in prev/next navigation by @shashjar in [#118246](https://github.com/getsentry/sentry/pull/118246)
- (issue-search) Prevent overflow crash in recommended_v2 sort by @roggenkemper in [#118277](https://github.com/getsentry/sentry/pull/118277)
- (issue-stream) Dismiss the Recommended sort badge after a sort is chosen by @roggenkemper in [#119537](https://github.com/getsentry/sentry/pull/119537)
- (issue-views) Stop view sort changes from overwriting the feed sort by @roggenkemper in [#119415](https://github.com/getsentry/sentry/pull/119415)
- (listBox) Fix virtualized scrolling when mouse is used by @TkDodo in [#118380](https://github.com/getsentry/sentry/pull/118380)
- (mcp) Add mcp referrer by @wmak in [#118167](https://github.com/getsentry/sentry/pull/118167)
- (metric-monitors) Anchor non-percentage chart y-axis at zero by @malwilley in [#118384](https://github.com/getsentry/sentry/pull/118384)
- (middleware) Guard request.auth access in is_frontend_request by @sentry in [#117966](https://github.com/getsentry/sentry/pull/117966)
- (mobile-vitals) Include app.start in cold/warm start transaction.op conditions by @buenaflor in [#118436](https://github.com/getsentry/sentry/pull/118436)
- (msteams) Treat ApiUnauthorized (401) as a configuration halt, not a failure by @billyvg in [#119510](https://github.com/getsentry/sentry/pull/119510)
- (nav) Keep mobile menu open when switching organizations by @natemoo-re in [#117683](https://github.com/getsentry/sentry/pull/117683)
- (nav-tour) Navigate to Sentry Built dashboards in step 4 by @ale-cota in [#118342](https://github.com/getsentry/sentry/pull/118342)
- (organizationMembers) Convert OrganizationMemberRow to function component by @sentry in [#118477](https://github.com/getsentry/sentry/pull/118477)
- (overlay) Recalculate controlled overlay position on open by @TkDodo in [#119611](https://github.com/getsentry/sentry/pull/119611)
- (page-frame) Standardize spacings by @TkDodo in [#118451](https://github.com/getsentry/sentry/pull/118451)
- (pagefilters) Clamp old absolute date changes by @nsdeschenes in [#118720](https://github.com/getsentry/sentry/pull/118720)
- (plugins) Block deprecated plugins from test-fire notifications by @Christinarlong in [#118257](https://github.com/getsentry/sentry/pull/118257)
- (preprocessing) Handle malformed URLs and missing raw frame keys by @Christinarlong in [#117816](https://github.com/getsentry/sentry/pull/117816)
- (processing-errors) Drop null entries from event errors by @cvxluo in [#118312](https://github.com/getsentry/sentry/pull/118312)
- (producer) Register SingletonProducer shutdown eagerly by @untitaker in [#118650](https://github.com/getsentry/sentry/pull/118650)
- (profiling) Detect android trace chunks by version and structure by @markushi in [#119604](https://github.com/getsentry/sentry/pull/119604)
- (project) Skip optimistic update on project slug change by @TkDodo in [#118822](https://github.com/getsentry/sentry/pull/118822)
- (project-settings) Migrate release token regeneration to async/await by @sentry in [#118267](https://github.com/getsentry/sentry/pull/118267)
- (projectKeys) Migrate KeyStats to useApiQuery by @sentry in [#117757](https://github.com/getsentry/sentry/pull/117757)
- (projectReleaseTracking) Migrate release token regeneration to useMutation by @sentry in [#118270](https://github.com/getsentry/sentry/pull/118270)
- (query-builder) Move logging out of loop by @nsdeschenes in [#118086](https://github.com/getsentry/sentry/pull/118086)
- (query-client) Stop retrying on 400s by @nsdeschenes in [#117928](https://github.com/getsentry/sentry/pull/117928)
- (quotas) Add repr for quota config by @volokluev in [#118601](https://github.com/getsentry/sentry/pull/118601)
- (redis) Fix handling of boolean values by @lobsterkatie in [#117931](https://github.com/getsentry/sentry/pull/117931)
- (relay) Flush the organization options local cache for project recomputation by @klochek in [#117602](https://github.com/getsentry/sentry/pull/117602)
- (reprocessing) Check for stale reprocessing by @tobias-wilfert in [#118626](https://github.com/getsentry/sentry/pull/118626)
- (resultGrid) Migrate api.request to api.requestPromise by @sentry in [#118265](https://github.com/getsentry/sentry/pull/118265)
- (scim) Add scimType and status to SCIM error responses by @Asynchronite in [#117870](https://github.com/getsentry/sentry/pull/117870)
- (scm) Update error handling in project webhook task by @GabeVillalobos in [#118248](https://github.com/getsentry/sentry/pull/118248)
- (scm-sync) Skip repo sync creation for repos scheduled for deletion by @bruno-garcia in [#119332](https://github.com/getsentry/sentry/pull/119332)
- (sdk) Inherit parent sampling decision instead of overriding it by @Lms24 in [#118736](https://github.com/getsentry/sentry/pull/118736)
- (serviceWorker) Gracefully handle SecurityError in sandboxed iframes by @sentry in [#119170](https://github.com/getsentry/sentry/pull/119170)
- (slack) Ensure Slack user is member of org for Seer actions by @ceorourke in [#118877](https://github.com/getsentry/sentry/pull/118877)
- (snapshots) Use sun icon for light/dark preview toggle by @NicoHinderling in [#119120](https://github.com/getsentry/sentry/pull/119120)
- (spike-protection) Keep toggle value after save on project settings by @TkDodo in [#118459](https://github.com/getsentry/sentry/pull/118459)
- (split-panel) Restore horizontal divider hit area by @TkDodo in [#119623](https://github.com/getsentry/sentry/pull/119623)
- (splitPanel) Clamp the sized pane to its min size by @TkDodo in [#118338](https://github.com/getsentry/sentry/pull/118338)
- (stories) Use default variant for Default button example in button.mdx by @ryan953 in [#119347](https://github.com/getsentry/sentry/pull/119347)
- (tab) Observe the root tabs component when calculating overflowMenu by @TkDodo in [#118546](https://github.com/getsentry/sentry/pull/118546)
- (taskworker) Add the ability to send canary tasks from taskbroker_send_tasks by @evanh in [#119224](https://github.com/getsentry/sentry/pull/119224)
- (teamProjects) Migrate api.request to useMutation by @sentry in [#118038](https://github.com/getsentry/sentry/pull/118038)
- (tempest) Align frontend permissions to backend checks by @mujacica in [#118540](https://github.com/getsentry/sentry/pull/118540)
- (tests) Always run control silo URL tests by @kenzoengineer in [#117862](https://github.com/getsentry/sentry/pull/117862)
- (textAreaAutoSize) Turn off the react compiler by @TkDodo in [#119618](https://github.com/getsentry/sentry/pull/119618)
- (theme) Strip stale body theme class on cmd-k theme switch by @TkDodo in [#118432](https://github.com/getsentry/sentry/pull/118432)
- (trace-item-stats) Resolve issue with pagination by @nsdeschenes in [#118039](https://github.com/getsentry/sentry/pull/118039)
- (trace-view) Show App Start Cold/Warm vitals for app.start transactions by @buenaflor in [#118438](https://github.com/getsentry/sentry/pull/118438)
- (uptime) Use safe HTTP for robots.txt fetch in autodetect by @michelletran-sentry in [#118358](https://github.com/getsentry/sentry/pull/118358)
- (useResizableDrawer) Don't rely on stable options by @TkDodo in [#118092](https://github.com/getsentry/sentry/pull/118092)
- (weekly-report) Prevent recording delivery on dry runs by @amy-chen23 in [#118249](https://github.com/getsentry/sentry/pull/118249)
- (weekly-reports) Cache event counts after successfully sending emails by @amy-chen23 in [#118309](https://github.com/getsentry/sentry/pull/118309)
- (workflow) Speed up workflow group history count query by @Christinarlong in [#118323](https://github.com/getsentry/sentry/pull/118323)
- (workflow-engine) Require DataConditionGroup IDs to be ints by @kcons in [#117887](https://github.com/getsentry/sentry/pull/117887)
- Seer header responsiveness by @TkDodo in [#118924](https://github.com/getsentry/sentry/pull/118924)
- Forward query string verbatim in Objectstore proxy and API gateways by @lcian in [#119512](https://github.com/getsentry/sentry/pull/119512)
- Enable ce for all orgs by @shruthilayaj in [#119014](https://github.com/getsentry/sentry/pull/119014)
- Use a global h1 for title slot by @TkDodo in [#118014](https://github.com/getsentry/sentry/pull/118014)

### Documentation 📚

#### Scraps

- Point Flex column direction to Stack by @priscilawebdev in [#119599](https://github.com/getsentry/sentry/pull/119599)
- [StatusIndicator] add non-animated usage subsection by @JoshuaKGoldberg in [#118599](https://github.com/getsentry/sentry/pull/118599)

#### Other

- (api) Add download query parameter to attachment details OpenAPI schema by @jan-auer in [#119105](https://github.com/getsentry/sentry/pull/119105)
- (cells) Update skill with better directions to run cell routing mode by @lynnagara in [#118079](https://github.com/getsentry/sentry/pull/118079)
- (explore) Add replays and ai_conversations to dataset help text by @vgrozdanic in [#118810](https://github.com/getsentry/sentry/pull/118810)
- (laravel) Add AI agent monitoring onboarding by @constantinius in [#118363](https://github.com/getsentry/sentry/pull/118363)
- (metrics) Document metric tag conventions by @shellmayr in [#117787](https://github.com/getsentry/sentry/pull/117787)
- (preprod) Clarify diff snapshots omit top-level images array by @NicoHinderling in [#118198](https://github.com/getsentry/sentry/pull/118198)
- (seer) Update GitLab MR limitation comment by @billyvg in [#117831](https://github.com/getsentry/sentry/pull/117831)
- Add tracing wrapper guidance to backend AGENTS.md by @cleptric in [#118781](https://github.com/getsentry/sentry/pull/118781)

### Internal Changes 🔧

#### Action Log

- Deduplicate pull request closed action by @malwilley in [#119367](https://github.com/getsentry/sentry/pull/119367)
- Add test helper to assert action log publishing by @kcons in [#119271](https://github.com/getsentry/sentry/pull/119271)

#### Ai Search

- Gate issue list AI search on gen-ai-issues-search flag by @aliu39 in [#118425](https://github.com/getsentry/sentry/pull/118425)
- Add gen-ai-issues-search feature flag by @aliu39 in [#118424](https://github.com/getsentry/sentry/pull/118424)

#### Alerts

- Add rendering support for resolution activities by @leeandher in [#119259](https://github.com/getsentry/sentry/pull/119259)
- Increase legacy alerts API brownouts by @ceorourke in [#118680](https://github.com/getsentry/sentry/pull/118680)
- Dont use legacy alerts endpoint in metric issue details by @ceorourke in [#117482](https://github.com/getsentry/sentry/pull/117482)
- Batch detector fetches on Alerts list by @shashjar in [#116798](https://github.com/getsentry/sentry/pull/116798)

#### Api

- Type group reprocessing status details info by @cvxluo in [#119684](https://github.com/getsentry/sentry/pull/119684)
- Tighten trace endpoint response types by @cvxluo in [#118955](https://github.com/getsentry/sentry/pull/118955)
- Tighten event serializer response types by @cvxluo in [#119351](https://github.com/getsentry/sentry/pull/119351)
- Type event/group event-type as a Literal by @cvxluo in [#119350](https://github.com/getsentry/sentry/pull/119350)
- Type group level as a Literal by @cvxluo in [#118758](https://github.com/getsentry/sentry/pull/118758)
- Type event serializer occurrence by @cvxluo in [#118926](https://github.com/getsentry/sentry/pull/118926)
- Type event serializer groupingConfig by @cvxluo in [#118786](https://github.com/getsentry/sentry/pull/118786)
- Type group response fields as literals by @cvxluo in [#118668](https://github.com/getsentry/sentry/pull/118668)
- Promote Telemetry Experience release endpoints to spectacular public docs (sentry-api-schema#76) by @betegon in [#118005](https://github.com/getsentry/sentry/pull/118005)
- Reassign release endpoints from TELEMETRY_EXPERIENCE/UNOWNED to COMMUNITY by @vgrozdanic in [#118339](https://github.com/getsentry/sentry/pull/118339)
- Use token operationIds + summary for preprod/monitors/sentry_apps/notifications/seer/feedback endpoints by @betegon in [#117403](https://github.com/getsentry/sentry/pull/117403)
- Use token operationIds + summary for issues/integrations/releases/workflow endpoints by @betegon in [#117339](https://github.com/getsentry/sentry/pull/117339)
- Use token operationIds + summary for core + api endpoints by @betegon in [#117337](https://github.com/getsentry/sentry/pull/117337)
- Add control silo URL patterns for monitoring provider API endpoints by @shashjar in [#117851](https://github.com/getsentry/sentry/pull/117851)

#### Apigw

- Catch more network errors on proxied requests by @gi0baro in [#118729](https://github.com/getsentry/sentry/pull/118729)
- Prevent netloc mismatch on proxied requests by @gi0baro in [#118640](https://github.com/getsentry/sentry/pull/118640)
- Review routes, add tests, readme by @gi0baro in [#117313](https://github.com/getsentry/sentry/pull/117313)

#### Ask Seer

- Register UX Rework Flag by @nsdeschenes in [#119645](https://github.com/getsentry/sentry/pull/119645)
- Add default to ask seer feature flag by @nsdeschenes in [#118721](https://github.com/getsentry/sentry/pull/118721)

#### Autofix

- One more quick ref before adding check suite handling by @joseph-sentry in [#119520](https://github.com/getsentry/sentry/pull/119520)
- Move pr iteration functionality around by @joseph-sentry in [#119299](https://github.com/getsentry/sentry/pull/119299)
- Remove checkWriteAccess from useAutofixSetup by @Zylphrex in [#118667](https://github.com/getsentry/sentry/pull/118667)
- Remove checkWriteAccess from useAutofixSetup by @Zylphrex in [#118665](https://github.com/getsentry/sentry/pull/118665)
- Add rendering for PR Iteration activities by @joseph-sentry in [#118408](https://github.com/getsentry/sentry/pull/118408)

#### Billing

- Bump sentry-protos to 0.43.3 by @armcknight in [#119594](https://github.com/getsentry/sentry/pull/119594)
- Bump sentry-protos to 0.43.0 by @skonves in [#119358](https://github.com/getsentry/sentry/pull/119358)
- Bump sentry-protos to 0.42.0 by @armcknight in [#119178](https://github.com/getsentry/sentry/pull/119178)
- Add quota_config_mapping for proto/sentry QuotaConfig conversion by @volokluev in [#119133](https://github.com/getsentry/sentry/pull/119133)
- Bump sentry-protos to 0.41.0 by @armcknight in [#119143](https://github.com/getsentry/sentry/pull/119143)
- Remove dead overage-warning banner code by @noahsmartin in [#118977](https://github.com/getsentry/sentry/pull/118977)
- Derive checkout categories on the frontend by @noahsmartin in [#118785](https://github.com/getsentry/sentry/pull/118785)
- Added snapshot tests for billing details widget(REVENG-245) by @krithikravi in [#118260](https://github.com/getsentry/sentry/pull/118260)
- Bumped sentry-protos version to 0.31.2 by @krithikravi in [#117842](https://github.com/getsentry/sentry/pull/117842)

#### Billing Platform

- Bump sentry-protos 0.44.2 by @brendanhsentry in [#119730](https://github.com/getsentry/sentry/pull/119730)
- Bump sentry-protos 0.44.1 by @brendanhsentry in [#119644](https://github.com/getsentry/sentry/pull/119644)
- Bump sentry-protos 0.37.1 by @brendanhsentry in [#118773](https://github.com/getsentry/sentry/pull/118773)

#### Cells

- Drop category filter from get_cells / get_cell_name by @lynnagara in [#118070](https://github.com/getsentry/sentry/pull/118070)
- Updates error-embed URL to point to control by default by @GabeVillalobos in [#118056](https://github.com/getsentry/sentry/pull/118056)
- Remove unused find_all_multitenant_cell_names function by @lynnagara in [#117875](https://github.com/getsentry/sentry/pull/117875)
- Deprecate cells category by @lynnagara in [#117844](https://github.com/getsentry/sentry/pull/117844)
- Remove `category` from CellConfig by @lynnagara in [#117558](https://github.com/getsentry/sentry/pull/117558)

#### Codeowners

- Add dashboards as owner of static/app/utils/dashboards by @DominikB2014 in [#118686](https://github.com/getsentry/sentry/pull/118686)
- Change the owner of attachments endpoint by @olksdr in [#117665](https://github.com/getsentry/sentry/pull/117665)

#### Control

- Remove control callees for Team replication by @strongs in [#119647](https://github.com/getsentry/sentry/pull/119647)
- Actually DROP ExternalActorReplica by @strongs in [#119533](https://github.com/getsentry/sentry/pull/119533)
- Pending deletion for dead ExternalActorReplica table by @strongs in [#119532](https://github.com/getsentry/sentry/pull/119532)
- Remove control callees for ExternalActor replication by @strongs in [#119527](https://github.com/getsentry/sentry/pull/119527)
- Stop regions from replicating ExternalActor by @strongs in [#119525](https://github.com/getsentry/sentry/pull/119525)
- Remove last/test-only reader of ExternalActorReplica by @strongs in [#119429](https://github.com/getsentry/sentry/pull/119429)

#### Conversations

- Memoize transcript turns to fix selection lag by @ArthurKnaus in [#119598](https://github.com/getsentry/sentry/pull/119598)
- Avoid empty wrapper around the span detail issue list by @ArthurKnaus in [#119603](https://github.com/getsentry/sentry/pull/119603)
- Read tool output size from conversation spans by @ArthurKnaus in [#119509](https://github.com/getsentry/sentry/pull/119509)
- Unify errored span icon across timeline, transcript, and span detail by @priscilawebdev in [#119378](https://github.com/getsentry/sentry/pull/119378)
- Remove 900px content max width by @priscilawebdev in [#119292](https://github.com/getsentry/sentry/pull/119292)
- Bump user details and traces to 12px font-size by @priscilawebdev in [#119090](https://github.com/getsentry/sentry/pull/119090)
- Reuse shared SaveQueryModal for conversations by @constantinius in [#118921](https://github.com/getsentry/sentry/pull/118921)
- Remove input/output tooltip from redesigned table by @obostjancic in [#118901](https://github.com/getsentry/sentry/pull/118901)
- Persist table columns and widths together by @priscilawebdev in [#118545](https://github.com/getsentry/sentry/pull/118545)

#### Dashboards

- Speed up Heat Map drag-to-zoom by @gggritso in [#119346](https://github.com/getsentry/sentry/pull/119346)
- Change AI dashboard CTA to "Save and Finish" by @jameskeane in [#117690](https://github.com/getsentry/sentry/pull/117690)
- Use a render prop for heat map tooltip actions by @gggritso in [#118107](https://github.com/getsentry/sentry/pull/118107)
- Simplify shared heat map bucket helpers by @gggritso in [#117957](https://github.com/getsentry/sentry/pull/117957)
- Extract shared heat map chart utilities by @gggritso in [#117873](https://github.com/getsentry/sentry/pull/117873)

#### Deps

- Bump soupsieve from 2.3.2.post1 to 2.8.4 by @dependabot in [#119539](https://github.com/getsentry/sentry/pull/119539)
- Bump mistune from 3.2.1 to 3.3.0 by @dependabot in [#119538](https://github.com/getsentry/sentry/pull/119538)
- Bump focus-trap from 7.6.5 to 8.2.2 by @dependabot in [#118972](https://github.com/getsentry/sentry/pull/118972)
- Update `@sentry/conventions` to `0.16.0` by @Lms24 in [#119502](https://github.com/getsentry/sentry/pull/119502)
- Bump Frontend Sentry SDK packages to `10.65.0` by @Lms24 in [#119515](https://github.com/getsentry/sentry/pull/119515)
- Bump less-loader from 12.2.0 to 13.0.0 by @dependabot in [#119020](https://github.com/getsentry/sentry/pull/119020)
- Bump esbuild from 0.25.10 to 0.28.1 by @dependabot in [#117584](https://github.com/getsentry/sentry/pull/117584)
- Bump @tanstack/react-pacer from 0.17.0 to 0.22.1 by @dependabot in [#117261](https://github.com/getsentry/sentry/pull/117261)
- Bump @types/react-mentions from 4.1.13 to 4.4.1 by @dependabot in [#117259](https://github.com/getsentry/sentry/pull/117259)
- Bump lodash from 4.17.23 to 4.18.1 in /api-docs by @dependabot in [#112110](https://github.com/getsentry/sentry/pull/112110)
- Bump jsonrepair from 3.8.0 to 3.14.0 by @dependabot in [#117258](https://github.com/getsentry/sentry/pull/117258)
- Bump msgpack from 1.1.0 to 1.2.1 by @dependabot in [#118891](https://github.com/getsentry/sentry/pull/118891)
- Bump js-yaml from 3.14.2 to 3.15.0 in /api-docs by @dependabot in [#118673](https://github.com/getsentry/sentry/pull/118673)
- Bump `@sentry/*` packages to 10.63.0 by @Lms24 in [#118835](https://github.com/getsentry/sentry/pull/118835)
- Bump pyjwt from 2.12.0 to 2.13.0 by @dependabot in [#118790](https://github.com/getsentry/sentry/pull/118790)
- Bump shell-quote to 1.9.0 to clear CVE-2026-9277 by @oioki in [#118760](https://github.com/getsentry/sentry/pull/118760)
- Bump devservices to 1.4.2 by @getsentry-bot in [#118127](https://github.com/getsentry/sentry/pull/118127)
- Bump dompurify from 3.4.9 to 3.4.11 by @dependabot in [#118062](https://github.com/getsentry/sentry/pull/118062)
- Bump sentry-conventions to 0.12.0 by @constantinius in [#117896](https://github.com/getsentry/sentry/pull/117896)
- Bump dompurify from 3.4.2 to 3.4.9 by @dependabot in [#117752](https://github.com/getsentry/sentry/pull/117752)

#### Deps Dev

- Bump playwright from 1.58.2 to 1.61.1 by @dependabot in [#118969](https://github.com/getsentry/sentry/pull/118969)
- Bump knip from 6.19.0 to 6.24.0 by @dependabot in [#118973](https://github.com/getsentry/sentry/pull/118973)
- Bump expect-type from 1.2.1 to 1.4.0 by @dependabot in [#118970](https://github.com/getsentry/sentry/pull/118970)
- Bump @sentry-internal/rrweb-types from 2.41.0 to 2.43.0 by @dependabot in [#117257](https://github.com/getsentry/sentry/pull/117257)

#### Devenv

- Remove dedicated eval taskworkers by @untitaker in [#118876](https://github.com/getsentry/sentry/pull/118876)
- Run ingest-replay-recordings via taskbroker raw mode by @untitaker in [#118871](https://github.com/getsentry/sentry/pull/118871)
- Merge all taskbroker pools into one by @untitaker in [#118869](https://github.com/getsentry/sentry/pull/118869)
- Replace subscriptions consumers with tasks by @lvthanh03 in [#118348](https://github.com/getsentry/sentry/pull/118348)

#### Discover

- Refactor ResultsHeader to functional component by @sentry in [#118799](https://github.com/getsentry/sentry/pull/118799)
- Refactor render* functions into their own components inside views/discover/results.tsx by @ryan953 in [#118791](https://github.com/getsentry/sentry/pull/118791)
- Convert SavedQueryButtonGroup to functional component by @sentry in [#118475](https://github.com/getsentry/sentry/pull/118475)
- Convert MiniGraph to function component by @sentry in [#117960](https://github.com/getsentry/sentry/pull/117960)

#### Docs

- Specify replacement for deprecated margin props in Container by @sentry in [#119650](https://github.com/getsentry/sentry/pull/119650)
- Update 'alert rule action' from user-facing text to 'alert action' by @leeandher in [#119008](https://github.com/getsentry/sentry/pull/119008)

#### Dynamic Sampling

- Reduce scheduler tick interval to 10s by @constantinius in [#119491](https://github.com/getsentry/sentry/pull/119491)
- Tighten sampling table types by @scttcper in [#118761](https://github.com/getsentry/sentry/pull/118761)
- Add finer smallest-transaction factor buckets by @shellmayr in [#118643](https://github.com/getsentry/sentry/pull/118643)
- Remove temporary eap debug metric tests by @constantinius in [#118439](https://github.com/getsentry/sentry/pull/118439)
- Use outcomes volume for org sliding window rate by @shellmayr in [#118229](https://github.com/getsentry/sentry/pull/118229)
- Make project id tag smaller by @shellmayr in [#117782](https://github.com/getsentry/sentry/pull/117782)

#### Explore

- Read attributeDistributions key from trace item stats by @cvxluo in [#117262](https://github.com/getsentry/sentry/pull/117262)
- Remove attribute validation mocks by @nsdeschenes in [#118719](https://github.com/getsentry/sentry/pull/118719)
- Remove last_received from attribute context tables by @DominikB2014 in [#118562](https://github.com/getsentry/sentry/pull/118562)
- Remove explore-schema-hints-removal feature flag by @JoshuaKGoldberg in [#117798](https://github.com/getsentry/sentry/pull/117798)
- Remove frontend schema hints code by @JoshuaKGoldberg in [#117717](https://github.com/getsentry/sentry/pull/117717)

#### Exports

- Refactor useDataExport to use a mutation hook by @JoshuaKGoldberg in [#117453](https://github.com/getsentry/sentry/pull/117453)
- Formalize types for DataExportPayload by @JoshuaKGoldberg in [#117449](https://github.com/getsentry/sentry/pull/117449)

#### Externalissues

- Migrate api.request to api.requestPromise in usePluginExternalIssues by @sentry in [#117756](https://github.com/getsentry/sentry/pull/117756)
- Migrate api.request to api.requestPromise by @sentry in [#117730](https://github.com/getsentry/sentry/pull/117730)

#### Features

- Remove unused `organizations:profiling-beta` flag by @cvxluo in [#118959](https://github.com/getsentry/sentry/pull/118959)
- Remove `organizations:intercom-support` by @cvxluo in [#118113](https://github.com/getsentry/sentry/pull/118113)

#### Flags

- Remove organizations:uptime-response-capture by @cvxluo in [#119029](https://github.com/getsentry/sentry/pull/119029)
- Remove heat-map-unfurl feature flag by @gggritso in [#119066](https://github.com/getsentry/sentry/pull/119066)
- Remove legacy webhook UI flag by @nsdeschenes in [#118256](https://github.com/getsentry/sentry/pull/118256)

#### Forms

- Migrate Sentry app publish request modal off JsonForm to scraps form by @priscilawebdev in [#119184](https://github.com/getsentry/sentry/pull/119184)
- Migrate gsAdmin provision form off deprecatedforms by @natemoo-re in [#118775](https://github.com/getsentry/sentry/pull/118775)
- Migrate projectGeneralSettings to scraps by @TkDodo in [#118716](https://github.com/getsentry/sentry/pull/118716)
- Migrate project alert settings to scraps form by @TkDodo in [#118663](https://github.com/getsentry/sentry/pull/118663)

#### Github

- Parallelize repo-list pagination for the repos endpoint by @jaydgoss in [#118764](https://github.com/getsentry/sentry/pull/118764)
- Add github permission helpers by @joseph-sentry in [#119010](https://github.com/getsentry/sentry/pull/119010)

#### Gitlab

- Log `on_create_repository` webhook creation path by @billyvg in [#119333](https://github.com/getsentry/sentry/pull/119333)
- Namespace webhook log attributes and add malformed-token context by @billyvg in [#117959](https://github.com/getsentry/sentry/pull/117959)

#### Grouping

- Improve random id parameterization by @lobsterkatie in [#118531](https://github.com/getsentry/sentry/pull/118531)
- Add broken random id parameterization test cases by @lobsterkatie in [#118519](https://github.com/getsentry/sentry/pull/118519)
- Cap length of scheme in url parameterization regex by @lobsterkatie in [#118512](https://github.com/getsentry/sentry/pull/118512)
- Include Seer distance in merged issues response by @lobsterkatie in [#117965](https://github.com/getsentry/sentry/pull/117965)

#### Hybridcloud

- Stop regions from replicating Team by @strongs in [#119646](https://github.com/getsentry/sentry/pull/119646)
- Remove last/test-only reader of TeamReplica by @strongs in [#119640](https://github.com/getsentry/sentry/pull/119640)

#### Integrations

- Graduate `integrations-github_enterprise-project-management` by @cvxluo in [#119564](https://github.com/getsentry/sentry/pull/119564)
- Replace Slack update alert box with warning icon tooltip by @alexsohn1126 in [#118939](https://github.com/getsentry/sentry/pull/118939)
- Track when auto-open integration modal is used by @alexsohn1126 in [#118659](https://github.com/getsentry/sentry/pull/118659)
- Type IntegrationSerializer response shapes by @cvxluo in [#116654](https://github.com/getsentry/sentry/pull/116654)
- Rename sentryAppExternalForm.new to sentryAppExternalForm by @priscilawebdev in [#118118](https://github.com/getsentry/sentry/pull/118118)
- Make schema form migration the default by @priscilawebdev in [#116753](https://github.com/getsentry/sentry/pull/116753)
- Convert api.request to async/await in integrationDetailedView by @sentry in [#117729](https://github.com/getsentry/sentry/pull/117729)

#### Issue Details

- Remove GroupStore dependency from issue activity by @malwilley in [#118414](https://github.com/getsentry/sentry/pull/118414)
- Use useGroupId() context instead of useParams in sample event check by @malwilley in [#118295](https://github.com/getsentry/sentry/pull/118295)
- Make comment create/update/delete behavior non-optimistic by @malwilley in [#118317](https://github.com/getsentry/sentry/pull/118317)
- Add context for group ID and group/project data by @malwilley in [#118075](https://github.com/getsentry/sentry/pull/118075)

#### Issue Search

- Provide projects to PostgresSortStrategy signal resolvers by @kcons in [#119566](https://github.com/getsentry/sentry/pull/119566)
- Skip zero-weight signal queries in recommended_v2 by @roggenkemper in [#118937](https://github.com/getsentry/sentry/pull/118937)

#### Issues

- Remove orphaned suspect flags/tags modules by @mrduncan in [#119699](https://github.com/getsentry/sentry/pull/119699)
- Shorten Recommended and Progress sort descriptions by @roggenkemper in [#119425](https://github.com/getsentry/sentry/pull/119425)
- Collapse recommended sort variants into one dropdown option by @roggenkemper in [#119234](https://github.com/getsentry/sentry/pull/119234)
- Share progress marker icons by @scttcper in [#118878](https://github.com/getsentry/sentry/pull/118878)
- Fold low-value span re-parenting into a single pass by @ArthurKnaus in [#119053](https://github.com/getsentry/sentry/pull/119053)
- Rename Sentry Configuration menu item to Configuration by @ArthurKnaus in [#119055](https://github.com/getsentry/sentry/pull/119055)
- Remove linked pull request feature flag by @scttcper in [#118767](https://github.com/getsentry/sentry/pull/118767)
- Remove linked pull request frontend flag by @scttcper in [#118766](https://github.com/getsentry/sentry/pull/118766)
- Remove linked pull request endpoint flag by @scttcper in [#118765](https://github.com/getsentry/sentry/pull/118765)
- Gate low-value span configuration issue sections via issue type config by @ArthurKnaus in [#118440](https://github.com/getsentry/sentry/pull/118440)
- Remove legacy plugin fields from group type by @scttcper in [#118329](https://github.com/getsentry/sentry/pull/118329)
- Unregister groups.regression-activity-event-metadata option by @vgrozdanic in [#118227](https://github.com/getsentry/sentry/pull/118227)
- Remove groups.regression-activity-event-metadata flag guard by @vgrozdanic in [#118226](https://github.com/getsentry/sentry/pull/118226)
- Clean up external issue dynamic field resets by @scttcper in [#117761](https://github.com/getsentry/sentry/pull/117761)
- Rename progress state 'triaged' to 'assigned' by @malwilley in [#117964](https://github.com/getsentry/sentry/pull/117964)
- Rename triaged progress state to assigned by @malwilley in [#117948](https://github.com/getsentry/sentry/pull/117948)
- Instrument Postgres sort internals with trace spans by @roggenkemper in [#117812](https://github.com/getsentry/sentry/pull/117812)

#### Markdown

- Add handled to copy to markdown by @shayna-ch in [#117889](https://github.com/getsentry/sentry/pull/117889)
- Add message to copy to markdown by @shayna-ch in [#117882](https://github.com/getsentry/sentry/pull/117882)
- Add http request to markdown by @shayna-ch in [#117857](https://github.com/getsentry/sentry/pull/117857)
- Add breadcrumbs to 'copy to markdown' by @shayna-ch in [#117815](https://github.com/getsentry/sentry/pull/117815)

#### Migrations

- Replace cross-migration \__import__ with sentry.new_migrations.operations.to_jsonb by @vgrozdanic in [#118750](https://github.com/getsentry/sentry/pull/118750)
- Squash migrations across all apps by @vgrozdanic in [#118135](https://github.com/getsentry/sentry/pull/118135)
- Improve generate-migration skill by @wedamija in [#118310](https://github.com/getsentry/sentry/pull/118310)
- Add to_jsonb utility to new_migrations.operations by @vgrozdanic in [#118122](https://github.com/getsentry/sentry/pull/118122)

#### Notif Platform

- Support italics and blockquote sections by @leeandher in [#118692](https://github.com/getsentry/sentry/pull/118692)
- Allow headers + footers to support rich text by @leeandher in [#118573](https://github.com/getsentry/sentry/pull/118573)

#### O11y

- Bump Python SDK to 2.64.0 by @alexander-alderman-webb in [#119403](https://github.com/getsentry/sentry/pull/119403)
- Use `start_span()` shim everywhere by @alexander-alderman-webb in [#119307](https://github.com/getsentry/sentry/pull/119307)
- Dual write remaining tags and context by @alexander-alderman-webb in [#119291](https://github.com/getsentry/sentry/pull/119291)
- Read segment name in the streaming trace lifecycle by @alexander-alderman-webb in [#119289](https://github.com/getsentry/sentry/pull/119289)
- Adapt gate for setting `used_default_cache` by @alexander-alderman-webb in [#119286](https://github.com/getsentry/sentry/pull/119286)
- Set `http.status` on a span instead of the transaction by @alexander-alderman-webb in [#119287](https://github.com/getsentry/sentry/pull/119287)
- Shim `trace()` by @alexander-alderman-webb in [#119282](https://github.com/getsentry/sentry/pull/119282)
- Shim `get_current_span()` by @alexander-alderman-webb in [#119281](https://github.com/getsentry/sentry/pull/119281)
- Raise transport queue size by @alexander-alderman-webb in [#118809](https://github.com/getsentry/sentry/pull/118809)
- Shim SDK tracing functions in Ingest files by @alexander-alderman-webb in [#117991](https://github.com/getsentry/sentry/pull/117991)
- Shim SDK tracing functions in unowned files by @alexander-alderman-webb in [#118007](https://github.com/getsentry/sentry/pull/118007)
- Shim SDK tracing functions in consumer monitors by @alexander-alderman-webb in [#117979](https://github.com/getsentry/sentry/pull/117979)
- Shim SDK tracing functions in `app-backend` files by @alexander-alderman-webb in [#117978](https://github.com/getsentry/sentry/pull/117978)
- Shim SDK tracing functions in `issue-workflow` files by @alexander-alderman-webb in [#117995](https://github.com/getsentry/sentry/pull/117995)
- Shim SDK tracing functions in Alerts & Monitors files by @alexander-alderman-webb in [#117976](https://github.com/getsentry/sentry/pull/117976)
- Shim SDK tracing functions in billing by @alexander-alderman-webb in [#118625](https://github.com/getsentry/sentry/pull/118625)
- Shim SDK tracing functions in consumer profiler by @alexander-alderman-webb in [#117999](https://github.com/getsentry/sentry/pull/117999)
- Shim SDK tracing functions in Data Browsing files by @alexander-alderman-webb in [#117984](https://github.com/getsentry/sentry/pull/117984)
- Shim SDK tracing functions in release model by @alexander-alderman-webb in [#117985](https://github.com/getsentry/sentry/pull/117985)
- Shim SDK tracing functions in `owners-snuba` files by @alexander-alderman-webb in [#118000](https://github.com/getsentry/sentry/pull/118000)
- Shim SDK tracing functions in slack and msteams integrations by @alexander-alderman-webb in [#117997](https://github.com/getsentry/sentry/pull/117997)
- Shim SDK tracing functions in auth by @alexander-alderman-webb in [#117987](https://github.com/getsentry/sentry/pull/117987)
- Shim SDK tracing functions in issues by @alexander-alderman-webb in [#117993](https://github.com/getsentry/sentry/pull/117993)
- Shim SDK tracing functions in Notifications files by @alexander-alderman-webb in [#117998](https://github.com/getsentry/sentry/pull/117998)
- Shim SDK tracing functions in `telemetry-experience` files by @alexander-alderman-webb in [#118006](https://github.com/getsentry/sentry/pull/118006)
- Shim SDK tracing functions in Emerge Tools endpoints by @alexander-alderman-webb in [#117986](https://github.com/getsentry/sentry/pull/117986)
- Shim SDK tracing functions in profiles by @alexander-alderman-webb in [#118001](https://github.com/getsentry/sentry/pull/118001)
- Shim SDK tracing functions in `sentry_app_components` by @alexander-alderman-webb in [#117992](https://github.com/getsentry/sentry/pull/117992)
- Shim SDK tracing functions in github integration by @alexander-alderman-webb in [#117988](https://github.com/getsentry/sentry/pull/117988)
- Shim SDK tracing functions in snuba utils by @alexander-alderman-webb in [#117982](https://github.com/getsentry/sentry/pull/117982)
- Shim SDK tracing functions in dashboard by @alexander-alderman-webb in [#117980](https://github.com/getsentry/sentry/pull/117980)
- Shim SDK tracing functions in hybridcloud by @alexander-alderman-webb in [#117990](https://github.com/getsentry/sentry/pull/117990)
- Shim SDK tracing functions in `process_segments` consumer by @alexander-alderman-webb in [#117983](https://github.com/getsentry/sentry/pull/117983)
- Shim SDK tracing functions in Issue Detection files by @alexander-alderman-webb in [#117994](https://github.com/getsentry/sentry/pull/117994)
- Shim SDK tracing functions in security files by @alexander-alderman-webb in [#118004](https://github.com/getsentry/sentry/pull/118004)
- Shim SDK tracing functions in github enterprise webhook by @alexander-alderman-webb in [#118003](https://github.com/getsentry/sentry/pull/118003)
- Shim SDK tracing functions in tempest by @alexander-alderman-webb in [#117989](https://github.com/getsentry/sentry/pull/117989)
- Shim SDK tracing functions in seer by @alexander-alderman-webb in [#117996](https://github.com/getsentry/sentry/pull/117996)
- Shim SDK tracing functions in replays by @alexander-alderman-webb in [#118002](https://github.com/getsentry/sentry/pull/118002)
- Shim SDK tracing functions in project model by @alexander-alderman-webb in [#117981](https://github.com/getsentry/sentry/pull/117981)
- Set tags on `sdk_span` instead of the transaction by @alexander-alderman-webb in [#118266](https://github.com/getsentry/sentry/pull/118266)
- Add streaming trace lifecycle shims by @alexander-alderman-webb in [#117806](https://github.com/getsentry/sentry/pull/117806)
- Add extra fields to pull request handler logs by @srest2021 in [#118063](https://github.com/getsentry/sentry/pull/118063)
- Remove dead isolation scope block by @alexander-alderman-webb in [#117788](https://github.com/getsentry/sentry/pull/117788)
- Add `set_attribute` calls in span consumers by @alexander-alderman-webb in [#117639](https://github.com/getsentry/sentry/pull/117639)
- Add `set_attribute` calls in unowned files by @alexander-alderman-webb in [#117664](https://github.com/getsentry/sentry/pull/117664)
- Add `set_attribute` calls to sdk by @alexander-alderman-webb in [#117661](https://github.com/getsentry/sentry/pull/117661)
- Add `set_attribute` calls in workflow engine and query subscriptions by @alexander-alderman-webb in [#117632](https://github.com/getsentry/sentry/pull/117632)
- Add `set_attribute` calls in statistical detector by @alexander-alderman-webb in [#117638](https://github.com/getsentry/sentry/pull/117638)
- Add `set_attribute` calls in Integration Platform files by @alexander-alderman-webb in [#117648](https://github.com/getsentry/sentry/pull/117648)
- Add `set_attribute` calls in Coding Workflows files by @alexander-alderman-webb in [#117635](https://github.com/getsentry/sentry/pull/117635)
- Add `set_attribute` calls in Data Browsing files by @alexander-alderman-webb in [#117640](https://github.com/getsentry/sentry/pull/117640)
- Add `set_attribute` calls in `issue-workflow` files by @alexander-alderman-webb in [#117653](https://github.com/getsentry/sentry/pull/117653)
- Add `set_attribute` calls in `owners-snuba` files by @alexander-alderman-webb in [#117656](https://github.com/getsentry/sentry/pull/117656)
- Add `set_attribute` calls in discover by @alexander-alderman-webb in [#117641](https://github.com/getsentry/sentry/pull/117641)
- Add `set_attribute` calls in source code management by @alexander-alderman-webb in [#117634](https://github.com/getsentry/sentry/pull/117634)
- Add `set_attribute` calls in snuba utils by @alexander-alderman-webb in [#117637](https://github.com/getsentry/sentry/pull/117637)
- Add `set_attribute` calls to github enterprise webhook by @alexander-alderman-webb in [#117660](https://github.com/getsentry/sentry/pull/117660)
- Add `set_attribute` calls in profiling by @alexander-alderman-webb in [#117657](https://github.com/getsentry/sentry/pull/117657)
- Add `set_attribute` calls in feedback by @alexander-alderman-webb in [#117643](https://github.com/getsentry/sentry/pull/117643)
- Add `set_attribute` calls in replays by @alexander-alderman-webb in [#117659](https://github.com/getsentry/sentry/pull/117659)
- Add `set_attribute` calls in slack webhook by @alexander-alderman-webb in [#117655](https://github.com/getsentry/sentry/pull/117655)
- Add `set_attribute` calls in github webhook by @alexander-alderman-webb in [#117645](https://github.com/getsentry/sentry/pull/117645)
- Add `set_attribute` calls in jira webhooks by @alexander-alderman-webb in [#117658](https://github.com/getsentry/sentry/pull/117658)
- Bump `sentry_sdk` to 2.63.0 by @alexander-alderman-webb in [#117807](https://github.com/getsentry/sentry/pull/117807)
- Add `set_attribute` calls in Ingest files by @alexander-alderman-webb in [#117647](https://github.com/getsentry/sentry/pull/117647)
- Add `set_attribute` calls in App Backend files by @alexander-alderman-webb in [#117633](https://github.com/getsentry/sentry/pull/117633)
- Add `set_attribute` calls in issues endpoints by @alexander-alderman-webb in [#117650](https://github.com/getsentry/sentry/pull/117650)
- Add `set_attribute` calls for seer by @alexander-alderman-webb in [#117654](https://github.com/getsentry/sentry/pull/117654)
- Add `set_attribute` calls in Issue Detection files by @alexander-alderman-webb in [#117652](https://github.com/getsentry/sentry/pull/117652)

#### Onboarding

- Tablet, mobile style fixes for scm onboarding by @jaydgoss in [#118958](https://github.com/getsentry/sentry/pull/118958)
- Convert `dataCollection` hint to empty object in getting-started snippets by @chargome in [#117784](https://github.com/getsentry/sentry/pull/117784)

#### Performance

- Remove Transaction Summary's "Tags" tab by @mjq in [#119080](https://github.com/getsentry/sentry/pull/119080)
- Remove outdated comment re: transactions use by @mjq in [#119083](https://github.com/getsentry/sentry/pull/119083)

#### Platform

- Batch user_service look-ups into single request by @cmanallen in [#119251](https://github.com/getsentry/sentry/pull/119251)
- Replace deprecated datetime.utcnow calls with a naive UTC datetime replacement by @cmanallen in [#117822](https://github.com/getsentry/sentry/pull/117822)

#### Plugins

- Remove entire legacy plugin system by @Christinarlong in [#118397](https://github.com/getsentry/sentry/pull/118397)
- Remove opsgenie plugin migration and NotifyEventAction backend refs by @Christinarlong in [#118322](https://github.com/getsentry/sentry/pull/118322)
- Remove plugin hooks from event processing, rules, notifications, and serializers by @Christinarlong in [#118206](https://github.com/getsentry/sentry/pull/118206)
- Remove plugin API endpoints and serializers by @Christinarlong in [#117967](https://github.com/getsentry/sentry/pull/117967)
- Remove org-level plugin views and plugin registry by @Christinarlong in [#117872](https://github.com/getsentry/sentry/pull/117872)
- Remove project-level plugin settings pages by @Christinarlong in [#117853](https://github.com/getsentry/sentry/pull/117853)
- Remove plugin external issue linking and creation from issue details by @Christinarlong in [#117589](https://github.com/getsentry/sentry/pull/117589)
- Convert PluginSettings fetchData to requestPromise by @sentry in [#117696](https://github.com/getsentry/sentry/pull/117696)

#### Pr Iteration

- Clean up pr iteration code in preparation for automated iteration by @joseph-sentry in [#119313](https://github.com/getsentry/sentry/pull/119313)
- GitHub app permission nudge backend by @joseph-sentry in [#119052](https://github.com/getsentry/sentry/pull/119052)
- Impl get_iterations helper function by @joseph-sentry in [#119009](https://github.com/getsentry/sentry/pull/119009)

#### Pr Metrics

- Add observability for dropped delegated-agent attribution by @giovanni-guidini in [#119005](https://github.com/getsentry/sentry/pull/119005)
- Scope sender and SHA fields to payload types that need them by @giovanni-guidini in [#119000](https://github.com/getsentry/sentry/pull/119000)
- Remove unused activity types EDITED, CLOSED, MERGED, REOPENED by @giovanni-guidini in [#118897](https://github.com/getsentry/sentry/pull/118897)
- Gate delegated-agent detection on installed integration by @giovanni-guidini in [#118830](https://github.com/getsentry/sentry/pull/118830)
- Drop comment_edited activity events by @giovanni-guidini in [#118712](https://github.com/getsentry/sentry/pull/118712)
- Add webhook name to webhook-triggered PR logs by @vaind in [#118597](https://github.com/getsentry/sentry/pull/118597)
- Extract reported-PR resolution to the model layer by @vaind in [#118556](https://github.com/getsentry/sentry/pull/118556)
- Extract Seer contract models into contracts.py by @vaind in [#118084](https://github.com/getsentry/sentry/pull/118084)
- Standardize log event names and enrich context by @vaind in [#118169](https://github.com/getsentry/sentry/pull/118169)
- Drop REFERENCED_ISSUE as attribution by @giovanni-guidini in [#117900](https://github.com/getsentry/sentry/pull/117900)

#### Preprod

- Remove preprod-enforce-size-quota feature flag by @NicoHinderling in [#118392](https://github.com/getsentry/sentry/pull/118392)
- Speed up snapshot comparison categorization by @NicoHinderling in [#118303](https://github.com/getsentry/sentry/pull/118303)
- Remove snapshot feature flags and backend gating by @NicoHinderling in [#118263](https://github.com/getsentry/sentry/pull/118263)
- Remove snapshot feature-flag gating in the UI by @NicoHinderling in [#118262](https://github.com/getsentry/sentry/pull/118262)
- Drop redundant images array from diff snapshots by @NicoHinderling in [#118180](https://github.com/getsentry/sentry/pull/118180)
- Derive solo snapshot list from categorized arrays by @NicoHinderling in [#118178](https://github.com/getsentry/sentry/pull/118178)

#### Profiles

- Remove the ingest-profiles Arroyo consumer by @untitaker in [#118126](https://github.com/getsentry/sentry/pull/118126)
- Bump processing deadline 60s --> 80s by @bmckerry in [#118100](https://github.com/getsentry/sentry/pull/118100)
- Use different names for each producer by @bmckerry in [#118091](https://github.com/getsentry/sentry/pull/118091)

#### Project Creation

- Sort SCM providers and integrations by display order by @jaydgoss in [#118589](https://github.com/getsentry/sentry/pull/118589)
- Add SCM-styled notification options by @jaydgoss in [#118525](https://github.com/getsentry/sentry/pull/118525)
- Extract shared hooks from the notification components by @jaydgoss in [#118581](https://github.com/getsentry/sentry/pull/118581)
- Polish the SCM alert frequency component by @jaydgoss in [#118375](https://github.com/getsentry/sentry/pull/118375)
- Adjust create-project layout shift animations by @jaydgoss in [#118536](https://github.com/getsentry/sentry/pull/118536)
- Hide the products section when there are none by @jaydgoss in [#118284](https://github.com/getsentry/sentry/pull/118284)
- Allow clearing the SCM platform selection by @jaydgoss in [#118299](https://github.com/getsentry/sentry/pull/118299)
- Drop the inert motion wrapper from the SCM connect step by @jaydgoss in [#118298](https://github.com/getsentry/sentry/pull/118298)
- Rework the SCM project-creation page UI by @jaydgoss in [#118193](https://github.com/getsentry/sentry/pull/118193)
- Fire one page-viewed analytic instead of per-step by @jaydgoss in [#118213](https://github.com/getsentry/sentry/pull/118213)
- Extract feature selection into a sibling component by @jaydgoss in [#118211](https://github.com/getsentry/sentry/pull/118211)
- Extract alert frequency into a sibling component by @jaydgoss in [#118208](https://github.com/getsentry/sentry/pull/118208)
- Polish typography and copy across SCM create flow by @jaydgoss in [#117846](https://github.com/getsentry/sentry/pull/117846)

#### Query Builder

- Add feature flag for numerical operator conversion by @nsdeschenes in [#119413](https://github.com/getsentry/sentry/pull/119413)
- Remove validate flag registration by @nsdeschenes in [#118101](https://github.com/getsentry/sentry/pull/118101)

#### Relay

- Remove relay-dsn-endpoint-override feature flag (frontend) by @ArthurKnaus in [#118985](https://github.com/getsentry/sentry/pull/118985)
- Remove relay-dsn-endpoint-override feature flag (backend) by @ArthurKnaus in [#118984](https://github.com/getsentry/sentry/pull/118984)
- Remove `relay.eap-outcomes.rollout-rate` by @tobias-wilfert in [#118430](https://github.com/getsentry/sentry/pull/118430)
- Remove ingest-through-trusted-relays-only feature flag registration by @vgrozdanic in [#118147](https://github.com/getsentry/sentry/pull/118147)
- Remove `accepted_outcome_emitted` by @tobias-wilfert in [#117525](https://github.com/getsentry/sentry/pull/117525)
- Remove ingest-through-trusted-relays-only feature flag from backend by @vgrozdanic in [#118120](https://github.com/getsentry/sentry/pull/118120)
- Remove ingest-through-trusted-relays-only feature flag from frontend by @vgrozdanic in [#118119](https://github.com/getsentry/sentry/pull/118119)

#### Replays

- Force task producer for events from raw-mode task by @untitaker in [#118657](https://github.com/getsentry/sentry/pull/118657)
- Show replay selector placeholders while loading by @nsdeschenes in [#118551](https://github.com/getsentry/sentry/pull/118551)
- Start rolling out TaskProducer to replays tasks by @bmckerry in [#117741](https://github.com/getsentry/sentry/pull/117741)
- Completely remove KafkaPublisher by @bmckerry in [#117738](https://github.com/getsentry/sentry/pull/117738)

#### Savedsearch

- Delete SavedSearch model from PG by @ceorourke in [#119240](https://github.com/getsentry/sentry/pull/119240)
- Remove SavedSearch model by @ceorourke in [#119156](https://github.com/getsentry/sentry/pull/119156)

#### Scm

- Upgrade sentry-scm to 0.32.0 by @alexsohn1126 in [#119330](https://github.com/getsentry/sentry/pull/119330)
- Upgrade sentry-scm to 0.30.0 by @joseph-sentry in [#118389](https://github.com/getsentry/sentry/pull/118389)

#### Scraps

- Prefix responsive prop breakpoints with screen: by @TkDodo in [#118715](https://github.com/getsentry/sentry/pull/118715)
- Adopt semantic tokens in timelines by @natemoo-re in [#118034](https://github.com/getsentry/sentry/pull/118034)
- Update dataviz tokens by @natemoo-re in [#118025](https://github.com/getsentry/sentry/pull/118025)

#### Seer

- Remove six uncalled seer-rpc methods by @azulus in [#119658](https://github.com/getsentry/sentry/pull/119658)
- Remove assisted-query extra feature flags by @aliu39 in [#119339](https://github.com/getsentry/sentry/pull/119339)
- Standardize actor_author_mismatch log extra for GitLab by @billyvg in [#119328](https://github.com/getsentry/sentry/pull/119328)
- Disable seer branch override button by @Zylphrex in [#119144](https://github.com/getsentry/sentry/pull/119144)
- Remove two options which now live in Seer by @chromy in [#118825](https://github.com/getsentry/sentry/pull/118825)
- Remove Night Shift settings UI by @chromy in [#118753](https://github.com/getsentry/sentry/pull/118753)
- Move DatadogPatConnectModal into sentry/ for reuse by @srest2021 in [#118484](https://github.com/getsentry/sentry/pull/118484)
- Drop the night shift run seer_run column by @trevor-e in [#118172](https://github.com/getsentry/sentry/pull/118172)
- Decommission the night shift run seer_run column by @trevor-e in [#118162](https://github.com/getsentry/sentry/pull/118162)
- Remove GPU connection pools and CPU rollout options for severity/fixability by @Mihir-Mavalankar in [#118173](https://github.com/getsentry/sentry/pull/118173)
- Remove unused seer-code-review-gitlab feature flag by @billyvg in [#117737](https://github.com/getsentry/sentry/pull/117737)
- Remove unused event prop from autofix sidebar by @chromy in [#118095](https://github.com/getsentry/sentry/pull/118095)
- Cleanup ununsed bulkAutofixAutomationSettingsInfiniteOptions() by @ryan953 in [#117878](https://github.com/getsentry/sentry/pull/117878)
- Improve mutation types and fewer anys by @TkDodo in [#117916](https://github.com/getsentry/sentry/pull/117916)
- Type the last five seer RPC methods and lock the registries by @azulus in [#117924](https://github.com/getsentry/sentry/pull/117924)
- Type 8 stats/replay/profile/export RPC responses by @azulus in [#117880](https://github.com/getsentry/sentry/pull/117880)
- Type 10 issue/event/agent/PR seer RPC responses by @azulus in [#117876](https://github.com/getsentry/sentry/pull/117876)
- Type the table/trace-table/replays RPC responses by @azulus in [#117866](https://github.com/getsentry/sentry/pull/117866)
- Type attribute/trace-attrs RPC responses with Pydantic models by @azulus in [#117859](https://github.com/getsentry/sentry/pull/117859)
- Type filter-key RPC responses with Pydantic models by @azulus in [#117838](https://github.com/getsentry/sentry/pull/117838)
- Use /seer/projects/ instead of /autofix/automation-settings/ in Autofix Add-Project modal by @ryan953 in [#117818](https://github.com/getsentry/sentry/pull/117818)
- Use bulk operations in Seer project repos endpoint CRUD by @srest2021 in [#116407](https://github.com/getsentry/sentry/pull/116407)
- Rewrite AutofixRepositories using the new /seer/repos/ endpoints by @ryan953 in [#117740](https://github.com/getsentry/sentry/pull/117740)
- Route GitLab code review through the unified /v1/code_review endpoints by @billyvg in [#117390](https://github.com/getsentry/sentry/pull/117390)
- Gate GitLab code review on seer-gitlab-support flag by @billyvg in [#117732](https://github.com/getsentry/sentry/pull/117732)

#### Seer Activity

- Remove unused flag by @leeandher in [#119081](https://github.com/getsentry/sentry/pull/119081)
- Update RCA/Solution to use italics in block quote by @leeandher in [#119072](https://github.com/getsentry/sentry/pull/119072)
- Remove the feature flag by @leeandher in [#119068](https://github.com/getsentry/sentry/pull/119068)
- Correct webhook `url` and `web_url` alert keys by @leeandher in [#118697](https://github.com/getsentry/sentry/pull/118697)
- Update API docs for new trigger options by @leeandher in [#118393](https://github.com/getsentry/sentry/pull/118393)
- Support PR iteration by @leeandher in [#118406](https://github.com/getsentry/sentry/pull/118406)
- Update the alert appearance by @leeandher in [#118294](https://github.com/getsentry/sentry/pull/118294)
- Add SLOs for integrations, refactor email to raise properly by @leeandher in [#118272](https://github.com/getsentry/sentry/pull/118272)
- Add warning in the UI when building incompatible activity by @leeandher in [#118093](https://github.com/getsentry/sentry/pull/118093)
- Prevent API from accepting activity triggers and unsupported actions by @leeandher in [#118026](https://github.com/getsentry/sentry/pull/118026)
- Add handler for unsupported actions by @leeandher in [#117941](https://github.com/getsentry/sentry/pull/117941)

#### Seer Agent

- Pass idempotency key to seer create pr by @Zylphrex in [#119063](https://github.com/getsentry/sentry/pull/119063)
- Dont count empty result as failed status, remove broken link icon by @aliu39 in [#118613](https://github.com/getsentry/sentry/pull/118613)

#### Seer Billing

- Remove contributor action rollout feature flag by @srest2021 in [#118885](https://github.com/getsentry/sentry/pull/118885)
- Register flag for disabling contributor actions incrementation by @srest2021 in [#118846](https://github.com/getsentry/sentry/pull/118846)
- Add more contributor logs by @srest2021 in [#118757](https://github.com/getsentry/sentry/pull/118757)
- Add metric for incrementing contributor actions by @srest2021 in [#118422](https://github.com/getsentry/sentry/pull/118422)

#### Seer Explorer

- Remove the unused /seer/explorer-runs/ route by @chromy in [#118911](https://github.com/getsentry/sentry/pull/118911)
- Source chat history from the /seer/runs/ endpoint by @chromy in [#118910](https://github.com/getsentry/sentry/pull/118910)

#### Seer Infra Telemetry

- Validate `refresh_token` is in data returned from GCP by @shashjar in [#118787](https://github.com/getsentry/sentry/pull/118787)
- Add more error logs to monitoring provider refresh RPC by @srest2021 in [#118788](https://github.com/getsentry/sentry/pull/118788)
- Add some logging for when refreshing an identity fails by @shashjar in [#118778](https://github.com/getsentry/sentry/pull/118778)
- Extract `link_provider_identity` helper function by @shashjar in [#118535](https://github.com/getsentry/sentry/pull/118535)
- Update organization monitoring provider index tests with Datadog PAT by @shashjar in [#118534](https://github.com/getsentry/sentry/pull/118534)
- Replace `MonitoringIdentityPipeline` with provider flag by @shashjar in [#118403](https://github.com/getsentry/sentry/pull/118403)

#### Seer Rpc

- Type get_dsn and get_repository_definition with explicit models by @azulus in [#117811](https://github.com/getsentry/sentry/pull/117811)
- Type three assisted-query RPC methods with Pydantic by @azulus in [#117767](https://github.com/getsentry/sentry/pull/117767)
- Introduce EmptyResponse sentinel for `{}` not-found wire by @azulus in [#117779](https://github.com/getsentry/sentry/pull/117779)
- Convert SeerResponse / SeerResponseError to Pydantic by @azulus in [#117765](https://github.com/getsentry/sentry/pull/117765)
- Type three Autofix-cluster RPC methods with Pydantic by @azulus in [#117764](https://github.com/getsentry/sentry/pull/117764)
- Type get_project_preferences return as SeerProjectPreference by @azulus in [#117759](https://github.com/getsentry/sentry/pull/117759)
- Type repo-validation RPC method returns with Pydantic by @azulus in [#117733](https://github.com/getsentry/sentry/pull/117733)
- Type seven RPC method returns with Pydantic by @azulus in [#117712](https://github.com/getsentry/sentry/pull/117712)

#### Sentry Apps

- Extract webhook header parsing and masking helpers by @cvxluo in [#119529](https://github.com/getsentry/sentry/pull/119529)
- Format webhook subscription labels by @cvxluo in [#119317](https://github.com/getsentry/sentry/pull/119317)
- Copy `EVENT_EXPANSION` webhook definitions in frontend by @cvxluo in [#119173](https://github.com/getsentry/sentry/pull/119173)
- Unify webhook dispatch to a single helper by @cvxluo in [#118923](https://github.com/getsentry/sentry/pull/118923)
- Convert subscriptions class component to functional by @cvxluo in [#118957](https://github.com/getsentry/sentry/pull/118957)
- Add types to webhook event types by @cvxluo in [#118794](https://github.com/getsentry/sentry/pull/118794)
- Extract SentryAppEventType into its own module by @cvxluo in [#118793](https://github.com/getsentry/sentry/pull/118793)

#### Snapshots

- Re-run when PR base branch changes by @mtopo27 in [#118473](https://github.com/getsentry/sentry/pull/118473)
- Run frontend snapshots on all PRs by @cameroncooke in [#118170](https://github.com/getsentry/sentry/pull/118170)

#### Span Buffer

- Sample metrics collection by @cmanallen in [#118909](https://github.com/getsentry/sentry/pull/118909)
- Return lua latency values in microseconds by @cmanallen in [#118879](https://github.com/getsentry/sentry/pull/118879)
- Return latency and metrics tables as flattened lists by @cmanallen in [#118137](https://github.com/getsentry/sentry/pull/118137)
- Optimize fan out to only target possible candidates by @cmanallen in [#118152](https://github.com/getsentry/sentry/pull/118152)
- Skip the EXISTS check by using child_ic heuristic by @cmanallen in [#117804](https://github.com/getsentry/sentry/pull/117804)
- Cache previous lookups to Redis in a local array by @cmanallen in [#117793](https://github.com/getsentry/sentry/pull/117793)
- Exclusively use msgspec span decoder by @cmanallen in [#117676](https://github.com/getsentry/sentry/pull/117676)

#### Spans

- Separate legacy and span-first detectors for segments by @lobsterkatie in [#118789](https://github.com/getsentry/sentry/pull/118789)
- Restrict span-first detector comparison to real results by @lobsterkatie in [#118488](https://github.com/getsentry/sentry/pull/118488)
- Compare span-first and existing detector results by @lobsterkatie in [#117631](https://github.com/getsentry/sentry/pull/117631)
- Bump `sentry-kafka-schemas` version by @tobias-wilfert in [#118234](https://github.com/getsentry/sentry/pull/118234)
- Remove `relay.eap-span-outcomes.rollout-rate` by @tobias-wilfert in [#117527](https://github.com/getsentry/sentry/pull/117527)

#### Taskworker

- Add --future-checking-frequency by @bmckerry in [#118737](https://github.com/getsentry/sentry/pull/118737)
- Replace TASKWORKER_USE_TASK_PRODUCER with current_task() by @untitaker in [#118660](https://github.com/getsentry/sentry/pull/118660)
- Add a BatchPushTaskWorker to cli by @evanh in [#117429](https://github.com/getsentry/sentry/pull/117429)

#### Tests

- Delete removed tests from pyproject by @cvxluo in [#118320](https://github.com/getsentry/sentry/pull/118320)
- Delete junk tests by @wedamija in [#118313](https://github.com/getsentry/sentry/pull/118313)

#### Tracemetrics

- Remove equations in explore flagging code by @narsaynorath in [#119561](https://github.com/getsentry/sentry/pull/119561)
- Remove feature flag calls for equations in alerts by @narsaynorath in [#119567](https://github.com/getsentry/sentry/pull/119567)
- Clean up equations in dashboards feature flag by @narsaynorath in [#119557](https://github.com/getsentry/sentry/pull/119557)

#### Traces

- Use primary button variant for Save as action by @JonasBa in [#118887](https://github.com/getsentry/sentry/pull/118887)
- Add meta remark to default-trace-ids by @thetruecpaul in [#118678](https://github.com/getsentry/sentry/pull/118678)

#### Types

- Drop bootstrap/exportGlobals dependency from types/system by @JoshuaKGoldberg in [#117704](https://github.com/getsentry/sentry/pull/117704)
- Extract OrganizationStatsProps into a leaf module by @JoshuaKGoldberg in [#117709](https://github.com/getsentry/sentry/pull/117709)
- Extract AutofixContentProps into a leaf module by @JoshuaKGoldberg in [#117713](https://github.com/getsentry/sentry/pull/117713)
- Drop charts/utils dependency from types/core by @JoshuaKGoldberg in [#117700](https://github.com/getsentry/sentry/pull/117700)

#### Ui

- Silence `data-sentry-component` passed to fragment by @scttcper in [#119580](https://github.com/getsentry/sentry/pull/119580)
- Reduce dev-ui memory usage by @scttcper in [#119568](https://github.com/getsentry/sentry/pull/119568)
- Replace Flex direction=column with Stack by @priscilawebdev in [#119394](https://github.com/getsentry/sentry/pull/119394)
- Collapse normalizeUrl to a two-argument signature by @ryan953 in [#119366](https://github.com/getsentry/sentry/pull/119366)
- Enable react compiler (dev only), rspack 2.1 by @scttcper in [#118033](https://github.com/getsentry/sentry/pull/118033)
- Animate unread indicator for 30 seconds by @scttcper in [#118328](https://github.com/getsentry/sentry/pull/118328)

#### Weekly Report

- Remove "Top Transaction" queries by @amy-chen23 in [#119368](https://github.com/getsentry/sentry/pull/119368)
- Minor UI fixes by @amy-chen23 in [#119436](https://github.com/getsentry/sentry/pull/119436)
- Add transaction to prepare_organization_report by @amy-chen23 in [#118803](https://github.com/getsentry/sentry/pull/118803)
- Change color of resolved label by @amy-chen23 in [#118418](https://github.com/getsentry/sentry/pull/118418)
- Add padding to issue status legend by @amy-chen23 in [#118297](https://github.com/getsentry/sentry/pull/118297)
- Fix labels and truncation by @amy-chen23 in [#118168](https://github.com/getsentry/sentry/pull/118168)
- Update colors by @amy-chen23 in [#117877](https://github.com/getsentry/sentry/pull/117877)
- Remove replay queries and references by @amy-chen23 in [#117692](https://github.com/getsentry/sentry/pull/117692)

#### Workflow Engine

- Support status change webhooks for Sentry App alerts by @leeandher in [#119356](https://github.com/getsentry/sentry/pull/119356)
- Enable activity alerts for resolution by @leeandher in [#119359](https://github.com/getsentry/sentry/pull/119359)
- Start to migrate ProcessedDataCondition to DataConditionEvaluation by @saponifi3d in [#119273](https://github.com/getsentry/sentry/pull/119273)
- Start cleaning up the evaluation results, starting with DataConditions by @saponifi3d in [#119179](https://github.com/getsentry/sentry/pull/119179)
- Dual-write NotifyEventAction to be handled by webhook handler by @Christinarlong in [#119121](https://github.com/getsentry/sentry/pull/119121)
- Block new PLUGIN action creation on endpoints by @Christinarlong in [#119125](https://github.com/getsentry/sentry/pull/119125)

#### Other

- (✂️) Update knip and enable treatTagHintsAsErrors by @TkDodo in [#118347](https://github.com/getsentry/sentry/pull/118347)
- (action log) Make model directory by @ceorourke in [#118175](https://github.com/getsentry/sentry/pull/118175)
- (ai-query) Improve combobox naming and err messages by @aliu39 in [#117769](https://github.com/getsentry/sentry/pull/117769)
- (analytics) Remove unused analytics events by @obostjancic in [#117977](https://github.com/getsentry/sentry/pull/117977)
- (apiForm) Migrate callback api.request to requestPromise by @ryan953 in [#118281](https://github.com/getsentry/sentry/pull/118281)
- (apis) Add `suggested_api` to cell-related deprecated APIs by @mjq in [#119065](https://github.com/getsentry/sentry/pull/119065)
- (auth) Refactor signup email verification into an abstract base class by @nora-shap in [#118523](https://github.com/getsentry/sentry/pull/118523)
- (avatarChooser) Migrate api.request to async/await by @sentry in [#117728](https://github.com/getsentry/sentry/pull/117728)
- (bump-version) Retry  if pkg version not available by @bmckerry in [#119074](https://github.com/getsentry/sentry/pull/119074)
- (buttonTracking) Refactor buttonTracking to remove extra indirection by @ryan953 in [#118304](https://github.com/getsentry/sentry/pull/118304)
- (ci) Bump backend migration workflow timeout to 150s by @kenzoengineer in [#117813](https://github.com/getsentry/sentry/pull/117813)
- (cmdk) Remove Night Shift Chats global action by @chromy in [#118089](https://github.com/getsentry/sentry/pull/118089)
- (code-mappings) Fix n+1 integration lookup in RepositoryProjectPathConfigSerializer by @cmanallen in [#118913](https://github.com/getsentry/sentry/pull/118913)
- (codecov) Drop OrganizationMapping codecov_access column by @vgrozdanic in [#117827](https://github.com/getsentry/sentry/pull/117827)
- (coding-agents) Move to non autofix coding agent endpoints by @Zylphrex in [#117800](https://github.com/getsentry/sentry/pull/117800)
- (copy to markdown) Add stuff to copy to markdown by @shayna-ch in [#119153](https://github.com/getsentry/sentry/pull/119153)
- (cursorPoller) Migrate callback api.request to requestPromise by @ryan953 in [#118279](https://github.com/getsentry/sentry/pull/118279)
- (deletions) Split EAP deletion into async task with retries by @shashjar in [#117946](https://github.com/getsentry/sentry/pull/117946)
- (deprecatedAsyncComponent) Migrate callback api.request to requestPromise by @ryan953 in [#118282](https://github.com/getsentry/sentry/pull/118282)
- (devtools) Move TanStack devtools position to bottom-right by @TkDodo in [#118429](https://github.com/getsentry/sentry/pull/118429)
- (difs) Run relevant tests with both backends by @lcian in [#118145](https://github.com/getsentry/sentry/pull/118145)
- (dropdownMenu) Unify submenu props and allow positioning by @TkDodo in [#118870](https://github.com/getsentry/sentry/pull/118870)
- (events) Convert RRWebJsonViewer to a function component by @ryan953 in [#118273](https://github.com/getsentry/sentry/pull/118273)
- (eventsChart) Refactor EventsChart to functional component by @sentry in [#118479](https://github.com/getsentry/sentry/pull/118479)
- (feature) Change discard transaction feature to a flagpole feature by @Dav1dde in [#119290](https://github.com/getsentry/sentry/pull/119290)
- (frontend-tsc) Remove deprecated Margin type by @sentry in [#119655](https://github.com/getsentry/sentry/pull/119655)
- (GAL) Switch project backfill cursor from activity ID to datetime by @yuvmen in [#119669](https://github.com/getsentry/sentry/pull/119669)
- (group) Remove wrapRequest and chainUtil, inline try/catch with optional chaining by @sentry in [#117695](https://github.com/getsentry/sentry/pull/117695)
- (heatmap) Register unfurling feature flag by @nikkikapadia in [#117951](https://github.com/getsentry/sentry/pull/117951)
- (icons) Move IdentityIcon & PluginIcon components into app/icons/* by @ryan953 in [#118376](https://github.com/getsentry/sentry/pull/118376)
- (ingest) Remove derive-tags-without-plugins feature flag by @Christinarlong in [#117594](https://github.com/getsentry/sentry/pull/117594)
- (integration) Pass out of date from backend by @joseph-sentry in [#119082](https://github.com/getsentry/sentry/pull/119082)
- (issue-progress) Remove pr-group-activity feature flag by @malwilley in [#119127](https://github.com/getsentry/sentry/pull/119127)
- (issueList) Migrate overview.tsx to api.requestPromise by @sentry in [#117750](https://github.com/getsentry/sentry/pull/117750)
- (logging) Improve logging on GCP provider to debug refresh flow by @shashjar in [#118925](https://github.com/getsentry/sentry/pull/118925)
- (logs) Remove ourlogs-modal-export flag by @cvxluo in [#118318](https://github.com/getsentry/sentry/pull/118318)
- (mdx) Remove mdx typechecking by @natemoo-re in [#119254](https://github.com/getsentry/sentry/pull/119254)
- (metric-issues) Remove correlated issues section by @malwilley in [#118247](https://github.com/getsentry/sentry/pull/118247)
- (metrics) Fix automator latency metric by @kenzoengineer in [#117958](https://github.com/getsentry/sentry/pull/117958)
- (nav) Remove navigation tour from More menu by @priscilawebdev in [#119498](https://github.com/getsentry/sentry/pull/119498)
- (notification-platform) Rename some blocks to sections by @leeandher in [#119077](https://github.com/getsentry/sentry/pull/119077)
- (occurrences) Use FutureTrackingProducer for everything by @bmckerry in [#119130](https://github.com/getsentry/sentry/pull/119130)
- (ourlogs) Remove dead button path for log exports by @JoshuaKGoldberg in [#117799](https://github.com/getsentry/sentry/pull/117799)
- (performance issues) Remove unused `EventPerformanceProblem` class by @lobsterkatie in [#118859](https://github.com/getsentry/sentry/pull/118859)
- (permission-selection) Convert class component to functional by @sentry in [#118481](https://github.com/getsentry/sentry/pull/118481)
- (profiling) Document chunks project param as ID-or-slug, not int by @betegon in [#118051](https://github.com/getsentry/sentry/pull/118051)
- (projectDetail) Convert ProjectCharts to function component by @sentry in [#118797](https://github.com/getsentry/sentry/pull/118797)
- (projectKeys) Migrate forms to scraps form system by @TkDodo in [#116516](https://github.com/getsentry/sentry/pull/116516)
- (releases) Replace SessionsRequest render-prop with useSessionsRequest hook by @ryan953 in [#118520](https://github.com/getsentry/sentry/pull/118520)
- (sdk) Use the streaming trace lifecycle when sending internal events to `sentry-mirror` by @alexander-alderman-webb in [#117794](https://github.com/getsentry/sentry/pull/117794)
- (search) Remove pinned search backend by @ceorourke in [#118883](https://github.com/getsentry/sentry/pull/118883)
- (search-query-builder) Log potential natural language queries by @nsdeschenes in [#117544](https://github.com/getsentry/sentry/pull/117544)
- (searches) Remove user level saved search code by @ceorourke in [#118880](https://github.com/getsentry/sentry/pull/118880)
- (security-headers) Remove obsolete HPKP and Expect-CT/Staple UI by @mrduncan in [#119638](https://github.com/getsentry/sentry/pull/119638)
- (service-worker) Scaffolding for calling postMessage with the service-worker by @ryan953 in [#119085](https://github.com/getsentry/sentry/pull/119085)
- (settings) Drop legacy change toast from early features form by @priscilawebdev in [#119381](https://github.com/getsentry/sentry/pull/119381)
- (skills) Clarify type-safety scope for `/analytics` events by @natemoo-re in [#118784](https://github.com/getsentry/sentry/pull/118784)
- (splitPanel) Redesign with sized/fill slot props by @priscilawebdev in [#116365](https://github.com/getsentry/sentry/pull/116365)
- (subscriptions) Remove the Arroyo subscriptions consumers by @lvthanh03 in [#119012](https://github.com/getsentry/sentry/pull/119012)
- (symbolication) Remove unused argument by @jjbayer in [#118733](https://github.com/getsentry/sentry/pull/118733)
- (symbolicator) Stop skipping Unreal attachments tests by @lcian in [#118125](https://github.com/getsentry/sentry/pull/118125)
- (trace-items) Make test_tags_list_nums order-independent by @phacops in [#118012](https://github.com/getsentry/sentry/pull/118012)
- (trace-waterfall) Squeeze out all of the pixels by @nsdeschenes in [#118486](https://github.com/getsentry/sentry/pull/118486)
- (tracing) Start new trace for transaction spans in streaming mode by @cleptric in [#119395](https://github.com/getsentry/sentry/pull/119395)
- (track_outcome) Use FutureTrackingProducer for everything by @bmckerry in [#119126](https://github.com/getsentry/sentry/pull/119126)
- (unmerge) Stop sending analytics events from `unmerge` task by @shashjar in [#118421](https://github.com/getsentry/sentry/pull/118421)
- (utils) Rollout comparator comment and test tweaks by @lobsterkatie in [#118964](https://github.com/getsentry/sentry/pull/118964)
- (webhooks) Remove legacy-webhook-dry-run, disable-old-path, and new-path feature flags by @Christinarlong in [#117719](https://github.com/getsentry/sentry/pull/117719)
- (weekly-reports) Remove one day buffer from queries by @amy-chen23 in [#118671](https://github.com/getsentry/sentry/pull/118671)
- (workflows) Type `RuleSerializerResponse` status by @cvxluo in [#118521](https://github.com/getsentry/sentry/pull/118521)
- Bump sentry-conventions to 0.17.0 by @getsentry-bot in [#119718](https://github.com/getsentry/sentry/pull/119718)
- Improve relocation parsing efficiency. by @markstory in [#119622](https://github.com/getsentry/sentry/pull/119622)
- Remove seer-code-review-github-enterprise flag registration by @billyvg in [#119311](https://github.com/getsentry/sentry/pull/119311)
- Bump sentry-arroyo to 2.41.4 by @getsentry-bot in [#119554](https://github.com/getsentry/sentry/pull/119554)
- Bump sentry-protos 0.43.2 by @brendanhsentry in [#119547](https://github.com/getsentry/sentry/pull/119547)
- Use narrower type for next bill preview API by @noahsmartin in [#119338](https://github.com/getsentry/sentry/pull/119338)
- Bump sentry-conventions to 0.16.0 by @getsentry-bot in [#119500](https://github.com/getsentry/sentry/pull/119500)
- Add CODEOWNER for tracing utils by @alexander-alderman-webb in [#119399](https://github.com/getsentry/sentry/pull/119399)
- Point AI-assisted setup at the Sentry plugin instrument skill by @evanpurkhiser in [#119353](https://github.com/getsentry/sentry/pull/119353)
- Bump sentry-arroyo to 2.41.3 by @getsentry-bot in [#119406](https://github.com/getsentry/sentry/pull/119406)
- Create conventions to report under documents @deprecated symbols, @deprecated callsites by @ryan953 in [#119325](https://github.com/getsentry/sentry/pull/119325)
- Remove unused preview data fields by @noahsmartin in [#119321](https://github.com/getsentry/sentry/pull/119321)
- Document .sentry-refactor-tasks and adjust existing tasks to look at all of static/* by @ryan953 in [#118805](https://github.com/getsentry/sentry/pull/118805)
- Remove seer-code-review-github-enterprise gate by @billyvg in [#119260](https://github.com/getsentry/sentry/pull/119260)
- Bump protos by @noahsmartin in [#119270](https://github.com/getsentry/sentry/pull/119270)
- Skip SIGTERM handling in the `timeout_info` plugin if we're not in the main thread by @pbhandari in [#119252](https://github.com/getsentry/sentry/pull/119252)
- Remove unused component props across app/views by @JoshuaKGoldberg in [#119147](https://github.com/getsentry/sentry/pull/119147)
- Use `uv` for lint pre-commit hooks by @alexander-alderman-webb in [#119215](https://github.com/getsentry/sentry/pull/119215)
- Show in-flight tests on test suite timeout by @lcian in [#119208](https://github.com/getsentry/sentry/pull/119208)
- Bump protos by @noahsmartin in [#119175](https://github.com/getsentry/sentry/pull/119175)
- Bump taskbroker-client to 0.20.12 by @getsentry-bot in [#119116](https://github.com/getsentry/sentry/pull/119116)
- Bump sentry-arroyo to 2.41.1 by @getsentry-bot in [#119115](https://github.com/getsentry/sentry/pull/119115)
- Move some sdk specific constants to their own constants file by @ryan953 in [#119067](https://github.com/getsentry/sentry/pull/119067)
- Bump taskbroker-client to 0.20.11 by @getsentry-bot in [#119064](https://github.com/getsentry/sentry/pull/119064)
- Bump sentry-kafka-schemas to 2.1.40 by @getsentry-bot in [#119043](https://github.com/getsentry/sentry/pull/119043)
- Bump sentry-conventions to 0.15.0 by @getsentry-bot in [#118801](https://github.com/getsentry/sentry/pull/118801)
- Cleanup old needsConfigReminder from the backend by @ryan953 in [#118947](https://github.com/getsentry/sentry/pull/118947)
- Remove usage exceeded flag from frontend by @noahsmartin in [#118954](https://github.com/getsentry/sentry/pull/118954)
- Cleanup unused/deprecated forceAppendRawQuerySting param by @ryan953 in [#118935](https://github.com/getsentry/sentry/pull/118935)
- Cleanup old needsConfigReminder from the frontend by @ryan953 in [#118946](https://github.com/getsentry/sentry/pull/118946)
- Eslint-plugin-e18e by @TkDodo in [#118905](https://github.com/getsentry/sentry/pull/118905)
- Add option for upgrading to latest trial by @noahsmartin in [#118886](https://github.com/getsentry/sentry/pull/118886)
- Bump sentry-protos 0.37.3 by @brendanhsentry in [#118882](https://github.com/getsentry/sentry/pull/118882)
- Bump taskbroker-client to 0.20.10 by @getsentry-bot in [#118873](https://github.com/getsentry/sentry/pull/118873)
- Remove true forward boolean flag from customer API by @noahsmartin in [#118808](https://github.com/getsentry/sentry/pull/118808)
- Bump protos by @noahsmartin in [#118852](https://github.com/getsentry/sentry/pull/118852)
- Configure the service-worker build manually by @ryan953 in [#117823](https://github.com/getsentry/sentry/pull/117823)
- Bump taskbroker client version by @enochtangg in [#118772](https://github.com/getsentry/sentry/pull/118772)
- Bump sentry-options to 1.1.2 by @joshuarli in [#118699](https://github.com/getsentry/sentry/pull/118699)
- Remove isTestPlan from frontend response handling by @noahsmartin in [#118754](https://github.com/getsentry/sentry/pull/118754)
- Always spread container props instead of destructing just className by @TkDodo in [#118713](https://github.com/getsentry/sentry/pull/118713)
- Bump taskbroker-client to 0.20.7 by @getsentry-bot in [#118731](https://github.com/getsentry/sentry/pull/118731)
- UseUpdateProject MutationOptions by @TkDodo in [#118638](https://github.com/getsentry/sentry/pull/118638)
- Change Perf Monitoring to Tracing by @JPeer264 in [#118633](https://github.com/getsentry/sentry/pull/118633)
- Bump sentry-protos 0.34.2 by @brendanhsentry in [#118609](https://github.com/getsentry/sentry/pull/118609)
- Bump taskbroker-client to 0.20.6 by @getsentry-bot in [#118537](https://github.com/getsentry/sentry/pull/118537)
- Upgrade sentry-options to 1.1.1 by @joshuarli in [#118495](https://github.com/getsentry/sentry/pull/118495)
- Document taskbroker raw-mode kafka tasks by @untitaker in [#118496](https://github.com/getsentry/sentry/pull/118496)
- Add a convention/refactoring script with 3 js examples by @ryan953 in [#118466](https://github.com/getsentry/sentry/pull/118466)
- Remove page-frame feature flag by @TkDodo in [#118426](https://github.com/getsentry/sentry/pull/118426)
- Remove contractInterval field from frontend by @noahsmartin in [#118220](https://github.com/getsentry/sentry/pull/118220)
- Bump sentry-protos 0.33.1 by @brendanhsentry in [#118368](https://github.com/getsentry/sentry/pull/118368)
- Bump taskbroker-client to 0.20.4 by @getsentry-bot in [#118361](https://github.com/getsentry/sentry/pull/118361)
- Cleanup page-frame feature flag by @TkDodo in [#117974](https://github.com/getsentry/sentry/pull/117974)
- Bump taskbroker-client to 0.20.3 by @getsentry-bot in [#118305](https://github.com/getsentry/sentry/pull/118305)
- Replace price with total price by @noahsmartin in [#118296](https://github.com/getsentry/sentry/pull/118296)
- Bump taskbroker-client to 0.20.2 by @getsentry-bot in [#118274](https://github.com/getsentry/sentry/pull/118274)
- Bump sentry-protos to 0.32.5 by @dashed in [#118258](https://github.com/getsentry/sentry/pull/118258)
- Remove the subscription hasSoftCap and hasOverageNotificationsDi… by @noahsmartin in [#118221](https://github.com/getsentry/sentry/pull/118221)
- Remove language plugins + organizations:event-preprocessors-without-plugins feature flag by @Christinarlong in [#118044](https://github.com/getsentry/sentry/pull/118044)
- Remove frontend fields that aren't used by @noahsmartin in [#118138](https://github.com/getsentry/sentry/pull/118138)
- Admin action to recreate platform models by @noahsmartin in [#118115](https://github.com/getsentry/sentry/pull/118115)
- Bump taskbroker-client to 0.20.0 by @getsentry-bot in [#118103](https://github.com/getsentry/sentry/pull/118103)
- Bump sentry-protos 0.32.2 by @brendanhsentry in [#118082](https://github.com/getsentry/sentry/pull/118082)
- Bump taskbroker-client to 0.19.3 by @getsentry-bot in [#118061](https://github.com/getsentry/sentry/pull/118061)
- Bump sentry-arroyo to 2.40.3 by @getsentry-bot in [#118057](https://github.com/getsentry/sentry/pull/118057)
- Add link to invoices on billing platform compare by @noahsmartin in [#117971](https://github.com/getsentry/sentry/pull/117971)
- Remove more plan id hardcoded frontend checks by @noahsmartin in [#117923](https://github.com/getsentry/sentry/pull/117923)
- Bump sentry-arroyo to 2.40.1 by @getsentry-bot in [#117938](https://github.com/getsentry/sentry/pull/117938)
- Replace hardcoded trial plans with API field by @noahsmartin in [#117895](https://github.com/getsentry/sentry/pull/117895)
- Remove PlanTier prop from subscription by @noahsmartin in [#117881](https://github.com/getsentry/sentry/pull/117881)
- Remove unused accesses of planTier by @noahsmartin in [#117871](https://github.com/getsentry/sentry/pull/117871)
- Remove tabs from change plan modal by @noahsmartin in [#117850](https://github.com/getsentry/sentry/pull/117850)
- Delete migration tests ahead of migration squash by @vgrozdanic in [#117835](https://github.com/getsentry/sentry/pull/117835)
- Remove plan tier uses by @noahsmartin in [#117840](https://github.com/getsentry/sentry/pull/117840)
- Remove am1 check for replays alert by @noahsmartin in [#117837](https://github.com/getsentry/sentry/pull/117837)
- Remove checkoutTier from AMCheckout by @noahsmartin in [#117825](https://github.com/getsentry/sentry/pull/117825)
- Cleanup migrated NOSTORE options by @joshuarli in [#117743](https://github.com/getsentry/sentry/pull/117743)
- Move billing config tier selection logic to backend by @noahsmartin in [#117734](https://github.com/getsentry/sentry/pull/117734)
- Bump new development version by @sentry-release-bot[bot] in [320f2c25](https://github.com/getsentry/sentry/commit/320f2c25bdb3de2920324b585008dc3de48a9813)
- Bump sentry-protos 0.30.1 by @brendanhsentry in [#117749](https://github.com/getsentry/sentry/pull/117749)
- Removed profiling beta alert banner by @noahsmartin in [#117621](https://github.com/getsentry/sentry/pull/117621)
- Move the rest of NOSTORE options to django settings by @joshuarli in [#117136](https://github.com/getsentry/sentry/pull/117136)
- Bump @types/node from 22.x to 24.x by @ryan953 in [#117716](https://github.com/getsentry/sentry/pull/117716)
- Add a push_timeout_sec parameter to the taskworker CLI by @evanh in [#117455](https://github.com/getsentry/sentry/pull/117455)
- Custom DS plans have been deleted, cleaned up frontend handling for t… by @noahsmartin in [#117581](https://github.com/getsentry/sentry/pull/117581)

### Other

- deps(ui): Upgrade TanStack Virtual by @scttcper in [#119595](https://github.com/getsentry/sentry/pull/119595)
- chore(api) Reduce the region pin list by @markstory in [#119438](https://github.com/getsentry/sentry/pull/119438)
- logging(seer-infra-telemetry): Log upstream error details for failure in token refresh logic by @shashjar in [#119369](https://github.com/getsentry/sentry/pull/119369)
- Update ProcessedDataCondition to be DataConditionEvaluation by @saponifi3d in [#119319](https://github.com/getsentry/sentry/pull/119319)
- deps(ui): Support TypeScript 7 side by side by @scttcper in [#119249](https://github.com/getsentry/sentry/pull/119249)
- Default free text searches to Ask Seer by @nsdeschenes in [#118730](https://github.com/getsentry/sentry/pull/118730)
- Remove unused customer charge details URL by @noahsmartin in [#119279](https://github.com/getsentry/sentry/pull/119279)
- chore(hybridcloud) Remove dynamic default_flush on ApiToken by @markstory in [#119017](https://github.com/getsentry/sentry/pull/119017)
- deps(ui): Upgrade oxfmt 0.58.0 by @scttcper in [#119155](https://github.com/getsentry/sentry/pull/119155)
- Handle Ask Seer wildcard query formatting by @nsdeschenes in [#119112](https://github.com/getsentry/sentry/pull/119112)
- Add copy attribute for filter action by @nsdeschenes in [#118991](https://github.com/getsentry/sentry/pull/118991)
- chore(cells) Remove rollout options and logic for api_gateway_address by @markstory in [#118768](https://github.com/getsentry/sentry/pull/118768)
- Bump granian to 2.7.9 by @gi0baro in [#119002](https://github.com/getsentry/sentry/pull/119002)
- chore(tasks) Switch to un-prefixed taskworker metrics by @markstory in [#118511](https://github.com/getsentry/sentry/pull/118511)
- Remove method start logging in service.py by @volokluev in [#118755](https://github.com/getsentry/sentry/pull/118755)
- Update sentry-protos version to 0.36.0 by @skonves in [#118747](https://github.com/getsentry/sentry/pull/118747)
- ui(seer-activity): Update the copy/appearance of activity alerts by @leeandher in [#118687](https://github.com/getsentry/sentry/pull/118687)
- chore(cells) Remove connection pooling rollout option by @markstory in [#118586](https://github.com/getsentry/sentry/pull/118586)
- fix(relocation) Avoid integrity errors on self-hosted import by @markstory in [#118579](https://github.com/getsentry/sentry/pull/118579)
- add string method to QuotaConfig by @volokluev in [#118593](https://github.com/getsentry/sentry/pull/118593)
- chore(typing) Remove sentry.web.frontend.debug from weak list by @markstory in [#118528](https://github.com/getsentry/sentry/pull/118528)
- chore(cells) Increase replication_version for ApiToken by @markstory in [#118503](https://github.com/getsentry/sentry/pull/118503)
- Add get_issue_committers RPC to Seer tools by @hobzcalvin in [#118065](https://github.com/getsentry/sentry/pull/118065)
- feat(outbox) Enable selective outbox backfills from control by @markstory in [#118410](https://github.com/getsentry/sentry/pull/118410)

_Plus 22 more_

26.6.0
------

### New Features ✨

#### Api

- Accept project slugs in product integration endpoints by @gricha in [#117495](https://github.com/getsentry/sentry/pull/117495)
- Accept project slugs in replay endpoints by @gricha in [#117494](https://github.com/getsentry/sentry/pull/117494)
- Accept project slugs in release endpoints by @gricha in [#117493](https://github.com/getsentry/sentry/pull/117493)
- Accept project slugs in organization filters by @gricha in [#117446](https://github.com/getsentry/sentry/pull/117446)
- Add project ID-or-slug parser by @gricha in [#117445](https://github.com/getsentry/sentry/pull/117445)
- Backfill Serializer[T] across 61 serializers by @azulus in [#116816](https://github.com/getsentry/sentry/pull/116816)
- Tighten Response[T] on 14 endpoints (typed cohort) by @azulus in [#116800](https://github.com/getsentry/sentry/pull/116800)
- Make organization tags endpoint public with OpenAPI spec by @MathurAditya724 in [#116751](https://github.com/getsentry/sentry/pull/116751)
- Migrate Tag(Key|Value)Serializer to Serializer[T] by @azulus in [#116743](https://github.com/getsentry/sentry/pull/116743)
- Tighten Response on 3 endpoints + add as_validation_errors helper by @azulus in [#116736](https://github.com/getsentry/sentry/pull/116736)
- Tighten Response annotation on 6 endpoints (no-cast subset) by @azulus in [#116717](https://github.com/getsentry/sentry/pull/116717)

#### Attributes

- Roll out TaskProducer to attributes_snapshot_producer by @bmckerry in [#117360](https://github.com/getsentry/sentry/pull/117360)
- Remove internal attributes on /trace-item/attributes/ by @nsdeschenes in [#116372](https://github.com/getsentry/sentry/pull/116372)
- This adds count to string attribute values by @wmak in [#116811](https://github.com/getsentry/sentry/pull/116811)

#### Autofix

- Handle PR iteration completion and introspection by @joseph-sentry in [#117217](https://github.com/getsentry/sentry/pull/117217)
- Trigger PR iteration runs and surface PR links in prompts by @joseph-sentry in [#117216](https://github.com/getsentry/sentry/pull/117216)
- Add PR iteration variants to enums and type registrations by @joseph-sentry in [#117215](https://github.com/getsentry/sentry/pull/117215)
- Has:issue.seer_last_run only show last 30 days by @Zylphrex in [#116924](https://github.com/getsentry/sentry/pull/116924)
- Explain when code changes step makes no edits by @chromy in [#116957](https://github.com/getsentry/sentry/pull/116957)

#### Cells

- Require explicit locality configuration by @lynnagara in [#117462](https://github.com/getsentry/sentry/pull/117462)
- Route org listing through control silo if option is set by @lynnagara in [#117116](https://github.com/getsentry/sentry/pull/117116)
- Add option to route org listing through control silo by @lynnagara in [#117115](https://github.com/getsentry/sentry/pull/117115)
- Wire devservices ingest path for cell-routing mode by @lynnagara in [#116714](https://github.com/getsentry/sentry/pull/116714)

#### Cmdk

- Route NEXT_PUBLIC_SENTRY_DSN search to Client Keys (DSN) by @JoshFerge in [#117677](https://github.com/getsentry/sentry/pull/117677)
- Suggest auth token destinations by @JoshFerge in [#117106](https://github.com/getsentry/sentry/pull/117106)
- Surface Client Keys (DSN) when searching "SENTRY_DSN" by @JoshFerge in [#116883](https://github.com/getsentry/sentry/pull/116883)

#### Events

- Wire up TagDerivers behind feature flag by @Christinarlong in [#116989](https://github.com/getsentry/sentry/pull/116989)
- Add a log for query errors by @wmak in [#116696](https://github.com/getsentry/sentry/pull/116696)

#### Explore

- Heat maps fixed buckets by @nikkikapadia in [#117083](https://github.com/getsentry/sentry/pull/117083)
- Apply Seer-suggested interval to Explore charts by @DominikB2014 in [#117196](https://github.com/getsentry/sentry/pull/117196)
- Check attribute key and name for hidden values by @nsdeschenes in [#117304](https://github.com/getsentry/sentry/pull/117304)
- Surface and apply Seer's expanded project scope by @manessaraj in [#117122](https://github.com/getsentry/sentry/pull/117122)
- Use heatmap icon for Heat Map chart type by @gggritso in [#117180](https://github.com/getsentry/sentry/pull/117180)
- View random trace from aggregates table by @nsdeschenes in [#116972](https://github.com/getsentry/sentry/pull/116972)
- Add to filter option in heatmaps tooltip by @nikkikapadia in [#116690](https://github.com/getsentry/sentry/pull/116690)

#### Ingest

- Run save_event inline for ingest events raw task by @lvthanh03 in [#117580](https://github.com/getsentry/sentry/pull/117580)
- Match messages in custom inbound filter by @oioki in [#116701](https://github.com/getsentry/sentry/pull/116701)

#### Integrations

- Normalize path mapping roots and refine field copy by @evanpurkhiser in [#117375](https://github.com/getsentry/sentry/pull/117375)
- Add PathMapping component for repo code mappings by @evanpurkhiser in [#117191](https://github.com/getsentry/sentry/pull/117191)
- ExternalActor from login-with-github identity by @hobzcalvin in [#116823](https://github.com/getsentry/sentry/pull/116823)
- Set Perforce integration popularity weight by @souredoutlook in [#116998](https://github.com/getsentry/sentry/pull/116998)
- Create ExternalActor from public GH email opportunistically by @hobzcalvin in [#116737](https://github.com/getsentry/sentry/pull/116737)
- Create ExternalActor mappings on new CommitAuthors by @hobzcalvin in [#116645](https://github.com/getsentry/sentry/pull/116645)

#### Issues

- Add a new "Progress" column to the awaiting input page by @malwilley in [#117485](https://github.com/getsentry/sentry/pull/117485)
- Model Sentry App and org callers as distinct action-log actors by @yuvmen in [#117354](https://github.com/getsentry/sentry/pull/117354)
- Instrument Sentry App platform external issue attach/unlink by @yuvmen in [#117273](https://github.com/getsentry/sentry/pull/117273)
- Add issue.progress search filter to frontend by @malwilley in [#117326](https://github.com/getsentry/sentry/pull/117326)
- Add "Awaiting Input" page to issue stream nav by @malwilley in [#117460](https://github.com/getsentry/sentry/pull/117460)
- Add issues-progress endpoint by @malwilley in [#117431](https://github.com/getsentry/sentry/pull/117431)
- Add optional project scoping to qualified short id lookups by @oioki in [#117047](https://github.com/getsentry/sentry/pull/117047)
- Move issue tracker actions into external links header by @scttcper in [#117343](https://github.com/getsentry/sentry/pull/117343)
- Show linked pull requests in issue sidebar by @scttcper in [#117271](https://github.com/getsentry/sentry/pull/117271)
- Add issue.progress search filter by @malwilley in [#117250](https://github.com/getsentry/sentry/pull/117250)
- Add issue-stream-progress-ui feature flag by @malwilley in [#117251](https://github.com/getsentry/sentry/pull/117251)
- Add endpoint for pull requests linked to an issue by @scttcper in [#116744](https://github.com/getsentry/sentry/pull/116744)
- Instrument integration inbound handlers and update_group_status by @yuvmen in [#116797](https://github.com/getsentry/sentry/pull/116797)
- Instrument TRIGGER_AUTOFIX on autofix kickoff by @yuvmen in [#116939](https://github.com/getsentry/sentry/pull/116939)
- Instrument external issue create/link/unlink endpoints by @yuvmen in [#116781](https://github.com/getsentry/sentry/pull/116781)
- Send resolving commit id on issue_resolved signal by @Zylphrex in [#116991](https://github.com/getsentry/sentry/pull/116991)
- Add GroupActionLogEntry by @kcons in [#115771](https://github.com/getsentry/sentry/pull/115771)
- Add GroupActionLog instrumentation for issue mutations by @yuvmen in [#116347](https://github.com/getsentry/sentry/pull/116347)
- Improve merged issues drawer by @scttcper in [#116634](https://github.com/getsentry/sentry/pull/116634)

#### Jira Server

- Add frontend pipeline steps for integration setup by @evanpurkhiser in [#117185](https://github.com/getsentry/sentry/pull/117185)
- Add API-driven pipeline backend for integration setup by @evanpurkhiser in [#117181](https://github.com/getsentry/sentry/pull/117181)

#### Onboarding

- Add Hono SDK (Deno) by @s1gr1d in [#117416](https://github.com/getsentry/sentry/pull/117416)
- Wire ScmProjectDetailsCore into single-view project creation by @jaydgoss in [#117213](https://github.com/getsentry/sentry/pull/117213)
- Wire ScmPlatformFeaturesCore into single-view project creation by @jaydgoss in [#116626](https://github.com/getsentry/sentry/pull/116626)
- Wire ScmIntegrationConnect into single-view project creation by @jaydgoss in [#116582](https://github.com/getsentry/sentry/pull/116582)
- Complete SCM task when Perforce integration is added by @souredoutlook in [#117009](https://github.com/getsentry/sentry/pull/117009)
- Scaffold SCM-first project creation as a single view by @jaydgoss in [#116577](https://github.com/getsentry/sentry/pull/116577)

#### Ourlogs

- Switch from LoadingIndicator to Placeholder for loading pinned rows by @JoshuaKGoldberg in [#117352](https://github.com/getsentry/sentry/pull/117352)
- Add 'all columns' option to export modal by @JoshuaKGoldberg in [#116192](https://github.com/getsentry/sentry/pull/116192)
- Sync hover state between pinned and tbody log rows by @JoshuaKGoldberg in [#117034](https://github.com/getsentry/sentry/pull/117034)
- Only re-query truncated logs on significant viewport width increases by @JoshuaKGoldberg in [#117014](https://github.com/getsentry/sentry/pull/117014)
- Fetch not-yet-available pinned logs and invalidate on filter changes by @JoshuaKGoldberg in [#116614](https://github.com/getsentry/sentry/pull/116614)

#### Pr Metrics

- Forward needs-judge terminal PR events to Seer by @vaind in [#117512](https://github.com/getsentry/sentry/pull/117512)
- Scaffold delegated-agent PR detection from GitHub webhooks by @giovanni-guidini in [#117171](https://github.com/getsentry/sentry/pull/117171)
- Deterministic verdict + redelivery guard for PR terminal events by @vaind in [#117290](https://github.com/getsentry/sentry/pull/117290)
- Capture branch_name in CodingAgentResult for delegated agents by @giovanni-guidini in [#117402](https://github.com/getsentry/sentry/pull/117402)
- Add merge_commit_id to the PR close/merge event by @Zylphrex in [#117318](https://github.com/getsentry/sentry/pull/117318)
- Add Seer judge callback update_pr_metrics by @vaind in [#117246](https://github.com/getsentry/sentry/pull/117246)
- Attribute PRs opened by Seer-delegated coding agents by @giovanni-guidini in [#117072](https://github.com/getsentry/sentry/pull/117072)
- Ensure to emit linked group ids to pr closed events by @Zylphrex in [#117192](https://github.com/getsentry/sentry/pull/117192)
- Persist PR opened_at, draft, and metrics JSONB; make emit payload-free by @vaind in [#117062](https://github.com/getsentry/sentry/pull/117062)
- Persist PR lifecycle fields and use them as emit fallback by @vaind in [#116962](https://github.com/getsentry/sentry/pull/116962)
- Populate PullRequestActivity from GitHub PR lifecycle webhooks by @giovanni-guidini in [#116856](https://github.com/getsentry/sentry/pull/116856)
- Emit a BigQuery row on PR close/merge (no-judge path) by @vaind in [#116842](https://github.com/getsentry/sentry/pull/116842)
- Write PullRequestAttribution on PR open via GitHub webhook by @giovanni-guidini in [#116834](https://github.com/getsentry/sentry/pull/116834)
- Attribute PRs from the seer.pr_created event by @vaind in [#116759](https://github.com/getsentry/sentry/pull/116759)
- Extend PullRequest + add PullRequestAttribution, PullRequestMetrics, PullRequestActivity tables by @giovanni-guidini in [#116586](https://github.com/getsentry/sentry/pull/116586)

#### Preprod

- Surface errored images in snapshot status check and PR comment by @NicoHinderling in [#117560](https://github.com/getsentry/sentry/pull/117560)
- Support selective builds as bases for stacked PRs by @NicoHinderling in [#117366](https://github.com/getsentry/sentry/pull/117366)
- Add odiff desync detection and unchanged-diff telemetry by @NicoHinderling in [#117210](https://github.com/getsentry/sentry/pull/117210)
- Add copy insight diff as JSON to clipboard by @jamieQ in [#116965](https://github.com/getsentry/sentry/pull/116965)
- Smart-download or email-deliver snapshot images by @NicoHinderling in [#116952](https://github.com/getsentry/sentry/pull/116952)
- Prefill original filename when saving snapshot images by @NicoHinderling in [#116954](https://github.com/getsentry/sentry/pull/116954)
- Set Content-Disposition filename on snapshot images by @NicoHinderling in [#116953](https://github.com/getsentry/sentry/pull/116953)
- Store and email-deliver snapshot image archives by @NicoHinderling in [#116928](https://github.com/getsentry/sentry/pull/116928)
- Fan out snapshot comparison into bounded chunk tasks by @NicoHinderling in [#116813](https://github.com/getsentry/sentry/pull/116813)
- Collapse duplicate files within a group by @jamieQ in [#116815](https://github.com/getsentry/sentry/pull/116815)
- Add async resumable snapshot archive download endpoint by @NicoHinderling in [#116825](https://github.com/getsentry/sentry/pull/116825)

#### Replays

- Add EAP `spans` dataset support to replay counts endpoint by @mjq in [#116150](https://github.com/getsentry/sentry/pull/116150)
- Hooked up logs search to standard TraceItemSearchQueryBuilder by @JoshuaKGoldberg in [#115944](https://github.com/getsentry/sentry/pull/115944)

#### Scm Multi Platform Detetion

- Extending multi platform detector functionality by @Abdkhan14 in [#117444](https://github.com/getsentry/sentry/pull/117444)
- Calling platforms-test endpoint in the FE by @Abdkhan14 in [#117113](https://github.com/getsentry/sentry/pull/117113)

#### Search

- Add recommended_v2 sort using the Postgres-data sort framework by @roggenkemper in [#117227](https://github.com/getsentry/sentry/pull/117227)
- Add Postgres-data sort framework for issue search by @roggenkemper in [#116896](https://github.com/getsentry/sentry/pull/116896)
- Downrank capture_message issues in recommended sort by @roggenkemper in [#116588](https://github.com/getsentry/sentry/pull/116588)
- Add `release:latest` as an autocomplete option in the issue feed by @shashjar in [#116742](https://github.com/getsentry/sentry/pull/116742)

#### Seer

- Wire enable_streaming flag to Seer agent runs by @natemoo-re in [#117573](https://github.com/getsentry/sentry/pull/117573)
- Register seer-explorer-stream feature flag by @natemoo-re in [#117571](https://github.com/getsentry/sentry/pull/117571)
- Enable autofix code review purely on the option by @chromy in [#117523](https://github.com/getsentry/sentry/pull/117523)
- Backfill SeerAgentRun.group_id from autofix category_value by @trevor-e in [#117561](https://github.com/getsentry/sentry/pull/117561)
- Accept and return SeerRun UUID in explorer autofix by @trevor-e in [#117464](https://github.com/getsentry/sentry/pull/117464)
- Treat night-shift RCA verdicts as skips by @trevor-e in [#117480](https://github.com/getsentry/sentry/pull/117480)
- Return and accept SeerRun UUID in explorer chat by @trevor-e in [#117265](https://github.com/getsentry/sentry/pull/117265)
- Return \_seer_error_detail on timeseries query 400s by @aliu39 in [#117395](https://github.com/getsentry/sentry/pull/117395)
- Add CPU connection pools and rollout options for severity and fixability by @Mihir-Mavalankar in [#117359](https://github.com/getsentry/sentry/pull/117359)
- Allow Seer Agent POST endpoints in sandbox demo mode by @constantinius in [#117397](https://github.com/getsentry/sentry/pull/117397)
- Move troubleshooting context to the serialized event by @ArthurKnaus in [#117303](https://github.com/getsentry/sentry/pull/117303)
- Register CPU rollout options for severity and fixability by @Mihir-Mavalankar in [#117350](https://github.com/getsentry/sentry/pull/117350)
- Populate SeerAgentRun.group from the client's group by @trevor-e in [#117314](https://github.com/getsentry/sentry/pull/117314)
- Poll search agent using UUID instead of numeric run ID by @trevor-e in [#115307](https://github.com/getsentry/sentry/pull/115307)
- Add cross-event filter params to execute_table_query by @manessaraj in [#117195](https://github.com/getsentry/sentry/pull/117195)
- Add issue troubleshooting context by @ArthurKnaus in [#117068](https://github.com/getsentry/sentry/pull/117068)
- Add autofix RCA and solution to issue details LLM context by @Mihir-Mavalankar in [#116978](https://github.com/getsentry/sentry/pull/116978)
- Register seer-explorer-embeds feature flag by @sentry-junior in [#116780](https://github.com/getsentry/sentry/pull/116780)
- Add autofix high-intelligence and code-review org experiments by @chromy in [#116843](https://github.com/getsentry/sentry/pull/116843)
- Add seer-use-agent-sandbox feature flag by @chromy in [#116841](https://github.com/getsentry/sentry/pull/116841)
- Handle @sentry review notes in GitLab merge_request webhook handler by @sentry-junior in [#116599](https://github.com/getsentry/sentry/pull/116599)
- Add deliver_feature_result RPC for Seer agent features by @trevor-e in [#116734](https://github.com/getsentry/sentry/pull/116734)
- Pass ready_for_review when creating Explorer PRs by @trevor-e in [#116746](https://github.com/getsentry/sentry/pull/116746)
- Add award-emoji parity to GitLab merge-request webhook handler by @cmanallen in [#116766](https://github.com/getsentry/sentry/pull/116766)

#### Seer Activity

- Implement activity action registry by @leeandher in [#117016](https://github.com/getsentry/sentry/pull/117016)
- Add the frontend form for seer activity condition by @leeandher in [#116689](https://github.com/getsentry/sentry/pull/116689)

#### Seer Infra Telemetry

- Add DatadogIdentityProvider for OAuth2 by @srest2021 in [#117035](https://github.com/getsentry/sentry/pull/117035)
- Bypass DCR if user is already linked to an Identity with existing client id and secret by @srest2021 in [#117358](https://github.com/getsentry/sentry/pull/117358)
- Add Datadog OAuth2 views with PKCE and DCR by @srest2021 in [#117026](https://github.com/getsentry/sentry/pull/117026)
- Add GCP MCP identity provider for OAuth2 by @shashjar in [#117279](https://github.com/getsentry/sentry/pull/117279)

#### Spans

- Add visuals to spans that have warnings/errors by @adrianviquez in [#117380](https://github.com/getsentry/sentry/pull/117380)
- Add any function by @wmak in [#116882](https://github.com/getsentry/sentry/pull/116882)

#### Taskbroker

- Add `taskworker-push` Topic by @george-sentry in [#117151](https://github.com/getsentry/sentry/pull/117151)
- Add `TASKWORKER_INGEST_PUSH` to `Topic` Enum by @george-sentry in [#117135](https://github.com/getsentry/sentry/pull/117135)

#### Teams

- Add avatar upload UI to team settings by @shashjar in [#117140](https://github.com/getsentry/sentry/pull/117140)
- Update team serializer to return avatar data by @shashjar in [#117132](https://github.com/getsentry/sentry/pull/117132)
- Recreates the `TeamAvatar` model by @shashjar in [#117128](https://github.com/getsentry/sentry/pull/117128)

#### Trace Waterfall

- Add time compression feature flag by @nsdeschenes in [#117109](https://github.com/getsentry/sentry/pull/117109)
- Render warning icon with count by @nsdeschenes in [#116566](https://github.com/getsentry/sentry/pull/116566)

#### Tracemetrics

- Update dashboard prompts to include equations by @narsaynorath in [#117103](https://github.com/getsentry/sentry/pull/117103)
- Switch widget builder to toggle between series and equations by @narsaynorath in [#116383](https://github.com/getsentry/sentry/pull/116383)

#### Vercel

- Activate the API-driven pipeline for Vercel installs by @evanpurkhiser in [#116625](https://github.com/getsentry/sentry/pull/116625)
- Add API-driven pipeline backend for Vercel integration setup by @evanpurkhiser in [#113094](https://github.com/getsentry/sentry/pull/113094)

#### Vsts

- Drive Marketplace installs through the API pipeline modal by @evanpurkhiser in [#117085](https://github.com/getsentry/sentry/pull/117085)
- Accept the Marketplace account as API pipeline initial data by @evanpurkhiser in [#116974](https://github.com/getsentry/sentry/pull/116974)

#### Webhooks

- Add org-scoped legacy webhooks endpoint by @Christinarlong in [#116817](https://github.com/getsentry/sentry/pull/116817)
- Add legacy-webhook-ui feature flag by @Christinarlong in [#116731](https://github.com/getsentry/sentry/pull/116731)

#### Weekly Report

- Removing dropped counts from snuba queries by @amy-chen23 in [#117578](https://github.com/getsentry/sentry/pull/117578)
- Remove dropped columns from chart by @amy-chen23 in [#117577](https://github.com/getsentry/sentry/pull/117577)
- Adding week over week percentage change to total errors and transactions by @amy-chen23 in [#117037](https://github.com/getsentry/sentry/pull/117037)

#### Other

- (account) Improve close account UX copy and confirmation by @sentry-junior in [#117051](https://github.com/getsentry/sentry/pull/117051)
- (agents) Warn about wrongly reported tokens in span details by @obostjancic in [#117067](https://github.com/getsentry/sentry/pull/117067)
- (apigw) Add cell address override support by @gi0baro in [#116846](https://github.com/getsentry/sentry/pull/116846)
- (billing) Paginate invoice comparison admin UI by @armcknight in [#116647](https://github.com/getsentry/sentry/pull/116647)
- (broadcasts) Add organization targeting to broadcast admin UI by @michelletran-sentry in [#116723](https://github.com/getsentry/sentry/pull/116723)
- (clock-pulse) Rollout TaskProducer as checkin_producer by @bmckerry in [#117107](https://github.com/getsentry/sentry/pull/117107)
- (cmd-k) Hide deprecated API Keys from command palette by @sentry-junior in [#116922](https://github.com/getsentry/sentry/pull/116922)
- (config-issues) Add beta badge to Sentry Configuration by @ArthurKnaus in [#117156](https://github.com/getsentry/sentry/pull/117156)
- (conversations) Support reasoning/thinking message parts by @obostjancic in [#117401](https://github.com/getsentry/sentry/pull/117401)
- (cursor) Make agent display name editable and drop email from default by @JoshFerge in [#117559](https://github.com/getsentry/sentry/pull/117559)
- (dashboards) Add backend support for heat map widgets by @gggritso in [#117575](https://github.com/getsentry/sentry/pull/117575)
- (dev) Suppress mypy unused configs warnings when running via prek by @lcian in [#117281](https://github.com/getsentry/sentry/pull/117281)
- (devserver) Tee console output to a local dev log file by @trevor-e in [#117486](https://github.com/getsentry/sentry/pull/117486)
- (difs) Add Objectstore columns to ProjectDebugFile by @lcian in [#117500](https://github.com/getsentry/sentry/pull/117500)
- (dynamic-sampling) Add config option to set the minimum implicit factor by @constantinius in [#116571](https://github.com/getsentry/sentry/pull/116571)
- (eslint) Only run ESLint on impacted files, transitively by @JoshuaKGoldberg in [#116718](https://github.com/getsentry/sentry/pull/116718)
- (explorer) Wire enable_embeds flag to Seer agent runs by @natemoo-re in [#117270](https://github.com/getsentry/sentry/pull/117270)
- (fix) Update the sync export to send error to UI by @manessaraj in [#117077](https://github.com/getsentry/sentry/pull/117077)
- (GAL) Add handling of GALEs during group merge by @thetruecpaul in [#117111](https://github.com/getsentry/sentry/pull/117111)
- (gitlab) Track contributor seat on merge request opened by @tnt-sentry in [#116576](https://github.com/getsentry/sentry/pull/116576)
- (grouping) Add feature flag to skip v1 fallback for grouping v2 by @yuvmen in [#117566](https://github.com/getsentry/sentry/pull/117566)
- (heatmaps) Disable heat maps selection for equations by @nikkikapadia in [#117334](https://github.com/getsentry/sentry/pull/117334)
- (icons) Add heatmap visualization icon to IconGraph by @gggritso in [#116977](https://github.com/getsentry/sentry/pull/116977)
- (inbound-filters) Add spring boot globs by @tobias-wilfert in [#117157](https://github.com/getsentry/sentry/pull/117157)
- (issue-sort) Skip zero-weighted factors in recommended sort by @roggenkemper in [#116726](https://github.com/getsentry/sentry/pull/116726)
- (logs) Wire Seer AI visualization params into logs explore by @isaacwang-sentry in [#115585](https://github.com/getsentry/sentry/pull/115585)
- (low-value-spans) Redesign configuration issue details by @ArthurKnaus in [#117160](https://github.com/getsentry/sentry/pull/117160)
- (mcp-attribution) Create pull request attribution for mcp usage by @Zylphrex in [#117443](https://github.com/getsentry/sentry/pull/117443)
- (mypy) Auto-derive Serializer[T] from typed serialize() returns by @azulus in [#116879](https://github.com/getsentry/sentry/pull/116879)
- (navigation) Add search button to topbar by @JonasBa in [#116443](https://github.com/getsentry/sentry/pull/116443)
- (night_shift) Gate Seer feature delivery behind an option by @trevor-e in [#116890](https://github.com/getsentry/sentry/pull/116890)
- (options) Add configoptions validate subcommand by @wedamija in [#116831](https://github.com/getsentry/sentry/pull/116831)
- (post-process) Add overridable SIEM security logging hook by @oioki in [#116820](https://github.com/getsentry/sentry/pull/116820)
- (project transfer) Attempt to reconnect integration when Action is transferred by @ceorourke in [#116910](https://github.com/getsentry/sentry/pull/116910)
- (report) Add metrics for weekly report pipeline observability by @amy-chen23 in [#116810](https://github.com/getsentry/sentry/pull/116810)
- (reports) Cache per-project weekly report metrics by @amy-chen23 in [#116739](https://github.com/getsentry/sentry/pull/116739)
- (repositories) Auto-link new projects to repos via name matching by @wedamija in [#116636](https://github.com/getsentry/sentry/pull/116636)
- (scraps) Add no-double-dollar-interpolation eslint rule by @JoshuaKGoldberg in [#117121](https://github.com/getsentry/sentry/pull/117121)
- (seer-agent) Include integration id on repo_pr_state by @Zylphrex in [#117687](https://github.com/getsentry/sentry/pull/117687)
- (snapshots) Show label for active diff mode in toolbar by @mtopo27 in [#117118](https://github.com/getsentry/sentry/pull/117118)
- (span-fields) Hide internal attributes by @nsdeschenes in [#116384](https://github.com/getsentry/sentry/pull/116384)
- (trace-item-stats) Hide internal attributes by @nsdeschenes in [#116380](https://github.com/getsentry/sentry/pull/116380)
- (trace-items) Remove internal attributes by @nsdeschenes in [#116329](https://github.com/getsentry/sentry/pull/116329)
- (validate) Add a new validate endpoint by @wmak in [#117474](https://github.com/getsentry/sentry/pull/117474)
- (values) Add a way to start deprecating this api by @wmak in [#117129](https://github.com/getsentry/sentry/pull/117129)
- Add event stream only github webhook handlers by @joseph-sentry in [#116312](https://github.com/getsentry/sentry/pull/116312)
- Emit issue.view.attribution events for mcp by @Zylphrex in [#116699](https://github.com/getsentry/sentry/pull/116699)

### Bug Fixes 🐛

#### Aci

- Handle missing conditions in DataConditionGroup create by @malwilley in [#117036](https://github.com/getsentry/sentry/pull/117036)
- Add better condition validation by @malwilley in [#117007](https://github.com/getsentry/sentry/pull/117007)

#### Api

- Correctly serialize integration issues in group details by @sentry in [#117163](https://github.com/getsentry/sentry/pull/117163)
- Document project param on replay count endpoint by @betegon in [#116836](https://github.com/getsentry/sentry/pull/116836)
- Handle non-numeric group_id in project event details endpoint by @sentry in [#116866](https://github.com/getsentry/sentry/pull/116866)
- Document missing query params on Teams, Projects, and Project Issues endpoints by @betegon in [#116835](https://github.com/getsentry/sentry/pull/116835)
- Correct OpenAPI spec type gaps in issue_id and query params by @betegon in [#116782](https://github.com/getsentry/sentry/pull/116782)

#### Cells

- Fixes potential misalignment in group serializer when users are inactive or deleted by @GabeVillalobos in [#116886](https://github.com/getsentry/sentry/pull/116886)
- Org member serialization returns empty email if user and email fields not available" by @GabeVillalobos in [#116871](https://github.com/getsentry/sentry/pull/116871)

#### Charts

- Flip tall tooltips below the cursor when needed for space by @JoshuaKGoldberg in [#117264](https://github.com/getsentry/sentry/pull/117264)
- Restore chart drag-to-select by @JoshuaKGoldberg in [#117256](https://github.com/getsentry/sentry/pull/117256)

#### Ci

- Pass GITHUB_TOKEN to devservices by @mchen-sentry in [#117345](https://github.com/getsentry/sentry/pull/117345)
- Bump pytest-rerunfailures to 16.3 for pytest 9 compatibility by @mchen-sentry in [#117232](https://github.com/getsentry/sentry/pull/117232)

#### Dashboards

- Allow existing tracemetrics table widgets to save by @DominikB2014 in [#117452](https://github.com/getsentry/sentry/pull/117452)
- Prevent crash on time series widgets with missing aggregates by @gggritso in [#117382](https://github.com/getsentry/sentry/pull/117382)
- Collapse Seer system prompt in dashboard chat by @DominikB2014 in [#117307](https://github.com/getsentry/sentry/pull/117307)
- Hide internal error messages from widget error state by @skaasten in [#116970](https://github.com/getsentry/sentry/pull/116970)
- Reduce dashboard generation validation loop failures by @shruthilayaj in [#116501](https://github.com/getsentry/sentry/pull/116501)

#### Deletions

- Normalize group-deletion pagination cursor for Snuba by @mrduncan in [#117537](https://github.com/getsentry/sentry/pull/117537)
- Avoid cross-table JOIN in `GroupEnvironment` bulk delete during org deletion by @shashjar in [#116627](https://github.com/getsentry/sentry/pull/116627)

#### Explore

- Preserve agent-selected interval not in the dropdown by @DominikB2014 in [#117355](https://github.com/getsentry/sentry/pull/117355)
- Setting metrics heat map visualization with previous groupby by @nikkikapadia in [#117131](https://github.com/getsentry/sentry/pull/117131)
- Reset cursor when searching saved queries by @matejminar in [#117177](https://github.com/getsentry/sentry/pull/117177)
- Heatmap z-axis value in tooltip showing logarithmic value by @nikkikapadia in [#116844](https://github.com/getsentry/sentry/pull/116844)

#### Grouping

- Match Dart bootstrap stub frames by trimmed function name by @buenaflor in [#117161](https://github.com/getsentry/sentry/pull/117161)
- Mark Flutter runtime native frames as non-app by @buenaflor in [#116177](https://github.com/getsentry/sentry/pull/116177)
- Fix performance issues in grouping parameterization regexes by @shashjar in [#116897](https://github.com/getsentry/sentry/pull/116897)

#### Intercom

- Switch from user_hash to intercom_user_jwt by @scttcper in [#117378](https://github.com/getsentry/sentry/pull/117378)
- Clear cookies before boot by @scttcper in [#117277](https://github.com/getsentry/sentry/pull/117277)
- Wait before shutdown/restart by @scttcper in [#117149](https://github.com/getsentry/sentry/pull/117149)
- Reboot messenger after first show by @scttcper in [#117127](https://github.com/getsentry/sentry/pull/117127)

#### Issues

- Show auto-resolve activity age by @scttcper in [#117481](https://github.com/getsentry/sentry/pull/117481)
- Keep searched release selected in resolve modal by @scttcper in [#117496](https://github.com/getsentry/sentry/pull/117496)
- Show auto ongoing activity duration by @scttcper in [#117477](https://github.com/getsentry/sentry/pull/117477)
- Correct external issue activity title by @scttcper in [#117473](https://github.com/getsentry/sentry/pull/117473)
- Shorten sidebar activity timestamps by @scttcper in [#117451](https://github.com/getsentry/sentry/pull/117451)
- Decode issue stream query params by @scttcper in [#117435](https://github.com/getsentry/sentry/pull/117435)
- Stop over-reporting status updates for already-matching groups by @yuvmen in [#117146](https://github.com/getsentry/sentry/pull/117146)
- Key bulk short id lookup on (project, short id) pairs by @oioki in [#117046](https://github.com/getsentry/sentry/pull/117046)
- Prefer closed status for closed draft PRs by @scttcper in [#117249](https://github.com/getsentry/sentry/pull/117249)
- Serve org-prefixed public share links without login by @cvxluo in [#117200](https://github.com/getsentry/sentry/pull/117200)
- Handle prototype tag roots by @scttcper in [#117155](https://github.com/getsentry/sentry/pull/117155)
- Use map for project member index by @scttcper in [#116996](https://github.com/getsentry/sentry/pull/116996)
- Show issue row checkbox on keyboard focus" by @macuzi in [#116750](https://github.com/getsentry/sentry/pull/116750)
- Tighten activity feed marker spacing by @scttcper in [#116828](https://github.com/getsentry/sentry/pull/116828)
- Improve pull request activity wrapping by @scttcper in [#116785](https://github.com/getsentry/sentry/pull/116785)

#### Low Value Spans

- Handle null op/description in explore link and snippets by @ArthurKnaus in [#117292](https://github.com/getsentry/sentry/pull/117292)
- Clarify extrapolation window in tooltips by @ArthurKnaus in [#117282](https://github.com/getsentry/sentry/pull/117282)
- Correct typo in problem description by @ArthurKnaus in [#117189](https://github.com/getsentry/sentry/pull/117189)
- Improve troubleshooting docs links by @ArthurKnaus in [#117176](https://github.com/getsentry/sentry/pull/117176)

#### Metric Issues

- Filter contributing issues by detector environment by @malwilley in [#117367](https://github.com/getsentry/sentry/pull/117367)
- Show contributing issues for crash rate metric monitors by @malwilley in [#116703](https://github.com/getsentry/sentry/pull/116703)

#### Metrics

- Sync trace metric from assisted query agent output by @DominikB2014 in [#116975](https://github.com/getsentry/sentry/pull/116975)
- Remove metric fallback attribute loading by @nsdeschenes in [#116840](https://github.com/getsentry/sentry/pull/116840)
- Load fallback attributes in metric filters by @nsdeschenes in [#116764](https://github.com/getsentry/sentry/pull/116764)
- Add group by attribute fallback by @nsdeschenes in [#116763](https://github.com/getsentry/sentry/pull/116763)

#### Onboarding

- Add `dataCollection.httpBodies` to setup snippet by @s1gr1d in [#117498](https://github.com/getsentry/sentry/pull/117498)
- Keep getting-started rendered while back nav deletes by @jaydgoss in [#117325](https://github.com/getsentry/sentry/pull/117325)
- Hide trial and volume info outside onboarding by @jaydgoss in [#117199](https://github.com/getsentry/sentry/pull/117199)
- Route SCM modal analytics by flow by @jaydgoss in [#116730](https://github.com/getsentry/sentry/pull/116730)
- Gate experiment exposure to recently created orgs by @jaydgoss in [#117017](https://github.com/getsentry/sentry/pull/117017)

#### Ourlogs

- Preserve graph type when adding a chart to dashboard by @JoshuaKGoldberg in [#117420](https://github.com/getsentry/sentry/pull/117420)
- Reuse `useVisualizeFields` to avoid Visualize field resetting to None by @JoshuaKGoldberg in [#117528](https://github.com/getsentry/sentry/pull/117528)
- Disable charts automerge outside of auto-refresh by @JoshuaKGoldberg in [#117421](https://github.com/getsentry/sentry/pull/117421)
- Use dynamic back-to-top button offset by @JoshuaKGoldberg in [#116976](https://github.com/getsentry/sentry/pull/116976)
- Shift pin icon 6px away from right scrollbar by @JoshuaKGoldberg in [#117030](https://github.com/getsentry/sentry/pull/117030)
- Keep last column alignment stable on hover by @JoshuaKGoldberg in [#116900](https://github.com/getsentry/sentry/pull/116900)
- Source observed timestamp from hover-prefetched trace item attributes by @JoshuaKGoldberg in [#116804](https://github.com/getsentry/sentry/pull/116804)

#### Perforce

- Fix the client usage and path settings by @mujacica in [#117422](https://github.com/getsentry/sentry/pull/117422)
- Extend the hostname checks by @mujacica in [#117296](https://github.com/getsentry/sentry/pull/117296)
- Fix the URL parsing when Release/Commit info is available by @mujacica in [#117158](https://github.com/getsentry/sentry/pull/117158)
- Extend the logic for the perforce transport checks by @mujacica in [#117178](https://github.com/getsentry/sentry/pull/117178)
- Add support for repo external ID and sync by @mujacica in [#116771](https://github.com/getsentry/sentry/pull/116771)

#### Performance

- Hide sample transaction button without event:write by @skaasten in [#116801](https://github.com/getsentry/sentry/pull/116801)
- Use full issue URL in trace drawer by @scttcper in [#116819](https://github.com/getsentry/sentry/pull/116819)

#### Preprod

- Post snapshot PR comment when all images errored by @NicoHinderling in [#117585](https://github.com/getsentry/sentry/pull/117585)
- Prevent duplicate snapshot PR comments under fanout by @NicoHinderling in [#117467](https://github.com/getsentry/sentry/pull/117467)
- Stop chunk crash from reserved LogRecord key by @NicoHinderling in [#117550](https://github.com/getsentry/sentry/pull/117550)
- Run expired-artifacts reaper every 30 minutes by @NicoHinderling in [#116860](https://github.com/getsentry/sentry/pull/116860)
- Reap stuck PROCESSING snapshot comparisons by @NicoHinderling in [#116708](https://github.com/getsentry/sentry/pull/116708)

#### Replays

- Stop showing setup message for status-0 network requests by @JoshuaKGoldberg in [#117554](https://github.com/getsentry/sentry/pull/117554)
- Keep replay reader from mutating records by @scttcper in [#116606](https://github.com/getsentry/sentry/pull/116606)
- Clear stale filters when changing replay tabs by @nsdeschenes in [#116768](https://github.com/getsentry/sentry/pull/116768)

#### Search

- Treat Seer datetimes as plain UTC instead of Z-stripping by @isaacwang-sentry in [#117108](https://github.com/getsentry/sentry/pull/117108)
- Ignore prototype keys in recent filters by @scttcper in [#117040](https://github.com/getsentry/sentry/pull/117040)

#### Search Query Builder

- Cache async key info by @nsdeschenes in [#117415](https://github.com/getsentry/sentry/pull/117415)
- Sync external query while disabled by @nsdeschenes in [#116772](https://github.com/getsentry/sentry/pull/116772)

#### Seer

- Add GitLab support to autofix integration setup check by @billyvg in [#117678](https://github.com/getsentry/sentry/pull/117678)
- Fix alignment of repo-count column by @ryan953 in [#117384](https://github.com/getsentry/sentry/pull/117384)
- Send pull_request_review_comment as code-review trigger type by @billyvg in [#117433](https://github.com/getsentry/sentry/pull/117433)
- Navigate same-origin markdown links with the router by @natemoo-re in [#117432](https://github.com/getsentry/sentry/pull/117432)
- Fix an issue where the Autofix Agent filter wasnt working properly by @ryan953 in [#117381](https://github.com/getsentry/sentry/pull/117381)
- Save Autofix modal repos through Seer endpoints by @billyvg in [#117340](https://github.com/getsentry/sentry/pull/117340)
- Prefer to fall through to redirects for non-seat based orgs by @ryan953 in [#116483](https://github.com/getsentry/sentry/pull/116483)

#### Settings

- Fix the layout of the integrations page after a search by @ryan953 in [#117119](https://github.com/getsentry/sentry/pull/117119)
- Handle prototype scrubbing sources by @scttcper in [#117008](https://github.com/getsentry/sentry/pull/117008)

#### Tests

- Correct mock for users endpoint in related issues test by @sentry in [#117535](https://github.com/getsentry/sentry/pull/117535)
- Disable endpoint config fetch in RelayStoreHelper tests by @joshuarli in [#117243](https://github.com/getsentry/sentry/pull/117243)

#### Tracemetrics

- Add validation for single equation for timeseries by @narsaynorath in [#117568](https://github.com/getsentry/sentry/pull/117568)
- Switching to equation mode clears aliases by @narsaynorath in [#117229](https://github.com/getsentry/sentry/pull/117229)
- Read equation for total count in widget by @narsaynorath in [#116973](https://github.com/getsentry/sentry/pull/116973)
- Add empty state for empty equation in metrics by @narsaynorath in [#116869](https://github.com/getsentry/sentry/pull/116869)
- Auto select equation when switching to equation mode by @narsaynorath in [#116873](https://github.com/getsentry/sentry/pull/116873)

#### Ui

- Reset Intercom session on customer-domain org switches by @scttcper in [#116878](https://github.com/getsentry/sentry/pull/116878)
- Remove /groups/ endpoints from endpoint list by @scttcper in [#116934](https://github.com/getsentry/sentry/pull/116934)
- Exclude legacy issue URLs from generated types by @scttcper in [#116818](https://github.com/getsentry/sentry/pull/116818)

#### Workflow Engine

- Validate AssignedTo condition targets belong to the organization by @malwilley in [#117110](https://github.com/getsentry/sentry/pull/117110)
- Skip deescalating condition for groups without open periods by @malwilley in [#116802](https://github.com/getsentry/sentry/pull/116802)

#### Other

- (action_log) Refine usage of idempotency key by @kcons in [#117391](https://github.com/getsentry/sentry/pull/117391)
- (apigw) Handle multiple `set-cookie` headers in proxied requests by @gi0baro in [#117289](https://github.com/getsentry/sentry/pull/117289)
- (apps) Fix theme issues with a divider by @Asynchronite in [#117231](https://github.com/getsentry/sentry/pull/117231)
- (attachments) Disable preview for `prosperodmp` attachments by @JoshuaMoelans in [#117187](https://github.com/getsentry/sentry/pull/117187)
- (auth) Redirect inactive authenticated users to reactivate, not next_uri by @sentry-junior in [#117052](https://github.com/getsentry/sentry/pull/117052)
- (autofix) Remove non-null assertion in getFinalExplanation by @sentry-junior in [#116967](https://github.com/getsentry/sentry/pull/116967)
- (billing) Clear region details in billing address if incorrect by @krithikravi in [#117590](https://github.com/getsentry/sentry/pull/117590)
- (cell) Adds actor serialization fix for monitors by @GabeVillalobos in [#117020](https://github.com/getsentry/sentry/pull/117020)
- (components) Fix copy block handler by @aliu39 in [#116833](https://github.com/getsentry/sentry/pull/116833)
- (configuration-issues) Show event header in details by @ArthurKnaus in [#117162](https://github.com/getsentry/sentry/pull/117162)
- (conversations) Stop rendering raw tool call JSON as message content by @obostjancic in [#117065](https://github.com/getsentry/sentry/pull/117065)
- (crons) Add trace ID to occurrences by @thetruecpaul in [#117374](https://github.com/getsentry/sentry/pull/117374)
- (devserver) Exclude .artifacts from granian reload watcher by @kitlord in [#117609](https://github.com/getsentry/sentry/pull/117609)
- (discover) Wrap attribute values with spaces in quotes by @nsdeschenes in [#117532](https://github.com/getsentry/sentry/pull/117532)
- (dynamic-sampling) Rename project_id in logs to avoid built-in column collision by @constantinius in [#117671](https://github.com/getsentry/sentry/pull/117671)
- (email) Add login links to deactivation and org deletion emails by @sentry-junior in [#117053](https://github.com/getsentry/sentry/pull/117053)
- (events) Add silo decorator by @wmak in [#117569](https://github.com/getsentry/sentry/pull/117569)
- (external-issues) Preserve user-entered values when issue type changes by @sentry-junior in [#117043](https://github.com/getsentry/sentry/pull/117043)
- (frontend) Migrate issueActions.tsx to requestPromise by @sentry in [#117626](https://github.com/getsentry/sentry/pull/117626)
- (heatmaps) Change minimum duration unit to microsecond for small values by @nikkikapadia in [#117214](https://github.com/getsentry/sentry/pull/117214)
- (issue details) Show PR author name instead of "Sentry" in activity feed by @shashjar in [#116888](https://github.com/getsentry/sentry/pull/116888)
- (issue-detection) Exclude cached queries from N+1 DB detection by @roggenkemper in [#117190](https://github.com/getsentry/sentry/pull/117190)
- (issueList) Convert undoAction to promise-based API by @ryan953 in [#117627](https://github.com/getsentry/sentry/pull/117627)
- (monitors) Show "no projects" component in monitors list view by @malwilley in [#116814](https://github.com/getsentry/sentry/pull/116814)
- (notifications) Use triggering event metadata in regression notifications by @vgrozdanic in [#117414](https://github.com/getsentry/sentry/pull/117414)
- (options) Bump max option value length by @bmckerry in [#117316](https://github.com/getsentry/sentry/pull/117316)
- (profile-issues) Bump vroomrs to 0.1.21 by @Zylphrex in [#117124](https://github.com/getsentry/sentry/pull/117124)
- (project transfer) Clone shared workflows when transferring project by @ceorourke in [#116522](https://github.com/getsentry/sentry/pull/116522)
- (replay) Guard against undefined frame.data in BreadcrumbIssueLink by @scttcper in [#117593](https://github.com/getsentry/sentry/pull/117593)
- (report) Enforce enhanced privacy settings for weekly report by @amy-chen23 in [#116909](https://github.com/getsentry/sentry/pull/116909)
- (reports) Fixing weekly report dev env by @amy-chen23 in [#116779](https://github.com/getsentry/sentry/pull/116779)
- (scm) Adds additional check to GHE integration building step by @GabeVillalobos in [#117240](https://github.com/getsentry/sentry/pull/117240)
- (sdk-crash) Add Trace ID by @thetruecpaul in [#117372](https://github.com/getsentry/sentry/pull/117372)
- (seer-activity) Use preferred detector instead of issue stream by @leeandher in [#116695](https://github.com/getsentry/sentry/pull/116695)
- (seer-explorer) Key tool-call rows by id, not function+index by @trevor-e in [#117365](https://github.com/getsentry/sentry/pull/117365)
- (seer-settings) Scope Seer settings bulk PUT to all accessible projects by @srest2021 in [#117247](https://github.com/getsentry/sentry/pull/117247)
- (sentry-apps) Omit empty optional fields from issue-link submissions by @priscilawebdev in [#116757](https://github.com/getsentry/sentry/pull/116757)
- (smartSearchBar) Handle prototype filter keys by @scttcper in [#116999](https://github.com/getsentry/sentry/pull/116999)
- (snapshots) Use `sentry-cli snapshots upload`, bump cli to 3.5.0 by @sentry-junior in [#117002](https://github.com/getsentry/sentry/pull/117002)
- (snuba) Only tag snuba rejected queries by @cvxluo in [#117145](https://github.com/getsentry/sentry/pull/117145)
- (suspect commits) Use release date as the upper bound for SCM-based commit filtering by @shashjar in [#117013](https://github.com/getsentry/sentry/pull/117013)
- (tagstore) Skip array meta-columns in tag value paginator by @Zylphrex in [#117018](https://github.com/getsentry/sentry/pull/117018)
- (taskbroker) Override Topic and Namespace in Task Sender Locally by @george-sentry in [#117466](https://github.com/getsentry/sentry/pull/117466)
- (teams) Guard team avatar serializer on `avatar_type` instead of `file_id` by @shashjar in [#117320](https://github.com/getsentry/sentry/pull/117320)
- (traces) Add fallbacks for renamed gen_ai span attributes by @obostjancic in [#117301](https://github.com/getsentry/sentry/pull/117301)
- (txn-summary) Clean up `getEAPTotalsEventView` by @mjq in [#116711](https://github.com/getsentry/sentry/pull/116711)
- (uptime) Rename 'View alert details' CTA to 'View monitor details' by @souredoutlook in [#117423](https://github.com/getsentry/sentry/pull/117423)
- (vroom) Add Trace to Vroom occurrences by @thetruecpaul in [#117468](https://github.com/getsentry/sentry/pull/117468)
- (webhooks) Return disabled projects in org legacy webhooks endpoint by @Christinarlong in [#116914](https://github.com/getsentry/sentry/pull/116914)
- (workflow) Fix type choices being a snapshot list of grouptype registry by @Christinarlong in [#116637](https://github.com/getsentry/sentry/pull/116637)
- (workflows) Validate delayed workflow tag filter keys by @kcons in [#117344](https://github.com/getsentry/sentry/pull/117344)
- Improve 500 error page by @markstory in [#117437](https://github.com/getsentry/sentry/pull/117437)
- Adjust grid template columns values to constraint attribute tree text by @adrianviquez in [#117019](https://github.com/getsentry/sentry/pull/117019)
- Revert "ref(webhooks): Hide PLUGIN action type from available actions endpoint (#116458)" by @getsentry-bot in [4e8716f0](https://github.com/getsentry/sentry/commit/4e8716f08e28ed94e783a0843b85b23f8043d624)

### Documentation 📚

#### Agents

- Mention conversation IDs in onboarding by @obostjancic in [#117165](https://github.com/getsentry/sentry/pull/117165)
- Fix prek mypy run command by @lcian in [#117198](https://github.com/getsentry/sentry/pull/117198)
- Point static/AGENTS.md design-system to the skill by @JoshFerge in [#116881](https://github.com/getsentry/sentry/pull/116881)
- Trim noise from root and tests AGENTS.md by @JoshFerge in [#116875](https://github.com/getsentry/sentry/pull/116875)
- Remove cross-doc duplication in AGENTS.md files by @JoshFerge in [#116874](https://github.com/getsentry/sentry/pull/116874)
- Trim noise and stale duplication from src/AGENTS.md by @JoshFerge in [#116868](https://github.com/getsentry/sentry/pull/116868)

#### Api

- Migrate project users docs by @JoshFerge in [#116908](https://github.com/getsentry/sentry/pull/116908)
- Migrate project stats docs by @JoshFerge in [#116906](https://github.com/getsentry/sentry/pull/116906)
- Migrate organization repositories docs by @JoshFerge in [#116905](https://github.com/getsentry/sentry/pull/116905)

#### Other

- (backup) Document backup test coverage steps for new models by @shellmayr in [#117293](https://github.com/getsentry/sentry/pull/117293)
- (seer) Add simple stories for the two AutofixRepositories components, aka "Connected Repos" lists by @ryan953 in [#117616](https://github.com/getsentry/sentry/pull/117616)
- Added note about accuracy on sampled data / documented yAxis values by @bcoe in [#117684](https://github.com/getsentry/sentry/pull/117684)

### Internal Changes 🔧

#### Aci

- Cleanup the code from rolling out the new activity handler by @saponifi3d in [#117388](https://github.com/getsentry/sentry/pull/117388)
- Remove `workflow_status_update_handler` and use generic handler by @saponifi3d in [#117152](https://github.com/getsentry/sentry/pull/117152)
- Add / adopt `DetectorId` instead of `int` by @saponifi3d in [#116902](https://github.com/getsentry/sentry/pull/116902)

#### Alerts

- Migrate handleOwnerChange from api.request to requestPromise by @ryan953 in [#117628](https://github.com/getsentry/sentry/pull/117628)
- Bump up brownout schedule and include private endpoints by @ceorourke in [#117469](https://github.com/getsentry/sentry/pull/117469)

#### Api

- Use token operationIds + summary for replay endpoints by @betegon in [#117166](https://github.com/getsentry/sentry/pull/117166)
- Use token operationIds + summary for discover endpoints by @betegon in [#117302](https://github.com/getsentry/sentry/pull/117302)
- Use token operationIds + summary for dashboard endpoints by @betegon in [#117297](https://github.com/getsentry/sentry/pull/117297)
- Type `source_map_debug` endpoint by @cvxluo in [#117274](https://github.com/getsentry/sentry/pull/117274)
- Extract isSimilarOrigin and resolveHostname to utils/api/ by @ryan953 in [#117263](https://github.com/getsentry/sentry/pull/117263)
- Tighten group_details.put() return to Response[T] by @azulus in [#117203](https://github.com/getsentry/sentry/pull/117203)
- Tighten 2 more endpoint returns to Response[T] by @azulus in [#117197](https://github.com/getsentry/sentry/pull/117197)
- Tighten 4 more paginate-based endpoint returns by @azulus in [#117154](https://github.com/getsentry/sentry/pull/117154)
- Tighten 2 more Goal #1 endpoint methods by @azulus in [#117144](https://github.com/getsentry/sentry/pull/117144)
- Tighten 5 more endpoint returns to Response[T] by @azulus in [#117138](https://github.com/getsentry/sentry/pull/117138)
- Tighten 3 more PUBLIC endpoint returns to Response[T] by @azulus in [#117123](https://github.com/getsentry/sentry/pull/117123)
- Tighten 11 endpoint methods to Response[T] by @azulus in [#117117](https://github.com/getsentry/sentry/pull/117117)
- Tighten 3 endpoint returns to Response[T] by @azulus in [#117028](https://github.com/getsentry/sentry/pull/117028)
- Move ApiResult/ResponseMeta types to a leaf module by @JoshuaKGoldberg in [#116854](https://github.com/getsentry/sentry/pull/116854)
- Tighten 2 endpoint annotations via local TypedDict by @azulus in [#116918](https://github.com/getsentry/sentry/pull/116918)
- Tighten 4 workflow-engine endpoint annotations by @azulus in [#116898](https://github.com/getsentry/sentry/pull/116898)
- Tighten 15 endpoint return annotations to Response[T] by @azulus in [#116893](https://github.com/getsentry/sentry/pull/116893)
- Remove legacy `blue-thunder-edition` URL by @cvxluo in [#116859](https://github.com/getsentry/sentry/pull/116859)
- Remove publish-status allowlist and the UNKNOWN status by @gricha in [#116747](https://github.com/getsentry/sentry/pull/116747)
- Document remaining UNKNOWN endpoints, drain publish-status allowlist by @gricha in [#116745](https://github.com/getsentry/sentry/pull/116745)
- Resolve UNKNOWN publish_status for release and deprecated endpoints by @gricha in [#116650](https://github.com/getsentry/sentry/pull/116650)

#### Autofix

- Gate "open in seer agent" button behind a option by @joseph-sentry in [#117322](https://github.com/getsentry/sentry/pull/117322)
- Declare seer-agent-debug-view flag by @joseph-sentry in [#117321](https://github.com/getsentry/sentry/pull/117321)
- Remove get_autofix_state function by @Zylphrex in [#117228](https://github.com/getsentry/sentry/pull/117228)
- Remove instances of launch coding agents for run by @Zylphrex in [#117174](https://github.com/getsentry/sentry/pull/117174)
- Remove unused group ai autofix from frontend by @Zylphrex in [#117134](https://github.com/getsentry/sentry/pull/117134)
- Remove legacy autofix state from PR by @Zylphrex in [#117125](https://github.com/getsentry/sentry/pull/117125)
- Delete unused autofix update endpoint by @Zylphrex in [#117112](https://github.com/getsentry/sentry/pull/117112)
- Make stopping point validation aware of billing tier by @srest2021 in [#116724](https://github.com/getsentry/sentry/pull/116724)
- Remove unused legacy autofix path by @Zylphrex in [#116769](https://github.com/getsentry/sentry/pull/116769)

#### Billing

- Bump sentry-protos to 0.24.0 by @dashed in [#117038](https://github.com/getsentry/sentry/pull/117038)
- Bumped protos to 0.22.3 by @krithikravi in [#117027](https://github.com/getsentry/sentry/pull/117027)
- Bumped sentry protos to 0.22.2 by @krithikravi in [#116992](https://github.com/getsentry/sentry/pull/116992)

#### Buffers

- Handle none value in non-pickle dump by @dmajere in [#116993](https://github.com/getsentry/sentry/pull/116993)
- Disable deprecated transactions in buffer usage by @dmajere in [#116916](https://github.com/getsentry/sentry/pull/116916)

#### Cell

- Updates apigateway metrics with method, removes old resolution code by @GabeVillalobos in [#117042](https://github.com/getsentry/sentry/pull/117042)
- Changes netloc checks to match cells by hostname instead by @GabeVillalobos in [#116727](https://github.com/getsentry/sentry/pull/116727)
- Cleans up import loops with apigateways by @GabeVillalobos in [#116658](https://github.com/getsentry/sentry/pull/116658)

#### Cells

- Unregister cells.use-control-org-listing by @lynnagara in [#117556](https://github.com/getsentry/sentry/pull/117556)
- Stop exposing use-control-org-listing via client_config by @lynnagara in [#117373](https://github.com/getsentry/sentry/pull/117373)
- Fetch org listing from control silo unconditionally by @lynnagara in [#117371](https://github.com/getsentry/sentry/pull/117371)
- Adds Error Embed pages to metric allowed paths by @GabeVillalobos in [#117039](https://github.com/getsentry/sentry/pull/117039)

#### Codecov

- Remove OrganizationMapping codecov_access replication by @giovanni-guidini in [#116754](https://github.com/getsentry/sentry/pull/116754)
- Remove Codecov client, helper, credentials and feature flag by @giovanni-guidini in [#116681](https://github.com/getsentry/sentry/pull/116681)

#### Dashboards

- Lower async queue parallel limit default to 10 by @DominikB2014 in [#117075](https://github.com/getsentry/sentry/pull/117075)
- Remove dashboards-revisions feature flag (backend) by @skaasten in [#116969](https://github.com/getsentry/sentry/pull/116969)
- Remove dashboards-revisions feature flag (frontend) by @skaasten in [#116971](https://github.com/getsentry/sentry/pull/116971)

#### Deps

- Bump @rsdoctor/rspack-plugin to 1.5.13 (clears shell-quote CVE-2026-9277) by @oioki in [#117620](https://github.com/getsentry/sentry/pull/117620)
- Bump sentry-conventions to 0.11.0 by @constantinius in [#117286](https://github.com/getsentry/sentry/pull/117286)
- Bump echarts from 6.0.0 to 6.1.0 by @gggritso in [#117139](https://github.com/getsentry/sentry/pull/117139)
- Bump @emotion/is-prop-valid from 1.3.1 to 1.4.0 in the emotion-dependencies group across 1 directory by @dependabot in [#109269](https://github.com/getsentry/sentry/pull/109269)
- Bump @sentry/conventions from 0.4.0 to 0.8.0 by @dependabot in [#114825](https://github.com/getsentry/sentry/pull/114825)

#### Dynamic Sampling

- Correct the project_id column to specify ds by @shellmayr in [#117418](https://github.com/getsentry/sentry/pull/117418)
- Add logging of project volumes for dynamic sampling per-org debugging by @shellmayr in [#117179](https://github.com/getsentry/sentry/pull/117179)
- Additional debug data logging for per-org project sample rates by @shellmayr in [#117066](https://github.com/getsentry/sentry/pull/117066)
- Clarify naming in per-org transaction balancing code by @shellmayr in [#116755](https://github.com/getsentry/sentry/pull/116755)

#### Events

- Remove unusable spansIndexed dataset by @wmak in [#117530](https://github.com/getsentry/sentry/pull/117530)
- Add TagDeriver protocol for auto-tag extraction by @Christinarlong in [#116824](https://github.com/getsentry/sentry/pull/116824)

#### Flags

- Graduate organizations:uptime-backlog-retry by @wedamija in [#117225](https://github.com/getsentry/sentry/pull/117225)
- Graduate organizations:processing-errors-eap by @wedamija in [#117224](https://github.com/getsentry/sentry/pull/117224)
- Remove organizations:relay-default-trace-id by @thetruecpaul in [#116867](https://github.com/getsentry/sentry/pull/116867)
- Graduate organizations:github-repo-auto-sync-webhook by @wedamija in [#116728](https://github.com/getsentry/sentry/pull/116728)
- Graduate organizations:code-review-experiments-enabled by @wedamija in [#116657](https://github.com/getsentry/sentry/pull/116657)

#### Integrations

- Use stock Button for uninstall action by @natemoo-re in [#117439](https://github.com/getsentry/sentry/pull/117439)
- Remove the legacy web-view setup pipeline from integrations by @evanpurkhiser in [#117362](https://github.com/getsentry/sentry/pull/117362)
- Remove unused legacy extension configuration view by @evanpurkhiser in [#117338](https://github.com/getsentry/sentry/pull/117338)
- Remove the unused setupDialog from the integration type by @evanpurkhiser in [#117370](https://github.com/getsentry/sentry/pull/117370)
- Always use the pipeline modal on the integration link page by @evanpurkhiser in [#117363](https://github.com/getsentry/sentry/pull/117363)
- Remove the legacy popup install flow by @evanpurkhiser in [#117364](https://github.com/getsentry/sentry/pull/117364)
- Remove GA coding agent feature flags by @JoshFerge in [#116850](https://github.com/getsentry/sentry/pull/116850)
- Remove Intercom support flag by @ceorourke in [#116738](https://github.com/getsentry/sentry/pull/116738)

#### Issues

- Make project_ids required on qualified short id lookups by @oioki in [#117508](https://github.com/getsentry/sentry/pull/117508)
- Scope issue endpoint short id lookups to authorized projects by @oioki in [#117299](https://github.com/getsentry/sentry/pull/117299)
- Bulk hide environments via new API endpoint by @amy-chen23 in [#117105](https://github.com/getsentry/sentry/pull/117105)
- Add malicious detection hook contract by @gricha in [#117096](https://github.com/getsentry/sentry/pull/117096)
- Use TaskProducer as the occurrence producer in tasks (round 2) by @bmckerry in [#117081](https://github.com/getsentry/sentry/pull/117081)
- Use group naming for action log events and stringify IDs by @yuvmen in [#116988](https://github.com/getsentry/sentry/pull/116988)

#### Jest

- Add Sentry SDK instrumentation to snapshot tests by @ryan953 in [#117459](https://github.com/getsentry/sentry/pull/117459)
- Mark flaky jest tests - 2026-06-08 by @cursor in [#117063](https://github.com/getsentry/sentry/pull/117063)
- Mark flaky jest tests - 2026-06-01 by @ryan953 in [#116575](https://github.com/getsentry/sentry/pull/116575)

#### Markdown

- Add more to copy to markdown for performance issues by @shayna-ch in [#117130](https://github.com/getsentry/sentry/pull/117130)
- Add span evidence section to performance issues by @shayna-ch in [#116884](https://github.com/getsentry/sentry/pull/116884)

#### Mypy

- Remove ActorSerializer + GroupEventReleaseSerializer from autoderive denylist by @azulus in [#116981](https://github.com/getsentry/sentry/pull/116981)
- Remove 5 serializers from autoderive denylist by @azulus in [#116944](https://github.com/getsentry/sentry/pull/116944)
- Remove IntegrationSerializer + DashboardListSerializer from autoderive denylist by @azulus in [#116927](https://github.com/getsentry/sentry/pull/116927)

#### O11y

- Add `scope.set_attribute` calls in tasks by @sentrivana in [#117517](https://github.com/getsentry/sentry/pull/117517)
- Add `scope.set_attribute` calls in organization misc endpoints by @sentrivana in [#117516](https://github.com/getsentry/sentry/pull/117516)
- Add set_attribute calls in data export tasks by @sentrivana in [#117505](https://github.com/getsentry/sentry/pull/117505)
- Add `scope.set_attribute` calls in organization events endpoints by @sentrivana in [#117515](https://github.com/getsentry/sentry/pull/117515)
- Add `scope.set_attribute` calls in API bases and query utils by @sentrivana in [#117514](https://github.com/getsentry/sentry/pull/117514)
- Add set_attribute calls in middleware integration classifications by @sentrivana in [#117510](https://github.com/getsentry/sentry/pull/117510)
- Add set_attribute calls in deliver webhooks by @sentrivana in [#117507](https://github.com/getsentry/sentry/pull/117507)
- Add set_attribute calls in hybridcloud RPC service by @sentrivana in [#117506](https://github.com/getsentry/sentry/pull/117506)
- Add scope.set_attribute calls in organization traces by @sentrivana in [#117413](https://github.com/getsentry/sentry/pull/117413)
- Add set_attribute calls in reprocessing2 by @sentrivana in [#117511](https://github.com/getsentry/sentry/pull/117511)
- Add `set_attribute` calls and switch to top level API in SCIM members by @sentrivana in [#117504](https://github.com/getsentry/sentry/pull/117504)
- Add `set_attribute` calls in integrations base by @sentrivana in [#117409](https://github.com/getsentry/sentry/pull/117409)
- Add `scope.set_attribute` in authentication by @sentrivana in [#117405](https://github.com/getsentry/sentry/pull/117405)
- Add scope.set_attribute calls in organization releases by @sentrivana in [#117407](https://github.com/getsentry/sentry/pull/117407)
- Add scope.set_attribute calls in Jira issue details by @sentrivana in [#117408](https://github.com/getsentry/sentry/pull/117408)
- Add scope.set_attribute call in onboarding tasks by @sentrivana in [#117411](https://github.com/getsentry/sentry/pull/117411)
- Add `scope.set_attribute` call in api base by @sentrivana in [#117406](https://github.com/getsentry/sentry/pull/117406)

#### Onboarding

- Drive the project-details form from host state by @jaydgoss in [#117333](https://github.com/getsentry/sentry/pull/117333)
- Extract project-details form into a reusable hook and core by @jaydgoss in [#117209](https://github.com/getsentry/sentry/pull/117209)
- Initialize TanStack Start React SDK from a dedicated client init file by @nicohrubec in [#117173](https://github.com/getsentry/sentry/pull/117173)
- Extract ScmPlatformFeaturesCore from ScmPlatformFeatures by @jaydgoss in [#116624](https://github.com/getsentry/sentry/pull/116624)
- Replace `sendDefaultPii` with `dataCollection` in JS snippets by @s1gr1d in [#117064](https://github.com/getsentry/sentry/pull/117064)
- Extract ScmIntegrationConnect from ScmConnect by @jaydgoss in [#116581](https://github.com/getsentry/sentry/pull/116581)

#### Options

- Allow options to be fetched without an organization or project instance by @cmanallen in [#116680](https://github.com/getsentry/sentry/pull/116680)
- Cleaning up more unused options by @kenzoengineer in [#116741](https://github.com/getsentry/sentry/pull/116741)

#### Ourlogs

- Rename PinnedLogs query prop to pinnedLogsQuery by @JoshuaKGoldberg in [#116966](https://github.com/getsentry/sentry/pull/116966)
- Removed `observed_timestamp` from `AlwaysPresentLogFields` by @JoshuaKGoldberg in [#115505](https://github.com/getsentry/sentry/pull/115505)

#### Pr Metrics

- Type signal_details for delegated-agent attributions; add run_id by @giovanni-guidini in [#117519](https://github.com/getsentry/sentry/pull/117519)
- Remove PullRequestAttribution REFERENCED_ISSUE from pull_request path by @giovanni-guidini in [#117284](https://github.com/getsentry/sentry/pull/117284)
- Derive close_action from the PR row in emit by @vaind in [#117242](https://github.com/getsentry/sentry/pull/117242)
- Add index for GroupLink by @Zylphrex in [#117204](https://github.com/getsentry/sentry/pull/117204)
- Collapse SEER_APP into SENTRY_APP attribution signal by @giovanni-guidini in [#116958](https://github.com/getsentry/sentry/pull/116958)

#### Preprod

- Log exception type on chunk failure by @NicoHinderling in [#117552](https://github.com/getsentry/sentry/pull/117552)
- Remove unused snapshot download endpoint by @NicoHinderling in [#117324](https://github.com/getsentry/sentry/pull/117324)
- Hide overlay color picker at xs in toolbar snapshot by @mtopo27 in [#117104](https://github.com/getsentry/sentry/pull/117104)
- Use file_path as React key for duplicate file rows by @jamieQ in [#117074](https://github.com/getsentry/sentry/pull/117074)
- Download snapshot images via direct browser request by @NicoHinderling in [#116795](https://github.com/getsentry/sentry/pull/116795)

#### Relay

- Add option to disable internal ip auth bypass by @Dav1dde in [#116980](https://github.com/getsentry/sentry/pull/116980)
- Remove unused feature flag 'relay-new-error-processing' by @Dav1dde in [#116620](https://github.com/getsentry/sentry/pull/116620)

#### Releases

- Tighten 4 release-file-details endpoint returns to Response[T] by @azulus in [#117208](https://github.com/getsentry/sentry/pull/117208)
- Remove defer commit resolution flag by @JoshFerge in [#116848](https://github.com/getsentry/sentry/pull/116848)

#### Replays

- Speed up spans replay count query by @mjq in [#117456](https://github.com/getsentry/sentry/pull/117456)
- Remove control-silo URL pattern for removed data export endpoint by @DominikB2014 in [#116298](https://github.com/getsentry/sentry/pull/116298)
- Cut two type-only edges into the import cycle by @JoshuaKGoldberg in [#117031](https://github.com/getsentry/sentry/pull/117031)
- Read live location in nuqs test adapter by @NicoHinderling in [#116803](https://github.com/getsentry/sentry/pull/116803)

#### Search

- Resolve issue: short ids org-wide with explicit project_ids=None by @oioki in [#117398](https://github.com/getsentry/sentry/pull/117398)
- Deduplicate SeerComboBox components with shared hooks by @isaacwang-sentry in [#116205](https://github.com/getsentry/sentry/pull/116205)

#### Seer

- Move Seer components into components/seer/ by @ryan953 in [#117613](https://github.com/getsentry/sentry/pull/117613)
- Scope Seer short id lookups; mark org-wide callers explicit by @oioki in [#117399](https://github.com/getsentry/sentry/pull/117399)
- Drop night shift in-process triage path by @trevor-e in [#117032](https://github.com/getsentry/sentry/pull/117032)
- Refactor Autofix settings to use the new endpoints, and cleaner table abstractions by @ryan953 in [#117000](https://github.com/getsentry/sentry/pull/117000)
- Wrap settings pages with a Stack and hoist seer specific settings wrappers by @ryan953 in [#117099](https://github.com/getsentry/sentry/pull/117099)
- Return SeerRun from start_run to drop a re-query by @trevor-e in [#117025](https://github.com/getsentry/sentry/pull/117025)
- Tighten SeerModelsEndpoint.get() to Response[SeerModelsResponse] by @azulus in [#116997](https://github.com/getsentry/sentry/pull/116997)
- Add diagnostic logs to GitLab MR emoji reaction path by @billyvg in [#116982](https://github.com/getsentry/sentry/pull/116982)
- Default SeerRun double-write and drop flag gates by @trevor-e in [#116955](https://github.com/getsentry/sentry/pull/116955)
- Remove coding agent frontend flag checks by @JoshFerge in [#116849](https://github.com/getsentry/sentry/pull/116849)
- Send explorer experiment flags as nested agent_run_options by @chromy in [#116761](https://github.com/getsentry/sentry/pull/116761)

#### Span Buffer

- Add pipelined queue deadline lookups by @cmanallen in [#117436](https://github.com/getsentry/sentry/pull/117436)
- Use bulk project lookup and cache results locally by @cmanallen in [#117442](https://github.com/getsentry/sentry/pull/117442)
- Improve performance of span buffer processor with typed msgspec deserializer by @cmanallen in [#117673](https://github.com/getsentry/sentry/pull/117673)
- Exit early if the add_buffer script was previously loaded by @cmanallen in [#117427](https://github.com/getsentry/sentry/pull/117427)

#### Support

- Remove remaining Zendesk references by @ceorourke in [#116870](https://github.com/getsentry/sentry/pull/116870)
- Remove Intercom support flag from front end by @ceorourke in [#116822](https://github.com/getsentry/sentry/pull/116822)

#### Types

- Move SelectValue out of types/core into scraps/select by @JoshuaKGoldberg in [#116880](https://github.com/getsentry/sentry/pull/116880)
- Move PlatformKey to a leaf module by @JoshuaKGoldberg in [#116809](https://github.com/getsentry/sentry/pull/116809)
- Relocate context and shared types into leaf modules by @JoshuaKGoldberg in [#116774](https://github.com/getsentry/sentry/pull/116774)

#### Typing

- Remove `sentry.search.events.datasets.filter_aliases` from mypy ignore list by @shashjar in [#116937](https://github.com/getsentry/sentry/pull/116937)
- Remove `sentry.search.events.builder.metrics` from mypy ignore list by @shashjar in [#116733](https://github.com/getsentry/sentry/pull/116733)
- Remove `sentry.search.events.builder.errors` from mypy ignore list by @shashjar in [#116621](https://github.com/getsentry/sentry/pull/116621)

#### Ui

- Enable tsgo in rspack-typescript-checker by @scttcper in [#117315](https://github.com/getsentry/sentry/pull/117315)
- Type isEmptyObject inputs, block Map type by @scttcper in [#117211](https://github.com/getsentry/sentry/pull/117211)

#### Vsts

- Remove legacy web setup views in favor of API pipeline steps by @evanpurkhiser in [#117336](https://github.com/getsentry/sentry/pull/117336)
- Remove the vsts-extension provider and redirect the configure URL by @evanpurkhiser in [#117101](https://github.com/getsentry/sentry/pull/117101)

#### Webhooks

- Restructure project sidebar and add dedicated legacy-webhooks route by @Christinarlong in [#117143](https://github.com/getsentry/sentry/pull/117143)
- Show webhooks on integrations directory page by @Christinarlong in [#117045](https://github.com/getsentry/sentry/pull/117045)
- Route /integrations/webhooks/ to WebhookDetailedView by @Christinarlong in [#117033](https://github.com/getsentry/sentry/pull/117033)
- Add standalone org-level webhook detail page by @Christinarlong in [#116830](https://github.com/getsentry/sentry/pull/116830)
- Replace plugin page with standalone webhook settings by @Christinarlong in [#116735](https://github.com/getsentry/sentry/pull/116735)

#### Weekly Report

- Batch key errors Snuba query by @amy-chen23 in [#117329](https://github.com/getsentry/sentry/pull/117329)
- Add cache hit metric by @amy-chen23 in [#117346](https://github.com/getsentry/sentry/pull/117346)

#### Workflows

- Cache assignee lookup in-memory by @cmanallen in [#115863](https://github.com/getsentry/sentry/pull/115863)
- Add batch DataConditionGroup lookup by @cmanallen in [#115864](https://github.com/getsentry/sentry/pull/115864)

#### Other

- (_admin) Remove unused customer details components by @ceorourke in [#116877](https://github.com/getsentry/sentry/pull/116877)
- (action log) Verify publish transactionality by @kcons in [#117567](https://github.com/getsentry/sentry/pull/117567)
- (apidocs) Add x-learn-more pagination link to cursor query param by @JoshFerge in [#116936](https://github.com/getsentry/sentry/pull/116936)
- (apigw) Pass host headers to control proxied requests by @gi0baro in [#117202](https://github.com/getsentry/sentry/pull/117202)
- (attribute-values) Remove unused endpoint by @wmak in [#117230](https://github.com/getsentry/sentry/pull/117230)
- (auth) Make signed-URL email verification the only path by @nora-shap in [#116748](https://github.com/getsentry/sentry/pull/116748)
- (automations) Hide plugin action type from action picker by @Christinarlong in [#117479](https://github.com/getsentry/sentry/pull/117479)
- (avatars) Refactor `AvatarChooserProps` to a discriminated union on `type` by @shashjar in [#117348](https://github.com/getsentry/sentry/pull/117348)
- (cmdk) Add all dashboards to global Cmd+K action with search by @JonasBa in [#116863](https://github.com/getsentry/sentry/pull/116863)
- (code-review) Add flagged logging in gitlab note flow by @suejungshin in [#116983](https://github.com/getsentry/sentry/pull/116983)
- (constants) Split consts to leaves to break import cycles by @JoshuaKGoldberg in [#116792](https://github.com/getsentry/sentry/pull/116792)
- (data-forwarding) Add a metric for non-scheduled for direct comparison by @leeandher in [#116725](https://github.com/getsentry/sentry/pull/116725)
- (detectors) Remove unnessary parameters and interfaces by @cmanallen in [#116709](https://github.com/getsentry/sentry/pull/116709)
- (explore) Clean up experimental validation by @nsdeschenes in [#117332](https://github.com/getsentry/sentry/pull/117332)
- (flake8) Add S019 rule banning reserved LogRecord keys in logging extra= by @NicoHinderling in [#117562](https://github.com/getsentry/sentry/pull/117562)
- (gitlab) Add select logging for gl webhooks by @suejungshin in [#116832](https://github.com/getsentry/sentry/pull/116832)
- (grouping) Add test cases for duration regex word boundary behavior by @shashjar in [#116907](https://github.com/getsentry/sentry/pull/116907)
- (gsAdmin) Add responsive CSS for narrow screens by @sentry-junior in [#117056](https://github.com/getsentry/sentry/pull/117056)
- (hybrid-cloud) Explicitly handle errors rather than 500ing by @cmanallen in [#117335](https://github.com/getsentry/sentry/pull/117335)
- (icons) Import theme types from the theme types leaf by @JoshuaKGoldberg in [#116777](https://github.com/getsentry/sentry/pull/116777)
- (ingest) Add taskbroker raw task for ingest-events by @lvthanh03 in [#117133](https://github.com/getsentry/sentry/pull/117133)
- (issueDetails) Move DetectorDetails type to a leaf module by @JoshuaKGoldberg in [#116787](https://github.com/getsentry/sentry/pull/116787)
- (jest-balance) Parallelize balancer across 8 shards by @ryan953 in [#117059](https://github.com/getsentry/sentry/pull/117059)
- (jira-server) Remove legacy pipeline setup views by @evanpurkhiser in [#117311](https://github.com/getsentry/sentry/pull/117311)
- (kafka) Remove --cluster kwawg from consumer CLI by @enochtangg in [#117434](https://github.com/getsentry/sentry/pull/117434)
- (logging) Configure grpc logger so its errors aren't dropped by @untitaker in [#116806](https://github.com/getsentry/sentry/pull/116806)
- (merge) Refactor for GAL by @thetruecpaul in [#116710](https://github.com/getsentry/sentry/pull/116710)
- (migrations) Delete migration tests older than a week by @JoshFerge in [#116940](https://github.com/getsentry/sentry/pull/116940)
- (monitors) Batch issue stream detector fetches on Monitors list by @shashjar in [#116794](https://github.com/getsentry/sentry/pull/116794)
- (overlay) Import NODE_ENV/defined from leaves to break import cycle by @JoshuaKGoldberg in [#116805](https://github.com/getsentry/sentry/pull/116805)
- (plugins) Break language plugin preprocessors out of plugin infrastructure by @Christinarlong in [#117441](https://github.com/getsentry/sentry/pull/117441)
- (profiles) Begin TaskProducer rollout by @bmckerry in [#117549](https://github.com/getsentry/sentry/pull/117549)
- (profiling) Extract clamp into a leaf module by @JoshuaKGoldberg in [#116855](https://github.com/getsentry/sentry/pull/116855)
- (scm) Pass timeouts through the internal hybrid-cloud proxying by @cmanallen in [#117098](https://github.com/getsentry/sentry/pull/117098)
- (scm-multi-platform-detetion) Adding metrics for single platform detector. by @Abdkhan14 in [#117060](https://github.com/getsentry/sentry/pull/117060)
- (scraps) Rename CompactSelect `grid` prop to `mode` by @natemoo-re in [#117454](https://github.com/getsentry/sentry/pull/117454)
- (sdk) Bump JS SDK to 10.57.0 and migrate to dataCollection by @cleptric in [#117169](https://github.com/getsentry/sentry/pull/117169)
- (seer-activity) Update the data condition endpoint, revert-revert by @leeandher in [#116721](https://github.com/getsentry/sentry/pull/116721)
- (seer-infra-telemetry) Create a feature flag to gate third-party infra telemetry providers by @shashjar in [#117458](https://github.com/getsentry/sentry/pull/117458)
- (sentry apps, webhooks) Remove unused flags by @ceorourke in [#116713](https://github.com/getsentry/sentry/pull/116713)
- (sentry-apps) Tighten sentry_app_details + installation_details to Response[T] by @azulus in [#117095](https://github.com/getsentry/sentry/pull/117095)
- (settings) Migrate project issue grouping form to scraps form by @priscilawebdev in [#116465](https://github.com/getsentry/sentry/pull/116465)
- (snapshots) Add diff mode snapshots for toolbar by @mtopo27 in [#117114](https://github.com/getsentry/sentry/pull/117114)
- (source-maps) Point source map debug at the canonical endpoint by @cvxluo in [#116691](https://github.com/getsentry/sentry/pull/116691)
- (span consumer) Use new reference to transaction name by @lobsterkatie in [#116646](https://github.com/getsentry/sentry/pull/116646)
- (span-flusher) Remove script-exists option check by @cmanallen in [#117679](https://github.com/getsentry/sentry/pull/117679)
- (stats) Remove barMinHeight from usage chart bars by @priscilawebdev in [#116762](https://github.com/getsentry/sentry/pull/116762)
- (stories) Extract <PickProject> for re-use in stories by @ryan953 in [#117614](https://github.com/getsentry/sentry/pull/117614)
- (taskbroker) Migrate ingest-profiles devenv to new config format by @untitaker in [#116758](https://github.com/getsentry/sentry/pull/116758)
- (teams) Remove deprecated callback-based joinTeam function by @sentry in [#117625](https://github.com/getsentry/sentry/pull/117625)
- (tracemetrics) Use useEffectEvent for restoring equation mode state by @narsaynorath in [#117685](https://github.com/getsentry/sentry/pull/117685)
- (txn-summary) Remove old (pre-EAP) transaction summary by @mjq in [#116720](https://github.com/getsentry/sentry/pull/116720)
- (utils) Move issue-tag query helpers out of the utils barrel by @JoshuaKGoldberg in [#116807](https://github.com/getsentry/sentry/pull/116807)
- (vercel) Replace legacy configure view with the pipeline redirect by @evanpurkhiser in [#116857](https://github.com/getsentry/sentry/pull/116857)
- (workflow_engine) Tighten access checks on open periods endpoint by @JoshFerge in [#116062](https://github.com/getsentry/sentry/pull/116062)
- Fix up pnpm-lock.yaml from bad merge; enable oxfmt's `--no-error-on-unmatched-pattern` by @JoshuaKGoldberg in [#117691](https://github.com/getsentry/sentry/pull/117691)
- Remove legacy upgrade request page by @noahsmartin in [#117597](https://github.com/getsentry/sentry/pull/117597)
- Replace am2/3 checks with capability checks by @noahsmartin in [#117565](https://github.com/getsentry/sentry/pull/117565)
- Bump sentry-protos 0.28.0 by @armcknight in [#117579](https://github.com/getsentry/sentry/pull/117579)
- Replace isEnterprise frontend check with backend field by @noahsmartin in [#117563](https://github.com/getsentry/sentry/pull/117563)
- Remove support for admin provisioning of non-am plans by @noahsmartin in [#117546](https://github.com/getsentry/sentry/pull/117546)
- Register an empty service worker by @ryan953 in [#117470](https://github.com/getsentry/sentry/pull/117470)
- Add new feature-flag definition organizations:api-fetch-v2 by @ryan953 in [#117471](https://github.com/getsentry/sentry/pull/117471)
- Remove frontend for grace period by @noahsmartin in [#117492](https://github.com/getsentry/sentry/pull/117492)
- Delete system.logging-format by @joshuarli in [#117465](https://github.com/getsentry/sentry/pull/117465)
- Bump taskbroker-client to 0.18.6 by @getsentry-bot in [#117447](https://github.com/getsentry/sentry/pull/117447)
- Link colocated stories when a component file changes by @evanpurkhiser in [#117438](https://github.com/getsentry/sentry/pull/117438)
- Bump sentry-protos 0.27.1 by @brendanhsentry in [#117425](https://github.com/getsentry/sentry/pull/117425)
- Post story preview links on PRs that change stories by @evanpurkhiser in [#117309](https://github.com/getsentry/sentry/pull/117309)
- Lint PUBLIC endpoints for typed return annotations by @azulus in [#117356](https://github.com/getsentry/sentry/pull/117356)
- Bump taskbroker-client to 0.18.5 by @getsentry-bot in [#117357](https://github.com/getsentry/sentry/pull/117357)
- Type final 4 PUBLIC endpoints, closing the Goal #1 gap by @azulus in [#117280](https://github.com/getsentry/sentry/pull/117280)
- Type 3 preprod snapshot PUBLIC endpoints via cast() on pydantic .dict() by @azulus in [#117278](https://github.com/getsentry/sentry/pull/117278)
- Type 8 Goal #1 PUBLIC endpoints (trace, profiling, replay, releases) by @azulus in [#117276](https://github.com/getsentry/sentry/pull/117276)
- Remove barely used tabs prop from SettingsPageHeader by @ryan953 in [#117266](https://github.com/getsentry/sentry/pull/117266)
- Type 9 more PUBLIC endpoints incl. multi-shape & drift cases by @azulus in [#117268](https://github.com/getsentry/sentry/pull/117268)
- Update imports of ApiQueryKey to read from apiQueryKey.ts instead of queryClient by @ryan953 in [#117254](https://github.com/getsentry/sentry/pull/117254)
- Type 12 PUBLIC endpoints via local error TypedDicts and serializer typing by @azulus in [#117252](https://github.com/getsentry/sentry/pull/117252)
- Update imports of QueryKeyEndpointOptions by @ryan953 in [#117253](https://github.com/getsentry/sentry/pull/117253)
- Type 14 PUBLIC core/workflow/repo endpoints by @azulus in [#117248](https://github.com/getsentry/sentry/pull/117248)
- Upgrade to devservices 1.4.1 by @joshuarli in [#117244](https://github.com/getsentry/sentry/pull/117244)
- Type 16 PUBLIC endpoints via typed-variable + existing TypedDicts by @azulus in [#117237](https://github.com/getsentry/sentry/pull/117237)
- Type PUBLIC monitor get/put endpoints via mixin by @azulus in [#117235](https://github.com/getsentry/sentry/pull/117235)
- Extend length of repository.name by @markstory in [#117205](https://github.com/getsentry/sentry/pull/117205)
- Type PUBLIC delete endpoints via helper return types by @azulus in [#117223](https://github.com/getsentry/sentry/pull/117223)
- Type PUBLIC delete endpoints as Response[None] by @azulus in [#117222](https://github.com/getsentry/sentry/pull/117222)
- Move system.logging-format to django settings as SENTRY_LOGGING_FORMAT by @joshuarli in [#117102](https://github.com/getsentry/sentry/pull/117102)
- Bump taskbroker-client to 0.18.4 by @lvthanh03 in [#117182](https://github.com/getsentry/sentry/pull/117182)
- Add JS SDK teams as codeowners for initializeSdk by @cleptric in [#117172](https://github.com/getsentry/sentry/pull/117172)
- Update protos 0.25.1 by @noahsmartin in [#117087](https://github.com/getsentry/sentry/pull/117087)
- Bump taskbroker-client to 0.18.3 by @bmckerry in [#117011](https://github.com/getsentry/sentry/pull/117011)
- Create ListItemSelectedState to declaratively render by @ryan953 in [#116995](https://github.com/getsentry/sentry/pull/116995)
- Remove context engine flag by @shruthilayaj in [#116894](https://github.com/getsentry/sentry/pull/116894)
- Add provider for issue.resolved event by @Zylphrex in [#116865](https://github.com/getsentry/sentry/pull/116865)
- Update the span-tags we record when jest suite runs by @ryan953 in [#116775](https://github.com/getsentry/sentry/pull/116775)
- Move the DSN for the jest project to github secrets by @ryan953 in [#116776](https://github.com/getsentry/sentry/pull/116776)
- Cleanup AGENTS.md a bit by @JoshFerge in [#116864](https://github.com/getsentry/sentry/pull/116864)
- Rename issue.view.attribution to issue.viewed by @Zylphrex in [#116845](https://github.com/getsentry/sentry/pull/116845)
- Bump taskbroker-client to 0.18.1 by @getsentry-bot in [#116789](https://github.com/getsentry/sentry/pull/116789)
- Remove launched metric kit feature flag by @noahsmartin in [#116773](https://github.com/getsentry/sentry/pull/116773)
- Run all tests when no tests are changed, or detected related to changed files by @ryan953 in [#116770](https://github.com/getsentry/sentry/pull/116770)
- Bump symbolic to 13.1.1 by @supervacuus in [#116756](https://github.com/getsentry/sentry/pull/116756)
- Collect jest test file names in frontend.yml, and adjust matrix size based on the list len() by @ryan953 in [#116749](https://github.com/getsentry/sentry/pull/116749)
- Remove sentry_email model from schema by @markstory in [#116631](https://github.com/getsentry/sentry/pull/116631)
- Bump new development version by @sentry-release-bot[bot] in [c3ab05c0](https://github.com/getsentry/sentry/commit/c3ab05c096e70f9d8ad7cab99fb79de656d59047)
- Rollout root-cause-stopping-point by @ryan953 in [#116623](https://github.com/getsentry/sentry/pull/116623)

### Other

- fix(typing) Fix typing for a few model modules by @markstory in [#117582](https://github.com/getsentry/sentry/pull/117582)
- chore(cells) Remove regions & memberRegions from initialdata by @markstory in [#117583](https://github.com/getsentry/sentry/pull/117583)
- Update addToStartupProgramAction.tsx by @rahulchhabria in [#117598](https://github.com/getsentry/sentry/pull/117598)
- Move organization integrations query options helper by @cursor in [#117612](https://github.com/getsentry/sentry/pull/117612)
- chore(cells) Remove more region references from UI code. by @markstory in [#117463](https://github.com/getsentry/sentry/pull/117463)
- Improve DetailList responsiveness and text overflow handling by @rahulchhabria in [#117533](https://github.com/getsentry/sentry/pull/117533)
- o11y(assisted-query): Track error outcomes in trackAiQueryOutcome by @aliu39 in [#117396](https://github.com/getsentry/sentry/pull/117396)
- ref(cells) Rename utils/region -> utils/cells by @markstory in [#117369](https://github.com/getsentry/sentry/pull/117369)
- chore(cells) Add option to disable RPC connection pooling by @markstory in [#117331](https://github.com/getsentry/sentry/pull/117331)
- dep: upgrade granian to 2.7.6 by @gi0baro in [#117410](https://github.com/getsentry/sentry/pull/117410)
- Fix issue type numbers in group.tsx by @thetruecpaul in [#117389](https://github.com/getsentry/sentry/pull/117389)
- Update sentry-protos version to 0.27.0 by @skonves in [#117386](https://github.com/getsentry/sentry/pull/117386)
- fix(cells) Reorder cells so that US is first in admin. by @markstory in [#117376](https://github.com/getsentry/sentry/pull/117376)
- fix(scm) Truncate data that will overflow in create_repository by @markstory in [#117310](https://github.com/getsentry/sentry/pull/117310)
- fix(aci) More tags for tracking metrics by @saponifi3d in [#117353](https://github.com/getsentry/sentry/pull/117353)
- chore(cells) Separate cell + locality usage in UI code. by @markstory in [#117126](https://github.com/getsentry/sentry/pull/117126)
- ref(seer-issue-activity) Refactor the Seer Issue Activity hook to be generic by @saponifi3d in [#116938](https://github.com/getsentry/sentry/pull/116938)
- fix(api) Convert snuba RPC rate limit errors to 429 by @markstory in [#117212](https://github.com/getsentry/sentry/pull/117212)
- analytics(scm-multi-platform-detetion): Adding event for skip detection clicks by @Abdkhan14 in [#117058](https://github.com/getsentry/sentry/pull/117058)
- deps(ui): Upgrade moment timezone by @scttcper in [#117150](https://github.com/getsentry/sentry/pull/117150)
- chore(cells) Add localities and cells to client_config by @markstory in [#116895](https://github.com/getsentry/sentry/pull/116895)
- Remove unused VSTS social auth feature flag by @michelletran-sentry in [#117082](https://github.com/getsentry/sentry/pull/117082)
- deps(ui): Upgrade @sentry/webpack-plugin v5.3.0 by @scttcper in [#117141](https://github.com/getsentry/sentry/pull/117141)
- chore(cells) Drop the OrganizationSlugReservationReplica model by @markstory in [#117084](https://github.com/getsentry/sentry/pull/117084)

_Plus 12 more_

26.5.2
------

### New Features ✨

#### Admin

- Filter invoice comparison to both-sides orgs + parity metric by @armcknight in [#116420](https://github.com/getsentry/sentry/pull/116420)
- Add Billing Platform admin page with invoice comparison by @armcknight in [#116269](https://github.com/getsentry/sentry/pull/116269)

#### Api

- Union response annotations with plugin narrowing + relaxed linter by @azulus in [#116659](https://github.com/getsentry/sentry/pull/116659)
- Add [T] to 33 Serializer subclasses by @azulus in [#116629](https://github.com/getsentry/sentry/pull/116629)
- Add Serializer[T] generic; pilot on environments by @azulus in [#116538](https://github.com/getsentry/sentry/pull/116538)
- Opt 43 endpoints into Response[T] typed bodies by @azulus in [#116433](https://github.com/getsentry/sentry/pull/116433)
- Type @extend_schema responses via Response[T] stub + linter by @azulus in [#116335](https://github.com/getsentry/sentry/pull/116335)

#### Api Docs

- Publish source map debug endpoint by @cvxluo in [#116649](https://github.com/getsentry/sentry/pull/116649)
- Publish organization profile chunks endpoint by @cvxluo in [#116632](https://github.com/getsentry/sentry/pull/116632)
- Publish organization trace endpoint by @cvxluo in [#116596](https://github.com/getsentry/sentry/pull/116596)
- Publish project profiling profile endpoint by @cvxluo in [#116597](https://github.com/getsentry/sentry/pull/116597)
- Publish organization profiling flamegraph endpoint by @cvxluo in [#116449](https://github.com/getsentry/sentry/pull/116449)
- Publish group hashes endpoint by @cvxluo in [#116029](https://github.com/getsentry/sentry/pull/116029)
- Publish event attachment details endpoint by @cvxluo in [#116580](https://github.com/getsentry/sentry/pull/116580)
- Publish organization trace meta endpoint by @cvxluo in [#116445](https://github.com/getsentry/sentry/pull/116445)
- Publish event attachments list endpoint by @cvxluo in [#116536](https://github.com/getsentry/sentry/pull/116536)
- Publish project releases list endpoint by @cvxluo in [#116220](https://github.com/getsentry/sentry/pull/116220)
- Publish organization trace item attributes endpoint by @cvxluo in [#116398](https://github.com/getsentry/sentry/pull/116398)
- Publish project debug files list endpoint by @cvxluo in [#116444](https://github.com/getsentry/sentry/pull/116444)
- Publish group details endpoint by @cvxluo in [#116119](https://github.com/getsentry/sentry/pull/116119)

#### Autofix

- Allow retry creating PR by @Zylphrex in [#116518](https://github.com/getsentry/sentry/pull/116518)
- Link linear ticket in autofix PR by @Zylphrex in [#116510](https://github.com/getsentry/sentry/pull/116510)
- Add Seer Agent debug button to Autofix header by @sentry-junior in [#116166](https://github.com/getsentry/sentry/pull/116166)

#### Bitbucket Server

- Route install through API pipeline modal by @evanpurkhiser in [#116314](https://github.com/getsentry/sentry/pull/116314)
- Add frontend pipeline steps for Bitbucket Server integration setup by @evanpurkhiser in [#116294](https://github.com/getsentry/sentry/pull/116294)
- Add API-driven pipeline backend for Bitbucket Server integration setup by @evanpurkhiser in [#116295](https://github.com/getsentry/sentry/pull/116295)

#### Cells

- Use control silo organization listing for setup wizard by @lynnagara in [#116423](https://github.com/getsentry/sentry/pull/116423)
- Implement owner=1 on control silo org listing by @lynnagara in [#116439](https://github.com/getsentry/sentry/pull/116439)
- Remove cross-org feature gating from quota notifications by @lynnagara in [#115937](https://github.com/getsentry/sentry/pull/115937)

#### Conversations

- Add conversation ID to freeform search suggestions by @obostjancic in [#116568](https://github.com/getsentry/sentry/pull/116568)
- Update default search hints for AI conversations by @obostjancic in [#116561](https://github.com/getsentry/sentry/pull/116561)
- Improve freeform search to target conversation fields by @obostjancic in [#116562](https://github.com/getsentry/sentry/pull/116562)
- Expand JSON with higher auto-collapse limit in messages panel by @obostjancic in [#116368](https://github.com/getsentry/sentry/pull/116368)

#### Dynamic Sampling

- Per-org transaction rebalancing by @constantinius in [#116475](https://github.com/getsentry/sentry/pull/116475)
- Add project rebalancing to per-org pipeline by @shellmayr in [#116393](https://github.com/getsentry/sentry/pull/116393)
- Add sliding window calculation to per-org by @shellmayr in [#116083](https://github.com/getsentry/sentry/pull/116083)
- Add per-org EAP transaction volume query by @constantinius in [#115161](https://github.com/getsentry/sentry/pull/115161)

#### Eslint

- Add css interpolation semi rule by @scttcper in [#116428](https://github.com/getsentry/sentry/pull/116428)
- Add no-raw-css-in-styled rule by @scttcper in [#115934](https://github.com/getsentry/sentry/pull/115934)
- Add prefer-info-text lint rule and migrate existing usages by @TkDodo in [#116211](https://github.com/getsentry/sentry/pull/116211)

#### Explore

- Promote schema hints removal from now-done logs to remaining pages by @JoshuaKGoldberg in [#116224](https://github.com/getsentry/sentry/pull/116224)
- Switch feature flag from ourlogs- to explore-schema-hints-removal by @JoshuaKGoldberg in [#116225](https://github.com/getsentry/sentry/pull/116225)
- Space out heat maps y-axis labels by @nikkikapadia in [#116341](https://github.com/getsentry/sentry/pull/116341)

#### Issues

- Add issue.agent search filter by @malwilley in [#116584](https://github.com/getsentry/sentry/pull/116584)
- Add pretty rendering for Android Runtime (ART) event context by @markushi in [#116270](https://github.com/getsentry/sentry/pull/116270)
- Extend event context formatters for mobile SDKs by @markushi in [#116273](https://github.com/getsentry/sentry/pull/116273)
- Restore issue details tour, remove guide by @scttcper in [#116355](https://github.com/getsentry/sentry/pull/116355)
- Refine low-value span configuration UI by @ArthurKnaus in [#116460](https://github.com/getsentry/sentry/pull/116460)
- Fully enable recording of Seer actions as issue activities (with option) by @shashjar in [#116424](https://github.com/getsentry/sentry/pull/116424)
- Use shared markdown component for activity notes by @scttcper in [#116300](https://github.com/getsentry/sentry/pull/116300)
- Consolidate user feedback activity styles by @scttcper in [#116318](https://github.com/getsentry/sentry/pull/116318)

#### Jira

- Wire Marketplace installs through the API pipeline modal by @evanpurkhiser in [#116525](https://github.com/getsentry/sentry/pull/116525)
- Support installing through the API pipeline modal by @evanpurkhiser in [#116500](https://github.com/getsentry/sentry/pull/116500)

#### Msteams

- Wire Teams Marketplace installs through the API pipeline modal by @evanpurkhiser in [#116488](https://github.com/getsentry/sentry/pull/116488)
- Support installing through the API pipeline modal by @evanpurkhiser in [#116490](https://github.com/getsentry/sentry/pull/116490)

#### Ourlogs

- Add `truncate` RPC parameter for logs events query by @JoshuaKGoldberg in [#116008](https://github.com/getsentry/sentry/pull/116008)
- Add tab click tracking for Logs and Traces explore tabs by @JoshuaKGoldberg in [#115748](https://github.com/getsentry/sentry/pull/115748)
- Use `truncate` parameter in page-level logs requests by @JoshuaKGoldberg in [#116009](https://github.com/getsentry/sentry/pull/116009)

#### Preprod

- Fix snapshot tag filtering and make tags interactive by @mtopo27 in [#116330](https://github.com/getsentry/sentry/pull/116330)
- Add structured tags to snapshot test metadata by @mtopo27 in [#116307](https://github.com/getsentry/sentry/pull/116307)

#### Repositories

- Backfill auto-link repos by name matching by @wedamija in [#116541](https://github.com/getsentry/sentry/pull/116541)
- Auto-link repos to projects by name matching by @wedamija in [#116533](https://github.com/getsentry/sentry/pull/116533)

#### Seer

- Gate structured context routes on rollout flag by @Mihir-Mavalankar in [#116605](https://github.com/getsentry/sentry/pull/116605)
- Add flag to roll out structured page context to all orgs by @Mihir-Mavalankar in [#116600](https://github.com/getsentry/sentry/pull/116600)
- Remove stale feature flag `organizations:seer-agent-pr-consolidation` by @cvxluo in [#116438](https://github.com/getsentry/sentry/pull/116438)
- Add structured LLM context for metrics and profiling explorer page by @Mihir-Mavalankar in [#116250](https://github.com/getsentry/sentry/pull/116250)

#### Workflow Engine

- Update delayed processing and add evaluation logs by @saponifi3d in [#115692](https://github.com/getsentry/sentry/pull/115692)
- Implement Seer Activity handler by @leeandher in [#116410](https://github.com/getsentry/sentry/pull/116410)

#### Other

- (activity) Add (project, type) index on sentry_activity by @malwilley in [#116524](https://github.com/getsentry/sentry/pull/116524)
- (apidocs) Support union Response[T] annotations in structural linter by @azulus in [#116496](https://github.com/getsentry/sentry/pull/116496)
- (cmdk) Add search keywords to reduce no-result queries by @JonasBa in [#116431](https://github.com/getsentry/sentry/pull/116431)
- (dashboards) Track dashboard generation validation attempts by @DominikB2014 in [#116502](https://github.com/getsentry/sentry/pull/116502)
- (discord) Wire App Directory installs through the API pipeline modal by @evanpurkhiser in [#116429](https://github.com/getsentry/sentry/pull/116429)
- (eap) Add superuser `debug` param to trace item attributes by @mjq in [#116579](https://github.com/getsentry/sentry/pull/116579)
- (flagpole) Register onboarding-scm-project-creation-experiment feature flag by @jaydgoss in [#116189](https://github.com/getsentry/sentry/pull/116189)
- (github-enterprise) Route install through API pipeline modal by @evanpurkhiser in [#116316](https://github.com/getsentry/sentry/pull/116316)
- (ingest) Allow custom global inbound filter by @oioki in [#116685](https://github.com/getsentry/sentry/pull/116685)
- (issue-details) Enable Autofix for low-value spans by @ArthurKnaus in [#116468](https://github.com/getsentry/sentry/pull/116468)
- (loader) Add pride loader by @natemoo-re in [#116348](https://github.com/getsentry/sentry/pull/116348)
- (markdown) Add tag extension by @natemoo-re in [#116504](https://github.com/getsentry/sentry/pull/116504)
- (night-shift) Be more conservative about which issues get autofixed by @chromy in [#116476](https://github.com/getsentry/sentry/pull/116476)
- (onboarding) Add ScmAnalyticsFlow for project-creation reuse by @jaydgoss in [#116434](https://github.com/getsentry/sentry/pull/116434)
- (replays) Add superuser replay debugger dropdown option by @billyvg in [#116391](https://github.com/getsentry/sentry/pull/116391)
- (scm) Add github_enterprise support to SCM Platform RPC dispatch by @tnt-sentry in [#116193](https://github.com/getsentry/sentry/pull/116193)
- (scraps) RevealOnHover compound component by @natemoo-re in [#115953](https://github.com/getsentry/sentry/pull/115953)
- (seer explorer) Add unread message count to the tab icon by @sehr-m in [#114071](https://github.com/getsentry/sentry/pull/114071)
- (seer-activity) Set up the new Seer Activity data condition by @leeandher in [#116506](https://github.com/getsentry/sentry/pull/116506)
- (settings) Support legacy usage-based Seer in project settings endpoint by @srest2021 in [#115962](https://github.com/getsentry/sentry/pull/115962)
- (skills) Add analytics instrumentation skill by @natemoo-re in [#116437](https://github.com/getsentry/sentry/pull/116437)
- (snapshots) Add viewport width support to snapshot testing framework by @mtopo27 in [#115887](https://github.com/getsentry/sentry/pull/115887)
- (trace) Add `debug` param to trace item details endpoint by @mjq in [#116151](https://github.com/getsentry/sentry/pull/116151)
- (trace-waterfall) Add "EAP JSON" debug button for superusers by @mjq in [#116131](https://github.com/getsentry/sentry/pull/116131)
- (utils) Add shuffle option to CursoredScheduler by @roggenkemper in [#116297](https://github.com/getsentry/sentry/pull/116297)
- (waterfall) Add visual indication for SDK-sent v2 spans by @Lms24 in [#116386](https://github.com/getsentry/sentry/pull/116386)
- (webhooks) Add REST API endpoint for webhook URL management by @Christinarlong in [#115861](https://github.com/getsentry/sentry/pull/115861)
- Add KAFKA_TOPIC_CONSUMER_CONFIG for per-topic consumer config by @enochtangg in [#116611](https://github.com/getsentry/sentry/pull/116611)
- Reorder get topic to resolve override before lookup by @enochtangg in [#116337](https://github.com/getsentry/sentry/pull/116337)
- Remove code coverage feature by @calvin-codecov in [#116240](https://github.com/getsentry/sentry/pull/116240)
- Install sentry-options by @joshuarli in [#115835](https://github.com/getsentry/sentry/pull/115835)

### Bug Fixes 🐛

#### Aci

- Remove openIssues from Detector serializer response by @ceorourke in [#116414](https://github.com/getsentry/sentry/pull/116414)
- Scope rule workflow lookups by organization by @kcons in [#116353](https://github.com/getsentry/sentry/pull/116353)

#### Api Logs

- Log snuba throttle_threshold on rate-limited requests by @cvxluo in [#116338](https://github.com/getsentry/sentry/pull/116338)
- Preserve snuba policy info on throttles by @cvxluo in [#116263](https://github.com/getsentry/sentry/pull/116263)

#### Eap

- Handle None exception data in event forwarding by @roggenkemper in [#116544](https://github.com/getsentry/sentry/pull/116544)
- Recognize `normalize` deprecations in attribute mapping by @mjq in [#116509](https://github.com/getsentry/sentry/pull/116509)

#### Feedback

- Remove extra padding from LayoutGrid component by @sentry-junior in [#116377](https://github.com/getsentry/sentry/pull/116377)
- Make UserReport name and email nullable by @TkDodo in [#116362](https://github.com/getsentry/sentry/pull/116362)

#### Integrations

- Hide the integration Settings tab when it is empty by @evanpurkhiser in [#116688](https://github.com/getsentry/sentry/pull/116688)
- Return the proper error response shape from the integration details POST endpoint by @malwilley in [#116447](https://github.com/getsentry/sentry/pull/116447)
- Use paginated jira projects endpoint in another place by @hobzcalvin in [#116418](https://github.com/getsentry/sentry/pull/116418)
- Use paginated jira projects endpoint, behind flag by @hobzcalvin in [#116327](https://github.com/getsentry/sentry/pull/116327)

#### Issues

- Make linked issue metadata clickable by @scttcper in [#116583](https://github.com/getsentry/sentry/pull/116583)
- Read low-value span evidence as camelCase by @ArthurKnaus in [#116557](https://github.com/getsentry/sentry/pull/116557)

#### Logs

- Go back to prefetch query by @k-fish in [#114893](https://github.com/getsentry/sentry/pull/114893)
- Pass timestamp to trace item details by @nsdeschenes in [#116374](https://github.com/getsentry/sentry/pull/116374)

#### Metrics

- Pass timestamp to trace item details by @nsdeschenes in [#116315](https://github.com/getsentry/sentry/pull/116315)
- Skip tag validation when deleting Snuba subscriptions by @wedamija in [#116325](https://github.com/getsentry/sentry/pull/116325)

#### Preprod

- Document latest base project slug filter by @cameroncooke in [#116102](https://github.com/getsentry/sentry/pull/116102)
- Balance padding on active tag filter chips by @NicoHinderling in [#116417](https://github.com/getsentry/sentry/pull/116417)
- Enforce project access for artifact endpoints by @cameroncooke in [#116381](https://github.com/getsentry/sentry/pull/116381)
- Pre-filter latest base snapshot query by project access by @NicoHinderling in [#116319](https://github.com/getsentry/sentry/pull/116319)

#### Replays

- Query canonical replay id in trace tab by @romtsn in [#116432](https://github.com/getsentry/sentry/pull/116432)
- Scope issue.id group lookup to caller's accessible projects by @JoshuaKGoldberg in [#116188](https://github.com/getsentry/sentry/pull/116188)
- Stop page reloads on initial tab change by @nsdeschenes in [#116494](https://github.com/getsentry/sentry/pull/116494)

#### Workflows

- Rule deletion shouldn't automatically result in Workflow deletion by @kcons in [#116537](https://github.com/getsentry/sentry/pull/116537)
- Update Workflows with org-scoped envs when transfered with a project by @kcons in [#116239](https://github.com/getsentry/sentry/pull/116239)

#### Other

- (alerts) Fall through to issue alert handler by @ceorourke in [#116241](https://github.com/getsentry/sentry/pull/116241)
- (api) Rename duplicated event reprocessable URL by @cvxluo in [#116395](https://github.com/getsentry/sentry/pull/116395)
- (api-docs) Improve flamegraph endpoint description by @cvxluo in [#116633](https://github.com/getsentry/sentry/pull/116633)
- (autofix) Set default stopping point based on preferences by @Zylphrex in [#116340](https://github.com/getsentry/sentry/pull/116340)
- (ci) Revert parallel devservices startup for backend tests by @mchen-sentry in [#116648](https://github.com/getsentry/sentry/pull/116648)
- (conversations) Use 24h statsPeriod on detail page back link by @obostjancic in [#116361](https://github.com/getsentry/sentry/pull/116361)
- (dashboards) Move global filter loading spinner to dropdown footer by @DominikB2014 in [#116342](https://github.com/getsentry/sentry/pull/116342)
- (data-scrubbing) Stop source field suggestion scroll from crashing by @scttcper in [#116653](https://github.com/getsentry/sentry/pull/116653)
- (discord) Route App Directory install through API pipeline modal by @evanpurkhiser in [#116375](https://github.com/getsentry/sentry/pull/116375)
- (discover) Link issue event ids directly by @scttcper in [#116507](https://github.com/getsentry/sentry/pull/116507)
- (dynamic-sampling) Exclude zero-volume projects from project balancing by @shellmayr in [#116572](https://github.com/getsentry/sentry/pull/116572)
- (events) Don't default the seer referrers by @wmak in [#116704](https://github.com/getsentry/sentry/pull/116704)
- (eventstream) Guard against None entries in exception values list by @roggenkemper in [#116511](https://github.com/getsentry/sentry/pull/116511)
- (explore) Y-axis formatting decimal truncation for heatmaps by @nikkikapadia in [#116144](https://github.com/getsentry/sentry/pull/116144)
- (forms) Surface backend error messages in AutoSaveForm by @malwilley in [#116448](https://github.com/getsentry/sentry/pull/116448)
- (grouping) Fix hostname regex bugs, take 2 by @lobsterkatie in [#116587](https://github.com/getsentry/sentry/pull/116587)
- (heatmaps) Very small y-axis values turning into engineering notation and throwing errors by @nikkikapadia in [#116421](https://github.com/getsentry/sentry/pull/116421)
- (jest) Exclude scripts/ from discovery and module resolution by @armcknight in [#116413](https://github.com/getsentry/sentry/pull/116413)
- (low-value-spans) Use project platform for snippets by @ArthurKnaus in [#116675](https://github.com/getsentry/sentry/pull/116675)
- (oauth) Use hashed token lookup and reject tokens for inactive users by @michelletran-sentry in [#116323](https://github.com/getsentry/sentry/pull/116323)
- (options) Suppress option seen logs in debug mode by @JoshFerge in [#116324](https://github.com/getsentry/sentry/pull/116324)
- (ourlogs) Stabilize ECharts chart position to prevent getAttribute crash by @JoshuaKGoldberg in [#115753](https://github.com/getsentry/sentry/pull/115753)
- (pageFilters) Sort bookmarked projects above non-member projects by @JonasBa in [#116196](https://github.com/getsentry/sentry/pull/116196)
- (project-filter) Increase bottom margin by @cvxluo in [#116328](https://github.com/getsentry/sentry/pull/116328)
- (releases) Combine duplicate Author type by @cvxluo in [#116358](https://github.com/getsentry/sentry/pull/116358)
- (scm) Map unknown referrer to shared by @cmanallen in [#116403](https://github.com/getsentry/sentry/pull/116403)
- (search-query-builder) Add dynamic fetching to has by @nsdeschenes in [#116097](https://github.com/getsentry/sentry/pull/116097)
- (seer) Fix font color and link position in autofix project settings by @ryan953 in [#116602](https://github.com/getsentry/sentry/pull/116602)
- (segment-enrichment) Propagate conventional user attributes by @mjq in [#116492](https://github.com/getsentry/sentry/pull/116492)
- (settings) List all projects in context picker instead of default 1st page by @hobzcalvin in [#116072](https://github.com/getsentry/sentry/pull/116072)
- (snapshots) Increase snapshot test timeout to 30s by @mtopo27 in [#116378](https://github.com/getsentry/sentry/pull/116378)
- (spans) Deprecations shouldn't shadow public field names by @mjq in [#116387](https://github.com/getsentry/sentry/pull/116387)
- (theme) Update config.theme when mutating user theme option by @TkDodo in [#116336](https://github.com/getsentry/sentry/pull/116336)
- (trace-item-details) Allow timestamp by @wmak in [#116321](https://github.com/getsentry/sentry/pull/116321)
- (trace-waterfall) Pass timestamp to trace item details by @nsdeschenes in [#116376](https://github.com/getsentry/sentry/pull/116376)
- (traces) Downgrade Group.DoesNotExist log to info in trace serialization by @wedamija in [#116322](https://github.com/getsentry/sentry/pull/116322)
- (webhooks) Check webhooks:enabled in new webhook path by @Christinarlong in [#116459](https://github.com/getsentry/sentry/pull/116459)
- Trigger ad-hoc explorer index runs by @shruthilayaj in [#116530](https://github.com/getsentry/sentry/pull/116530)

### Internal Changes 🔧

#### Aci

- Remove usage of workflow engine redirect flag by @ceorourke in [#116609](https://github.com/getsentry/sentry/pull/116609)
- Update alerts:write settings toggle label to include reference to monitors by @malwilley in [#116313](https://github.com/getsentry/sentry/pull/116313)

#### Api

- Mark prompts-activity as private by @cvxluo in [#116702](https://github.com/getsentry/sentry/pull/116702)
- Rename `SourceMapDebugBlueThunderEdition` to `SourceMapDebug` by @cvxluo in [#116619](https://github.com/getsentry/sentry/pull/116619)
- Remove unused source-map-debug endpoint by @cvxluo in [#116594](https://github.com/getsentry/sentry/pull/116594)
- Remove experimental/projects backward-compat shim by @betegon in [#116498](https://github.com/getsentry/sentry/pull/116498)
- Remove unused events-trace-light endpoint by @cvxluo in [#116519](https://github.com/getsentry/sentry/pull/116519)
- Remove stale entries from api ownership and publish status by @cvxluo in [#116400](https://github.com/getsentry/sentry/pull/116400)
- Promote org-scoped project creation endpoint to public by @betegon in [#116333](https://github.com/getsentry/sentry/pull/116333)

#### Api Docs

- Add `EventAttachmentSerializerResponse` type and example by @cvxluo in [#116515](https://github.com/getsentry/sentry/pull/116515)
- Add DebugFileSerializerResponse type and example fixture by @cvxluo in [#116397](https://github.com/getsentry/sentry/pull/116397)

#### Ci

- Skip type coverage comment if there is no change by @shellmayr in [#116672](https://github.com/getsentry/sentry/pull/116672)
- Skip broken trace item detail tests by @kenzoengineer in [#116497](https://github.com/getsentry/sentry/pull/116497)

#### Codecov

- Remove auto_enable_codecov daily job by @giovanni-guidini in [#116570](https://github.com/getsentry/sentry/pull/116570)
- Remove GitHub Codecov account-link hooks by @giovanni-guidini in [#116569](https://github.com/getsentry/sentry/pull/116569)
- Remove stacktrace-coverage endpoint and codecovAccess setting by @giovanni-guidini in [#116565](https://github.com/getsentry/sentry/pull/116565)
- Remove Prevent API endpoints and routes by @giovanni-guidini in [#116559](https://github.com/getsentry/sentry/pull/116559)

#### Deps

- Bump js-cookie from 3.0.5 to 3.0.7 by @dependabot in [#116057](https://github.com/getsentry/sentry/pull/116057)
- Update sentry-conventions to 0.10.0 by @mjq in [#116517](https://github.com/getsentry/sentry/pull/116517)

#### Dynamic Sampling

- Document config types and simplify dir structure by @shellmayr in [#116462](https://github.com/getsentry/sentry/pull/116462)
- Only run sliding window calculations when config is enabled by @shellmayr in [#116371](https://github.com/getsentry/sentry/pull/116371)
- With multiple org volumes, make sure their duration is clear in scheduler by @shellmayr in [#116367](https://github.com/getsentry/sentry/pull/116367)

#### Explore

- Remove raw search replacement flag checks by @nsdeschenes in [#116590](https://github.com/getsentry/sentry/pull/116590)
- Port schema hints list to scraps by @priscilawebdev in [#116159](https://github.com/getsentry/sentry/pull/116159)

#### Flags

- Remove organizations:processing-error-analytics by @wedamija in [#116643](https://github.com/getsentry/sentry/pull/116643)
- Remove organizations:workflow-engine-redirect-opt-out by @wedamija in [#116641](https://github.com/getsentry/sentry/pull/116641)
- Remove organizations:seer-slack-explorer by @wedamija in [#116639](https://github.com/getsentry/sentry/pull/116639)
- Remove organizations:search-query-builder-raw-search-replacement by @wedamija in [#116638](https://github.com/getsentry/sentry/pull/116638)
- Remove organizations:insights-alerts by @wedamija in [#116223](https://github.com/getsentry/sentry/pull/116223)

#### Forms

- Migrate RequestIntegrationModal to TanStack form system by @priscilawebdev in [#115990](https://github.com/getsentry/sentry/pull/115990)
- Migrate CreateTeamForm to TanStack form system by @priscilawebdev in [#115991](https://github.com/getsentry/sentry/pull/115991)

#### Github Enterprise

- Remove legacy pipeline setup views by @evanpurkhiser in [#116436](https://github.com/getsentry/sentry/pull/116436)
- Remove fully-GA github.com source flag checks by @tnt-sentry in [#116385](https://github.com/getsentry/sentry/pull/116385)

#### Integrations

- Remove `organizations:integrations-github-project-management` by @cvxluo in [#116551](https://github.com/getsentry/sentry/pull/116551)
- Drop the external-install React route by @evanpurkhiser in [#116426](https://github.com/getsentry/sentry/pull/116426)
- Redirect GitHub installs straight to the link page by @evanpurkhiser in [#116412](https://github.com/getsentry/sentry/pull/116412)
- Clean up integrationOrganizationLink by @evanpurkhiser in [#116415](https://github.com/getsentry/sentry/pull/116415)
- Extract GitHub installation callout from org link view by @evanpurkhiser in [#116379](https://github.com/getsentry/sentry/pull/116379)
- Reorganize pipeline components into per-provider folders by @evanpurkhiser in [#116334](https://github.com/getsentry/sentry/pull/116334)

#### Issues

- Add fallback event components codeowner by @scttcper in [#116505](https://github.com/getsentry/sentry/pull/116505)
- Rename feature flag to be specific to displaying Seer actions as issue details activities by @shashjar in [#116425](https://github.com/getsentry/sentry/pull/116425)
- Minor cleanup of boolean logic in escalating issue algorithm by @shashjar in [#116453](https://github.com/getsentry/sentry/pull/116453)
- Remove streamline names from issue details by @scttcper in [#116344](https://github.com/getsentry/sentry/pull/116344)

#### Logs

- Add superuser only log json debug button by @Dav1dde in [#116482](https://github.com/getsentry/sentry/pull/116482)
- Update trace item timestamp expectations by @nsdeschenes in [#116405](https://github.com/getsentry/sentry/pull/116405)

#### Onboarding

- Update project creation URL to /organizations/{org}/projects/ by @betegon in [#116388](https://github.com/getsentry/sentry/pull/116388)
- Decouple SCM step components from OnboardingContext by @jaydgoss in [#115639](https://github.com/getsentry/sentry/pull/115639)

#### Repositories

- When making a ProjectRepository link, upgrade the source if we have a stronger signal by @wedamija in [#116543](https://github.com/getsentry/sentry/pull/116543)
- Mark project repo endpoint as public by @wedamija in [#116343](https://github.com/getsentry/sentry/pull/116343)

#### Seer

- Mark seer endpoints as private instead of experimental by @gricha in [#116591](https://github.com/getsentry/sentry/pull/116591)
- Remove `organizations:seer-wizard` by @cvxluo in [#116546](https://github.com/getsentry/sentry/pull/116546)
- Remove `organizations:seer-issue-view` by @cvxluo in [#116528](https://github.com/getsentry/sentry/pull/116528)
- Call project settings update helper in callsites that don't need to update the full Seer project preference by @srest2021 in [#116356](https://github.com/getsentry/sentry/pull/116356)
- Add GitLab code-review web hooks by @cmanallen in [#116317](https://github.com/getsentry/sentry/pull/116317)
- Unify Seer project settings update helper and add tuning and auto_create_pr fields by @srest2021 in [#116352](https://github.com/getsentry/sentry/pull/116352)
- Use get_group_list helper in supergroups-by-group endpoint by @giovanni-guidini in [#116474](https://github.com/getsentry/sentry/pull/116474)
- Get stopping point and handoff directly in callsites that don't need the full project preference by @srest2021 in [#116222](https://github.com/getsentry/sentry/pull/116222)

#### Settings

- Migrate project security & privacy form to scraps form by @priscilawebdev in [#116463](https://github.com/getsentry/sentry/pull/116463)
- Remove service hooks forms and routes by @TkDodo in [#116296](https://github.com/getsentry/sentry/pull/116296)

#### Snapshots

- Snapshot the snapshots toolbar by @mtopo27 in [#116479](https://github.com/getsentry/sentry/pull/116479)
- Resolve real design-system imports under SSR by @mtopo27 in [#116478](https://github.com/getsentry/sentry/pull/116478)
- Make the snapshots toolbar presentational and de-duplicate by @mtopo27 in [#116477](https://github.com/getsentry/sentry/pull/116477)

#### Snuba

- Use metrics.timer instead of bespoke timer helper by @mrduncan in [#115279](https://github.com/getsentry/sentry/pull/115279)
- Use metrics.timer for get_snuba_map timing by @mrduncan in [#116357](https://github.com/getsentry/sentry/pull/116357)
- Re-enable boolean double-write tests by @phacops in [#116390](https://github.com/getsentry/sentry/pull/116390)

#### Spans

- Improve flush cleanup coverage by @lvthanh03 in [#116694](https://github.com/getsentry/sentry/pull/116694)
- Move flushed segment cleanup into buffer store by @lvthanh03 in [#116495](https://github.com/getsentry/sentry/pull/116495)
- Move queue updates into spans buffer store by @lvthanh03 in [#116435](https://github.com/getsentry/sentry/pull/116435)
- Use full web vitals attribute strings by @mjq in [#116135](https://github.com/getsentry/sentry/pull/116135)
- Introduce spans buffer store abstraction by @lvthanh03 in [#116382](https://github.com/getsentry/sentry/pull/116382)
- Read deprecations from `sentry-conventions` by @mjq in [#116399](https://github.com/getsentry/sentry/pull/116399)
- Add loaded segment data model by @lvthanh03 in [#116346](https://github.com/getsentry/sentry/pull/116346)

#### Typing

- Remove 9 zero-error modules from mypy ignore list by @shashjar in [#116430](https://github.com/getsentry/sentry/pull/116430)
- Remove `sentry.services.eventstore.models` from mypy ignore list by @shashjar in [#116229](https://github.com/getsentry/sentry/pull/116229)

#### Webhooks

- Hide PLUGIN action type from available actions endpoint by @Christinarlong in [#116458](https://github.com/getsentry/sentry/pull/116458)
- Remove raise that short circuit url sending by @Christinarlong in [#116534](https://github.com/getsentry/sentry/pull/116534)
- Add legacy_webhook to the Plugin ActionType by @Christinarlong in [#116454](https://github.com/getsentry/sentry/pull/116454)

#### Other

- (alerts) Disable alert buttons for users without write access by @malwilley in [#116306](https://github.com/getsentry/sentry/pull/116306)
- (apigateway) Use a threadlocal session for proxy requests by @JoshFerge in [#116054](https://github.com/getsentry/sentry/pull/116054)
- (assemble) Validate debug ids on assemble endpoint by @Dav1dde in [#116283](https://github.com/getsentry/sentry/pull/116283)
- (autofix) Remove the organizations:autofix-on-explorer feature flag by @chromy in [#116165](https://github.com/getsentry/sentry/pull/116165)
- (billing) Bumped sentry-protos version to 0.15.0 by @krithikravi in [#116351](https://github.com/getsentry/sentry/pull/116351)
- (billing-platform) Bump sentry-protos 0.21.0 by @brendanhsentry in [#116539](https://github.com/getsentry/sentry/pull/116539)
- (bitbucket-server) Remove legacy pipeline setup views by @evanpurkhiser in [#116489](https://github.com/getsentry/sentry/pull/116489)
- (cell) Renames proxy region metric tag to cell for clarity by @GabeVillalobos in [#116402](https://github.com/getsentry/sentry/pull/116402)
- (cells) Adds CellResolver, refactors ApiGateway to use them when special casing proxy requests by @GabeVillalobos in [#116221](https://github.com/getsentry/sentry/pull/116221)
- (codeowners) Reuse get_projects in associations endpoint by @giovanni-guidini in [#116359](https://github.com/getsentry/sentry/pull/116359)
- (conversations) Simplify conversation details endpoint by @obostjancic in [#116087](https://github.com/getsentry/sentry/pull/116087)
- (dashboards) Validate prebuilt widget layouts and lengths by @DominikB2014 in [#116217](https://github.com/getsentry/sentry/pull/116217)
- (eap) Make trace item attributes alias test less fragile by @mjq in [#116545](https://github.com/getsentry/sentry/pull/116545)
- (feature-flags) Remove `organizations:insights-ai-and-mcp-dashboard-migration` by @cvxluo in [#116450](https://github.com/getsentry/sentry/pull/116450)
- (inbound-filters) Add feature flag by @shellmayr in [#116287](https://github.com/getsentry/sentry/pull/116287)
- (ingest) Minor cleanup in issue occurrence ingestion logic by @shashjar in [#116608](https://github.com/getsentry/sentry/pull/116608)
- (issue-detection) Update badge for AI Issue Detection by @roggenkemper in [#116311](https://github.com/getsentry/sentry/pull/116311)
- (issueDetails) Migrate onDiscard to useMutation + fetchMutation by @sentry-junior in [#116157](https://github.com/getsentry/sentry/pull/116157)
- (jira) Replace legacy configure view with the pipeline redirect by @evanpurkhiser in [#116574](https://github.com/getsentry/sentry/pull/116574)
- (mcp-adoption-value-discovery) Adding utm source to mcp docs link by @Abdkhan14 in [#116202](https://github.com/getsentry/sentry/pull/116202)
- (metrics) Metric detail action menu tweaks by @nsdeschenes in [#116292](https://github.com/getsentry/sentry/pull/116292)
- (msteams) Replace legacy configure view with the pipeline redirect by @evanpurkhiser in [#116520](https://github.com/getsentry/sentry/pull/116520)
- (night-shift) Use default autofix model for night-shift runs by @chromy in [#116469](https://github.com/getsentry/sentry/pull/116469)
- (ourlogs) Switch logs pinning from context to a straightforward hook by @JoshuaKGoldberg in [#116176](https://github.com/getsentry/sentry/pull/116176)
- (rpc) Log from `_make_rpc_request` by @mjq in [#116408](https://github.com/getsentry/sentry/pull/116408)
- (scm) Remove /rate-limit endpoint from internal rate-limit computation by @cmanallen in [#116471](https://github.com/getsentry/sentry/pull/116471)
- (search-query-builder) Break up contexts by @nsdeschenes in [#116126](https://github.com/getsentry/sentry/pull/116126)
- (seer-grouping) Rm backfill url by @kddubey in [#116253](https://github.com/getsentry/sentry/pull/116253)
- (seer-slack) Remove unused flag by @leeandher in [#116683](https://github.com/getsentry/sentry/pull/116683)
- (slack) Remove assistant:write OAuth scope from Slack integration by @alexsohn1126 in [#116567](https://github.com/getsentry/sentry/pull/116567)
- (tempest) Squash migrations by @vgrozdanic in [#116679](https://github.com/getsentry/sentry/pull/116679)
- (timeSince) Migrate TimeSince to use InfoText internally by @TkDodo in [#116369](https://github.com/getsentry/sentry/pull/116369)
- (trace-items) Remove `performance-sentry-conventions-fields` by @mjq in [#116392](https://github.com/getsentry/sentry/pull/116392)
- (trace-waterfall) Drop deprecated aliases from trace meta endpoint by @cvxluo in [#116514](https://github.com/getsentry/sentry/pull/116514)
- (traces) Remove stale events-trace-light frontend references by @cvxluo in [#116523](https://github.com/getsentry/sentry/pull/116523)
- (utils) Small `SafeRolloutComparator` refactors by @lobsterkatie in [#116257](https://github.com/getsentry/sentry/pull/116257)
- (workflow-engine) Build out new registry for activities by @leeandher in [#116200](https://github.com/getsentry/sentry/pull/116200)
- (workflows) Dramatically more efficient DetectorGroup querying by @kcons in [#116441](https://github.com/getsentry/sentry/pull/116441)
- Devservices 1.4.0 by @joshuarli in [#116700](https://github.com/getsentry/sentry/pull/116700)
- Rollout semver-ordering-with-build-code by @ryan953 in [#116622](https://github.com/getsentry/sentry/pull/116622)
- Remove `relay:measurements-smart-conversion` feature by @loewenheim in [#116615](https://github.com/getsentry/sentry/pull/116615)
- Replace custom JEST_TEST_BALANCER env var with --testResultsProcessor by @ryan953 in [#116661](https://github.com/getsentry/sentry/pull/116661)
- Bump taskbroker-client to 0.18.0 by @getsentry-bot in [#116630](https://github.com/getsentry/sentry/pull/116630)
- Cleanup seer-config-reminder flag by @ryan953 in [#116628](https://github.com/getsentry/sentry/pull/116628)
- Fix log statement by @joseph-sentry in [#116512](https://github.com/getsentry/sentry/pull/116512)
- Bump taskbroker-client to 0.17.1 by @getsentry-bot in [#116535](https://github.com/getsentry/sentry/pull/116535)
- Bump taskbroker-client to 0.17.0 by @getsentry-bot in [#116526](https://github.com/getsentry/sentry/pull/116526)
- Delete unused options by @joshuarli in [#116409](https://github.com/getsentry/sentry/pull/116409)
- Type utils.signing.unsign return as Any by @evanpurkhiser in [#116486](https://github.com/getsentry/sentry/pull/116486)
- Add some logging by @shruthilayaj in [#116481](https://github.com/getsentry/sentry/pull/116481)
- Remove Email model by @markstory in [#116245](https://github.com/getsentry/sentry/pull/116245)
- Bump sentry-protos 0.17.0 by @brendanhsentry in [#116456](https://github.com/getsentry/sentry/pull/116456)
- Bump taskbroker-client to 0.16.0 by @getsentry-bot in [#116411](https://github.com/getsentry/sentry/pull/116411)
- Bump sentry-protos to 0.16.1 by @getsentry-bot in [#116401](https://github.com/getsentry/sentry/pull/116401)
- Delete plan migration frontend by @noahsmartin in [#116331](https://github.com/getsentry/sentry/pull/116331)
- Bump new development version by @sentry-release-bot[bot] in [c9c46150](https://github.com/getsentry/sentry/commit/c9c461506030aae3c8e58b814b746a897237eb46)

### Other

- fix(cells) Hide US2 in customer facing dropdowns by @markstory in [#116529](https://github.com/getsentry/sentry/pull/116529)
- Remove `organizations:scm-repositories-v2` by @cvxluo in [#116555](https://github.com/getsentry/sentry/pull/116555)
- Add new org suspension reason by @geoffg-sentry in [#116616](https://github.com/getsentry/sentry/pull/116616)
- Upgrade sentry-scm to 0.22.0 by @cmanallen in [#116585](https://github.com/getsentry/sentry/pull/116585)
- typing(release health): Remove `sentry.release_health.metrics_sessions_v2` from mypy ignore list by @shashjar in [#116442](https://github.com/getsentry/sentry/pull/116442)
- :bug: fix[gitlab]: add assignee sync diagnostics by @iamrajjoshi in [#115356](https://github.com/getsentry/sentry/pull/115356)
- feat(cells) Allow staff users to create orgs in hidden cells by @markstory in [#116503](https://github.com/getsentry/sentry/pull/116503)
- fix(cells) Add flag and display name for us2 by @markstory in [#116513](https://github.com/getsentry/sentry/pull/116513)
- Extract BoundedLRUCache into common utility module by @cmanallen in [#116527](https://github.com/getsentry/sentry/pull/116527)
- fix(typing) Remove sentry.db.postgres.base from ignore list by @markstory in [#116493](https://github.com/getsentry/sentry/pull/116493)
- deps(scm): Upgrade sentry-scm to 0.20.0 by @cmanallen in [#116499](https://github.com/getsentry/sentry/pull/116499)
- tracemetrics(perf): Add client_sample_rate to high-volume metrics by @k-fish in [#116308](https://github.com/getsentry/sentry/pull/116308)
- chore(typing) Fix typing errors in sentry.ratelimits by @markstory in [#116310](https://github.com/getsentry/sentry/pull/116310)
- revert changes to jest config from #116269 by @armcknight in [#116416](https://github.com/getsentry/sentry/pull/116416)
- chore(typing) Fix typing issues in relocations by @markstory in [#116301](https://github.com/getsentry/sentry/pull/116301)

26.5.1
------

### New Features ✨

#### Apigw

- Expose proxy latency metrics by target by @gi0baro in [#116086](https://github.com/getsentry/sentry/pull/116086)
- Add non-orgid/slug endpoints to proxied cell requests by @gi0baro in [#115930](https://github.com/getsentry/sentry/pull/115930)

#### Autofix

- Allow non seat based seer to skip setup in [#116208](https://github.com/getsentry/sentry/pull/116208)
- Switch inspection to single llm call using gemini flas… by @Zylphrex in [#116071](https://github.com/getsentry/sentry/pull/116071)
- Autofix introspection analytics by @Zylphrex in [#115891](https://github.com/getsentry/sentry/pull/115891)
- Add UI labels for missing AutofixReferrer values by @chromy in [#115655](https://github.com/getsentry/sentry/pull/115655)
- Render line numbers in autofix evidence by @Zylphrex in [#115649](https://github.com/getsentry/sentry/pull/115649)

#### Cells

- Remove cross-org feature gating from notification settings by @lynnagara in [#115829](https://github.com/getsentry/sentry/pull/115829)
- Add cell-routing mode to devservices by @lynnagara in [#115737](https://github.com/getsentry/sentry/pull/115737)

#### Cmdk

- Add Open in Production and Open in Development actions in [#116242](https://github.com/getsentry/sentry/pull/116242)
- Freeze visible action list during keyboard navigation in [#115851](https://github.com/getsentry/sentry/pull/115851)
- Add project search action to command palette by @JonasBa in [#115591](https://github.com/getsentry/sentry/pull/115591)

#### Conversations

- Add copy conversation as markdown button in [#116171](https://github.com/getsentry/sentry/pull/116171)
- Swap badge from alpha to beta by @obostjancic in [#115712](https://github.com/getsentry/sentry/pull/115712)
- Add Amplitude analytics to conversation pages by @obostjancic in [#115622](https://github.com/getsentry/sentry/pull/115622)

#### Dashboards

- Add span-first support for web vital dashboard in [#115882](https://github.com/getsentry/sentry/pull/115882)
- Validate display type against dataset config by @DominikB2014 in [#115951](https://github.com/getsentry/sentry/pull/115951)
- Require metric_unit in AI tracemetrics aggregates by @DominikB2014 in [#116101](https://github.com/getsentry/sentry/pull/116101)
- Teach AI dashboard generator the tracemetrics aggregate format by @DominikB2014 in [#115480](https://github.com/getsentry/sentry/pull/115480)

#### Explore

- Heatmap tooltip trace links by @nikkikapadia in [#115925](https://github.com/getsentry/sentry/pull/115925)
- Link to aggregates from dropdown by @nsdeschenes in [#115789](https://github.com/getsentry/sentry/pull/115789)
- Add Heat Map widget to Explore metrics by @gggritso in [#115608](https://github.com/getsentry/sentry/pull/115608)

#### Github Enterprise

- Add frontend pipeline steps for GHE integration setup in [#114367](https://github.com/getsentry/sentry/pull/114367)
- Add API-driven pipeline backend for GHE integration setup in [#114366](https://github.com/getsentry/sentry/pull/114366)
- Allow github.com as a source for the GitHub Enterprise integration by @tnt-sentry in [#115599](https://github.com/getsentry/sentry/pull/115599)

#### Issues

- Bring back `SEER_PR_CREATED` activity creation and hide from timeline in [#116233](https://github.com/getsentry/sentry/pull/116233)
- Two-column activity icons, colors by @scttcper in [#115958](https://github.com/getsentry/sentry/pull/115958)
- Unify issue activity streams by @scttcper in [#115848](https://github.com/getsentry/sentry/pull/115848)
- Add activity feed v2 flag by @scttcper in [#115966](https://github.com/getsentry/sentry/pull/115966)
- Consolidate activity comment input by @scttcper in [#115824](https://github.com/getsentry/sentry/pull/115824)
- Replace DebugMeta store with context by @scttcper in [#115842](https://github.com/getsentry/sentry/pull/115842)

#### Low Value Spans

- Add configuration issue UI in [#116271](https://github.com/getsentry/sentry/pull/116271)
- Add Snuba referrer for detector by @vgrozdanic in [#115980](https://github.com/getsentry/sentry/pull/115980)
- Add low-value span issue UI by @ArthurKnaus in [#115870](https://github.com/getsentry/sentry/pull/115870)
- Add low-value span issue type by @ArthurKnaus in [#115868](https://github.com/getsentry/sentry/pull/115868)

#### Onboarding

- Link selected repository to project after creation by @wedamija in [#115761](https://github.com/getsentry/sentry/pull/115761)
- Update Hono onboarding with `@sentry/hono` by @s1gr1d in [#115476](https://github.com/getsentry/sentry/pull/115476)

#### Ourlogs

- Reduce modal export rows limit to 10k by @JoshuaKGoldberg in [#116180](https://github.com/getsentry/sentry/pull/116180)
- Show estimated total dataset size in needle-in-haystack searches by @JoshuaKGoldberg in [#115731](https://github.com/getsentry/sentry/pull/115731)
- Implement pinned logs with sticky header (part 1) by @JoshuaKGoldberg in [#115102](https://github.com/getsentry/sentry/pull/115102)
- Add 'Group by attribute' to log property context menu by @JoshuaKGoldberg in [#115420](https://github.com/getsentry/sentry/pull/115420)

#### Preprod

- Display snapshot image tags in card headers in [#115723](https://github.com/getsentry/sentry/pull/115723)
- Display images_skipped in snapshot table by @NicoHinderling in [#116074](https://github.com/getsentry/sentry/pull/116074)
- Add images_skipped to builds API response by @NicoHinderling in [#116073](https://github.com/getsentry/sentry/pull/116073)
- Display skipped images in snapshots UI by @NicoHinderling in [#116041](https://github.com/getsentry/sentry/pull/116041)
- Expose is_selective flag in snapshot details API response by @NicoHinderling in [#115832](https://github.com/getsentry/sentry/pull/115832)
- Add Snapshot status check rules API by @cameroncooke in [#115621](https://github.com/getsentry/sentry/pull/115621)

#### Search

- Add recommended sort option to issue stream dropdown in [#116197](https://github.com/getsentry/sentry/pull/116197)
- Surface recommended sort in UI when active via query param in [#116186](https://github.com/getsentry/sentry/pull/116186)
- Register feature flag for recommended issue sort by @roggenkemper in [#116191](https://github.com/getsentry/sentry/pull/116191)

#### Seer

- Add structured LLM context for replay list and detail pages in [#116045](https://github.com/getsentry/sentry/pull/116045)
- Always show action buttons in explorer chat blocks by @ChrisandraVaz in [#116049](https://github.com/getsentry/sentry/pull/116049)
- Add bulk Seer project connected repos endpoint by @srest2021 in [#115942](https://github.com/getsentry/sentry/pull/115942)
- Add Seer project connected repo endpoint by @srest2021 in [#115199](https://github.com/getsentry/sentry/pull/115199)
- Add structured LLM context for explore logs trace route by @Mihir-Mavalankar in [#116036](https://github.com/getsentry/sentry/pull/116036)
- Add CRUD helpers for Seer project repos by @srest2021 in [#115904](https://github.com/getsentry/sentry/pull/115904)
- Add structured LLM context for issue detail sub-tabs by @Mihir-Mavalankar in [#115936](https://github.com/getsentry/sentry/pull/115936)
- Add bulk-project Seer settings endpoint by @srest2021 in [#115234](https://github.com/getsentry/sentry/pull/115234)
- Add helper for bulk updating Seer project settings by @srest2021 in [#115756](https://github.com/getsentry/sentry/pull/115756)
- Scope /conversations slash command lookup with start/end/project by @chromy in [#115785](https://github.com/getsentry/sentry/pull/115785)
- Add single-project Seer settings endpoint by @srest2021 in [#115230](https://github.com/getsentry/sentry/pull/115230)
- Add SeerRun FK to SeerNightShiftRun by @trevor-e in [#115694](https://github.com/getsentry/sentry/pull/115694)
- Add SeerWorkflowConfig model and link to night shift runs by @trevor-e in [#115615](https://github.com/getsentry/sentry/pull/115615)
- Mirror last_triggered_at to SeerRun on autofix triggers by @trevor-e in [#115611](https://github.com/getsentry/sentry/pull/115611)

#### Tracemetrics

- Include equations in Add to Dashboard by @narsaynorath in [#116141](https://github.com/getsentry/sentry/pull/116141)
- Convert equation alias to full equation for queries by @narsaynorath in [#116047](https://github.com/getsentry/sentry/pull/116047)
- Open in Explore for metrics dashboard widgets by @narsaynorath in [#115805](https://github.com/getsentry/sentry/pull/115805)
- Lazy load trace details per metric by @nsdeschenes in [#115066](https://github.com/getsentry/sentry/pull/115066)

#### Webhooks

- Add dry run check to sentry app webhook path in [#116265](https://github.com/getsentry/sentry/pull/116265)
- Add payload validation during dual-write migration in [#116040](https://github.com/getsentry/sentry/pull/116040)
- Add metrics for legacy webhook migration validation by @Christinarlong in [#116039](https://github.com/getsentry/sentry/pull/116039)
- Wire new service with feature-flagged routing by @Christinarlong in [#115747](https://github.com/getsentry/sentry/pull/115747)
- Add standalone legacy webhook service module by @Christinarlong in [#115688](https://github.com/getsentry/sentry/pull/115688)
- Register legacy webhook migration feature flags by @Christinarlong in [#115669](https://github.com/getsentry/sentry/pull/115669)

#### Other

- (aci) Add sort param to workflow group history endpoint in [#116031](https://github.com/getsentry/sentry/pull/116031)
- (alerts) Add cleanup task to NotificationMessage in [#116027](https://github.com/getsentry/sentry/pull/116027)
- (amplitude) Track whether users are viewing sentry-built dashboards by @bcoe in [#116138](https://github.com/getsentry/sentry/pull/116138)
- (api-docs) Publish project event details endpoint in [#116059](https://github.com/getsentry/sentry/pull/116059)
- (apigateway) Add separated async `apigw` package by @gi0baro in [#115624](https://github.com/getsentry/sentry/pull/115624)
- (button) Add `size` prop to `ButtonBar` via `SizeContext` by @natemoo-re in [#115728](https://github.com/getsentry/sentry/pull/115728)
- (ci) Add merge_base_strategy tag to Jest CI runs by @ryan953 in [#115967](https://github.com/getsentry/sentry/pull/115967)
- (data-forwarding) Enable retries for data forwarders via task dispatch by @leeandher in [#115511](https://github.com/getsentry/sentry/pull/115511)
- (dev) Add SENTRY_CELL_ROUTING env var that runs cell-routing mode locally by @lynnagara in [#115852](https://github.com/getsentry/sentry/pull/115852)
- (dynamic-sampling) Add per-project volume query in [#114286](https://github.com/getsentry/sentry/pull/114286)
- (examples) Add task that produces by @bmckerry in [#115820](https://github.com/getsentry/sentry/pull/115820)
- (explorer) Add query parameter to explorer-runs API by @JonasBa in [#115760](https://github.com/getsentry/sentry/pull/115760)
- (integrations) Disable auth token creation button without perms by @cvxluo in [#115769](https://github.com/getsentry/sentry/pull/115769)
- (markdown) Expose default components via `Default` prop by @natemoo-re in [#115745](https://github.com/getsentry/sentry/pull/115745)
- (options) Add timing metric to options.get() by @kenzoengineer in [#115762](https://github.com/getsentry/sentry/pull/115762)
- (profiling) Add task for taskbroker passthrough mode by @untitaker in [#115065](https://github.com/getsentry/sentry/pull/115065)
- (repositories) Add project repo-link endpoint by @wedamija in [#115754](https://github.com/getsentry/sentry/pull/115754)
- (routes) Add redirect from /snapshots/ to explore releases by @NicoHinderling in [#116053](https://github.com/getsentry/sentry/pull/116053)
- (scm) Add streaming integration-proxy which accepts any 'Accepts' header value by @cmanallen in [#115917](https://github.com/getsentry/sentry/pull/115917)
- (self-healing) Add support for seer activities in workflow engine by @saponifi3d in [#115933](https://github.com/getsentry/sentry/pull/115933)
- (settings) Add 'Recent Error Events' column to project environments by @JoshuaKGoldberg in [#115902](https://github.com/getsentry/sentry/pull/115902)
- (source-map-config-issues) Updating processing errors metric by @Abdkhan14 in [#115822](https://github.com/getsentry/sentry/pull/115822)
- (spans) Add separate Redis cluster setting for span deduplication by @untitaker in [#116010](https://github.com/getsentry/sentry/pull/116010)
- (trace-waterfall) Small tweaks to trace-waterfall tab by @nsdeschenes in [#115584](https://github.com/getsentry/sentry/pull/115584)
- (ui) Add debug FeatureBadge variant by @chromy in [#116000](https://github.com/getsentry/sentry/pull/116000)
- Flags and rpc for frontend code search tool by @shruthilayaj in [#116098](https://github.com/getsentry/sentry/pull/116098)
- Add SENTRY_ALLOWED_IPS to allow IP, overwrite SENTRY_DISALLOWED… by @fe80 in [#115773](https://github.com/getsentry/sentry/pull/115773)
- Add Relay measurements conversion feature by @loewenheim in [#115979](https://github.com/getsentry/sentry/pull/115979)
- Track read options via seen logline by @joshuarli in [#115610](https://github.com/getsentry/sentry/pull/115610)
- Add toggle to migrate to billing platform by @noahsmartin in [#115895](https://github.com/getsentry/sentry/pull/115895)

### Bug Fixes 🐛

#### Alerts

- Handle gte/lte condition types in metric alert serializers by @kcons in [#115972](https://github.com/getsentry/sentry/pull/115972)
- Update migration to not remove FK to group by @ceorourke in [#115932](https://github.com/getsentry/sentry/pull/115932)
- Surface API error messages in create/update toasts by @malwilley in [#115894](https://github.com/getsentry/sentry/pull/115894)
- Batch NotificationMessage delete metric alert rows by @ceorourke in [#115726](https://github.com/getsentry/sentry/pull/115726)

#### Api

- Correctly parse `full` parameter in project events endpoint in [#116216](https://github.com/getsentry/sentry/pull/116216)
- Validate IDs in OrganizationGroupIndexEndpoint.delete by @kcons in [#115770](https://github.com/getsentry/sentry/pull/115770)

#### Conversations

- Restore side-by-side layout for platform option dropdown in [#116272](https://github.com/getsentry/sentry/pull/116272)
- Improve tool badge rendering and overflow behavior by @obostjancic in [#115880](https://github.com/getsentry/sentry/pull/115880)
- Improve truncation of non-UUID conversation IDs by @sentry-junior in [#115978](https://github.com/getsentry/sentry/pull/115978)

#### Dashboards

- Raise widget description limit to 350 by @DominikB2014 in [#116185](https://github.com/getsentry/sentry/pull/116185)
- Propagate global filters in Open in Issues link by @DominikB2014 in [#116105](https://github.com/getsentry/sentry/pull/116105)
- Stop widget header action clicks from bubbling by @skaasten in [#116096](https://github.com/getsentry/sentry/pull/116096)
- Anchor Editors dropdown to the right edge of the trigger by @skaasten in [#116104](https://github.com/getsentry/sentry/pull/116104)
- Reset table fields when switching from details widget by @DominikB2014 in [#115788](https://github.com/getsentry/sentry/pull/115788)
- Prevent sticky navbar misalignment on scroll by @priscilawebdev in [#115716](https://github.com/getsentry/sentry/pull/115716)

#### Discover

- Add missing check for DiscoverSavedQueryVisitEndpoint in [#116187](https://github.com/getsentry/sentry/pull/116187)
- Add org id to project filter by @nsdeschenes in [#116174](https://github.com/getsentry/sentry/pull/116174)

#### Dynamic Sampling

- Use the correct field name for dynamic sampling project id in [#116279](https://github.com/getsentry/sentry/pull/116279)
- Update run_eap_spans_table_query_in_chunks to yield individual rows and adjust tests accordingly by @constantinius in [#115995](https://github.com/getsentry/sentry/pull/115995)

#### Events

- Debug param wasn't being passed down correctly in [#116152](https://github.com/getsentry/sentry/pull/116152)
- Correctly parse full parameter in group hashes endpoint in [#116219](https://github.com/getsentry/sentry/pull/116219)

#### Explore

- Use unique ids for visuals in [#116204](https://github.com/getsentry/sentry/pull/116204)
- Cross events date selector allow 7d anytime within 30 days by @nikkikapadia in [#116099](https://github.com/getsentry/sentry/pull/116099)
- Increase strictness on URLs by @nsdeschenes in [#115881](https://github.com/getsentry/sentry/pull/115881)
- Pymark fail on test for arrays in detail endpoint by @manessaraj in [#115828](https://github.com/getsentry/sentry/pull/115828)

#### Integrations

- Validate user-provided IDs in webhooks by @kcons in [#115910](https://github.com/getsentry/sentry/pull/115910)
- Replace useIntegrationTabs with nuqs useQueryState by @ryan953 in [#115738](https://github.com/getsentry/sentry/pull/115738)

#### Issues

- Align collapsed activity row in [#116266](https://github.com/getsentry/sentry/pull/116266)
- Fix undefined variable in `StreamGroupSerializerSnuba` feature flag check in [#116259](https://github.com/getsentry/sentry/pull/116259)
- Move user serialization out of loop in ignored issues handler in [#116246](https://github.com/getsentry/sentry/pull/116246)
- Fix sidebar comment box horizontal overflow in [#116209](https://github.com/getsentry/sentry/pull/116209)
- Match short id when combined with filters in [#116153](https://github.com/getsentry/sentry/pull/116153)
- Make GroupSearchViewPermission fail closed for unknown object types by @roggenkemper in [#116183](https://github.com/getsentry/sentry/pull/116183)
- Provide correct value for `search.sort` SDK tag by @shashjar in [#116065](https://github.com/getsentry/sentry/pull/116065)
- Use full URL for open link button in breadcrumb messages by @scttcper in [#115911](https://github.com/getsentry/sentry/pull/115911)
- Enforce project access on event ID lookup endpoint by @oioki in [#115784](https://github.com/getsentry/sentry/pull/115784)
- Stop double-emitting issue activities for Seer PR created by @shashjar in [#115749](https://github.com/getsentry/sentry/pull/115749)
- Add int ID validation to a few endpoints by @kcons in [#115690](https://github.com/getsentry/sentry/pull/115690)
- Search org members for note mentions by @scttcper in [#115614](https://github.com/getsentry/sentry/pull/115614)

#### Metrics

- Resolve flaky metrics tab tests in [#116280](https://github.com/getsentry/sentry/pull/116280)
- Default to largest interval when using heatmaps visualization by @nikkikapadia in [#116129](https://github.com/getsentry/sentry/pull/116129)

#### Monitors

- Surface schedule config errors on cron form fields by @malwilley in [#116016](https://github.com/getsentry/sentry/pull/116016)
- Add tooltip for disabled project in edits by @JoshuaKGoldberg in [#115931](https://github.com/getsentry/sentry/pull/115931)

#### Onboarding

- Remove broken aria-label from RadioGroup radio inputs by @scttcper in [#116032](https://github.com/getsentry/sentry/pull/116032)
- Include shared feedback for Hono onbarding by @s1gr1d in [#115721](https://github.com/getsentry/sentry/pull/115721)

#### Perforce

- Update onboarding frontend for Unicode support by @mujacica in [#116005](https://github.com/getsentry/sentry/pull/116005)
- Support Unicode Perforce server connections by @mujacica in [#115775](https://github.com/getsentry/sentry/pull/115775)

#### Preprod

- Reduce snapshot download concurrency to prevent stream failures in [#116267](https://github.com/getsentry/sentry/pull/116267)
- Reapply "Include image key and field path in snapshot validation errors" by @runningcode in [#115987](https://github.com/getsentry/sentry/pull/115987)
- Remove native lazy loading from LazyImage component by @NicoHinderling in [#115922](https://github.com/getsentry/sentry/pull/115922)
- Eliminate race condition in snapshot status check posting by @NicoHinderling in [#115650](https://github.com/getsentry/sentry/pull/115650)
- Skip strict jsonschema for snapshot image metadata by @runningcode in [#115720](https://github.com/getsentry/sentry/pull/115720)
- Restore extra field passthrough in snapshot image responses by @NicoHinderling in [#115658](https://github.com/getsentry/sentry/pull/115658)
- Change snapshot image tags from list to dict by @NicoHinderling in [#115643](https://github.com/getsentry/sentry/pull/115643)

#### Replays

- Shrink timeline hover timestamp in [#116268](https://github.com/getsentry/sentry/pull/116268)
- Remove timeline icon z-index workaround in [#116255](https://github.com/getsentry/sentry/pull/116255)
- Remove extra padding from BodyGrid in replayLayout by @sentry-junior in [#116156](https://github.com/getsentry/sentry/pull/116156)
- Disable breadcrumbs autoscroll on user scroll by @JoshuaKGoldberg in [#115914](https://github.com/getsentry/sentry/pull/115914)
- Correct query invalidation on refresh by @JoshuaKGoldberg in [#115629](https://github.com/getsentry/sentry/pull/115629)
- Allow org admins to bulk delete replays by @jameskeane in [#115886](https://github.com/getsentry/sentry/pull/115886)
- Make link copy button accessible and non-variable width by @JoshuaKGoldberg in [#115598](https://github.com/getsentry/sentry/pull/115598)

#### Search

- Prevent Ask AI from doubling pasted query text in [#116050](https://github.com/getsentry/sentry/pull/116050)
- Hide size limit prompt while filtering by @nsdeschenes in [#115816](https://github.com/getsentry/sentry/pull/115816)

#### Seer

- Sort autofix project table by slug instead of name by @mrduncan in [#115642](https://github.com/getsentry/sentry/pull/115642)
- Keep repo loading indicator active by @scttcper in [#115854](https://github.com/getsentry/sentry/pull/115854)
- Pass issue short ID to coding agents by @JoshFerge in [#115838](https://github.com/getsentry/sentry/pull/115838)
- Make ToolResult.content optional to prevent Pydantic validation error by @sentry in [#115630](https://github.com/getsentry/sentry/pull/115630)

#### Settings

- Fix CI permission checkbox not reflecting state by @scttcper in [#116055](https://github.com/getsentry/sentry/pull/116055)
- Restore title on accept-invite and accept-transfer pages by @natemoo-re in [#116013](https://github.com/getsentry/sentry/pull/116013)
- Fix Seer drawer stopping point not changing on mutate from "No Automation" by @srest2021 in [#115847](https://github.com/getsentry/sentry/pull/115847)

#### Snapshots

- Add instrumentation logging to snapshot download stream in [#116079](https://github.com/getsentry/sentry/pull/116079)
- Add timeout override for snapshot download in emmett gateway by @NicoHinderling in [#116078](https://github.com/getsentry/sentry/pull/116078)

#### Tests

- Don't include trace context in symbolicator snapshots in [#116275](https://github.com/getsentry/sentry/pull/116275)
- Use findByRole for async options in opJsonPath.spec.tsx by @sentry in [#115645](https://github.com/getsentry/sentry/pull/115645)
- Correct monitor form crontab test with fireEvent by @sentry in [#115644](https://github.com/getsentry/sentry/pull/115644)
- Update staleTime and add default mocks for external issue tests by @sentry in [#115646](https://github.com/getsentry/sentry/pull/115646)

#### Tracemetrics

- Use equation alias format for widget builder in [#116213](https://github.com/getsentry/sentry/pull/116213)
- Expand selector dropdown menu width to 100% by @narsaynorath in [#116026](https://github.com/getsentry/sentry/pull/116026)
- Drop placeholder unit and always use none by @narsaynorath in [#116007](https://github.com/getsentry/sentry/pull/116007)
- Pass project and env in request filters for filter by @narsaynorath in [#115920](https://github.com/getsentry/sentry/pull/115920)

#### Ui

- Add inset focus ring to SimpleTable header cells in [#116276](https://github.com/getsentry/sentry/pull/116276)
- Increase dropdown z-index to appear above sidebar by @jameskeane in [#116139](https://github.com/getsentry/sentry/pull/116139)
- Add self signed package to support https by @scttcper in [#115941](https://github.com/getsentry/sentry/pull/115941)

#### Workflow Engine

- Sanitize corrupted dynamic_form_fields choice labels by @malwilley in [#115855](https://github.com/getsentry/sentry/pull/115855)
- Normalize error.handled values to 0/1 by @kcons in [#115740](https://github.com/getsentry/sentry/pull/115740)

#### Other

- (a11y) Add missing alt attributes to context icons and feedback images by @sentry-junior in [#115772](https://github.com/getsentry/sentry/pull/115772)
- (agents) Use minVersion in SDK update alert for consistency by @obostjancic in [#115714](https://github.com/getsentry/sentry/pull/115714)
- (api-docs) Correct event/replay/processing-error ID schemas in [#116201](https://github.com/getsentry/sentry/pull/116201)
- (apigw) Disable asyncpg statement cache (issues with pgbouncer) by @gi0baro in [#115992](https://github.com/getsentry/sentry/pull/115992)
- (attachments) Infer MIME type from filename when stored as octet-stream by @sentry-junior in [#115977](https://github.com/getsentry/sentry/pull/115977)
- (auth) Verify primary email on password reset by @michelletran-sentry in [#115651](https://github.com/getsentry/sentry/pull/115651)
- (autofix) Prevent loading spinner clip in artifact loading card by @priscilawebdev in [#115988](https://github.com/getsentry/sentry/pull/115988)
- (billing) Added fix to convert snuba sentry enum to the proto enum for usage stats by @krithikravi in [#115856](https://github.com/getsentry/sentry/pull/115856)
- (code-mapping) Update codeowners GET endpoint and tests in [#116309](https://github.com/getsentry/sentry/pull/116309)
- (codeblock) Improve nested scroll by @natemoo-re in [#115839](https://github.com/getsentry/sentry/pull/115839)
- (crons) De-flake "prefills with an existing monitor" test by @priscilawebdev in [#115782](https://github.com/getsentry/sentry/pull/115782)
- (cross-events) Correct styling based off date selection by @nsdeschenes in [#116124](https://github.com/getsentry/sentry/pull/116124)
- (cursored-scheduler) Recalculate batch size on tick interval change by @roggenkemper in [#115888](https://github.com/getsentry/sentry/pull/115888)
- (data_export) Cap export row limit at 10k for all callers by @manessaraj in [#116048](https://github.com/getsentry/sentry/pull/116048)
- (escalating) Register issue_velocity referrer in Referrer enum by @cvxluo in [#115812](https://github.com/getsentry/sentry/pull/115812)
- (feedback) Downgrade log level for insufficient feedback count in [#116247](https://github.com/getsentry/sentry/pull/116247)
- (forms) Preserve choice value types when submitting sentry app forms by @priscilawebdev in [#115869](https://github.com/getsentry/sentry/pull/115869)
- (grouping) Parameterize error message fingerprint variables by @lobsterkatie in [#115496](https://github.com/getsentry/sentry/pull/115496)
- (issue search) Fix invalid search query error message for device classes in [#116243](https://github.com/getsentry/sentry/pull/116243)
- (issue-detection) Add plural KBLayouts_iPhone.dat to FileIO ignore list by @roggenkemper in [#116182](https://github.com/getsentry/sentry/pull/116182)
- (jira) Bind JWT iss to body clientKey on install webhook by @michelletran-sentry in [#114225](https://github.com/getsentry/sentry/pull/114225)
- (kafkapublisher) Leaks memory: rdkafka stats grow without poll() in [#116123](https://github.com/getsentry/sentry/pull/116123)
- (members) Scope invite-request role updates to caller's allowed roles by @oioki in [#115807](https://github.com/getsentry/sentry/pull/115807)
- (migrations) Get rid of progress bar by @ceorourke in [#115691](https://github.com/getsentry/sentry/pull/115691)
- (mypy) Fix import location by @kcons in [#115654](https://github.com/getsentry/sentry/pull/115654)
- (ourlogs) Reset column sort to default on third click by @JoshuaKGoldberg in [#115751](https://github.com/getsentry/sentry/pull/115751)
- (pageFilters) Clear shift-click anchor on empty selection by @priscilawebdev in [#115472](https://github.com/getsentry/sentry/pull/115472)
- (profiles) Indicate invalid page URL state as error by @JoshuaKGoldberg in [#115897](https://github.com/getsentry/sentry/pull/115897)
- (profiling) Render single-sample continuous profile chunks in [#116234](https://github.com/getsentry/sentry/pull/116234)
- (rate-limit) Tighten rate limits on test notification endpoints by @nora-shap in [#115613](https://github.com/getsentry/sentry/pull/115613)
- (ratelimits) Handle AnonymousUser missing is_sentry_app attribute in [#116251](https://github.com/getsentry/sentry/pull/116251)
- (relay) Make trustedRelays optional on Organization type by @TkDodo in [#116014](https://github.com/getsentry/sentry/pull/116014)
- (releases) Pass Environment objects to get_latest_release by @mrduncan in [#115637](https://github.com/getsentry/sentry/pull/115637)
- (repositories) Fix deletion ordering for ProjectRepository children by @wedamija in [#115739](https://github.com/getsentry/sentry/pull/115739)
- (security) Add project-level access check to GroupEventJsonView by @roggenkemper in [#116184](https://github.com/getsentry/sentry/pull/116184)
- (self-hosted) Avoid install wizard mail TLS/SSL immutable errors by @aldy505 in [#114011](https://github.com/getsentry/sentry/pull/114011)
- (static) Add missing nonce attribute on app.js preload link by @oioki in [#115984](https://github.com/getsentry/sentry/pull/115984)
- (supergroups) Move to post process task in [#116195](https://github.com/getsentry/sentry/pull/116195)
- (tabs) Stop tooltips in overflowMenuItems from crashing the page by @TkDodo in [#115993](https://github.com/getsentry/sentry/pull/115993)
- (traces) Handle deleted groups in trace endpoint in [#116248](https://github.com/getsentry/sentry/pull/116248)
- (web) Redirect /scraps to stories by @priscilawebdev in [#115776](https://github.com/getsentry/sentry/pull/115776)
- (webauthn) Handle missing WebAuthn challenge data in [#116167](https://github.com/getsentry/sentry/pull/116167)
- (webhooks) Route sentry app actions through send_alert_webhook_v2 in new path in [#115975](https://github.com/getsentry/sentry/pull/115975)
- (workflow) Use Group cache in get_group_to_groupevent by @kcons in [#115960](https://github.com/getsentry/sentry/pull/115960)
- (workflows) Filter out workflows from other organizations in [#116075](https://github.com/getsentry/sentry/pull/116075)
- Add catch-all path to explore route and redirect to index by @adrianviquez in [#116066](https://github.com/getsentry/sentry/pull/116066)
- Revert "fix(ourlogs): stabilized column widths during scrolling (#115389)" by @getsentry-bot in [84d0139e](https://github.com/getsentry/sentry/commit/84d0139e1cc325da0c0e75380bc7dc3099c5f400)

### Documentation 📚

- (replays) Fix OpenAPI schema/example for replay details response by @JoshFerge in [#115752](https://github.com/getsentry/sentry/pull/115752)
- (scraps) Render to HTML pattern by @natemoo-re in [#115943](https://github.com/getsentry/sentry/pull/115943)
- (snapshots) Add public OpenAPI documentation for snapshot endpoints in [#116231](https://github.com/getsentry/sentry/pull/116231)

### Internal Changes 🔧

#### Admin

- Migrate forkCustomer off browserHistory by @evanpurkhiser in [#115915](https://github.com/getsentry/sentry/pull/115915)
- Drop browserHistory and HOCs from ResultGrid by @evanpurkhiser in [#115908](https://github.com/getsentry/sentry/pull/115908)

#### Alerts

- Clean up usage of AlertRuleSerializerResponse in [#116218](https://github.com/getsentry/sentry/pull/116218)
- Remove AlertRuleSerializer in [#116052](https://github.com/getsentry/sentry/pull/116052)
- Remove PUT and POST legacy paths for metric alerts by @ceorourke in [#116017](https://github.com/getsentry/sentry/pull/116017)
- Fully remove metric alert columns on NotificationMessage by @ceorourke in [#116025](https://github.com/getsentry/sentry/pull/116025)
- Remove legacy issue alert delete endpoint code by @ceorourke in [#115954](https://github.com/getsentry/sentry/pull/115954)
- Add index on date_added, soft remove metric alert colu… by @ceorourke in [#115823](https://github.com/getsentry/sentry/pull/115823)
- Remove legacy issue alert GET endpoint code by @ceorourke in [#115948](https://github.com/getsentry/sentry/pull/115948)
- Migrate issue rule editor off browserHistory by @evanpurkhiser in [#115924](https://github.com/getsentry/sentry/pull/115924)
- Remove legacy metric alerts code by @ceorourke in [#115865](https://github.com/getsentry/sentry/pull/115865)
- Remove incident serializer usages by @ceorourke in [#115845](https://github.com/getsentry/sentry/pull/115845)
- Remove legacy metric alert handlers by @ceorourke in [#115850](https://github.com/getsentry/sentry/pull/115850)
- Remove metric alert columns on NotificationMessage by @ceorourke in [#115578](https://github.com/getsentry/sentry/pull/115578)
- Replace AlertStore with GlobalAlertProvider + useGlobalAlerts by @evanpurkhiser in [#115315](https://github.com/getsentry/sentry/pull/115315)
- Clean up old metric alert rows in NotificationMessage by @ceorourke in [#115647](https://github.com/getsentry/sentry/pull/115647)
- Remove unused team alerts endpoints by @ceorourke in [#115339](https://github.com/getsentry/sentry/pull/115339)
- Remove team alerts triggered modal by @ceorourke in [#115336](https://github.com/getsentry/sentry/pull/115336)

#### Api

- Type nullable fields in the base group serializer by @cvxluo in [#116068](https://github.com/getsentry/sentry/pull/116068)
- Move `GroupEventDetailsResponse` to event serializer module by @cvxluo in [#116058](https://github.com/getsentry/sentry/pull/116058)
- Resolve suggested_api from Django route names by @strongs in [#115907](https://github.com/getsentry/sentry/pull/115907)
- Migrate auth-error navigation off browserHistory by @evanpurkhiser in [#115935](https://github.com/getsentry/sentry/pull/115935)
- Move to_valid_int_id to a more central location by @kcons in [#115581](https://github.com/getsentry/sentry/pull/115581)

#### Apigw

- Add `abort_with_json` as an util, allow config httpx client limits by @gi0baro in [#116037](https://github.com/getsentry/sentry/pull/116037)
- Enhance proxy implementation by @gi0baro in [#115892](https://github.com/getsentry/sentry/pull/115892)

#### Autofix

- Remove SCM requirement from autofix in [#116206](https://github.com/getsentry/sentry/pull/116206)
- Remove legacy autofix path from GroupAutofixEndpoint by @chromy in [#116164](https://github.com/getsentry/sentry/pull/116164)
- Always use explorer mode in GroupAutofixEndpoint by @chromy in [#116162](https://github.com/getsentry/sentry/pull/116162)
- Remove old useAutofixData hook by @Zylphrex in [#116103](https://github.com/getsentry/sentry/pull/116103)
- Remove intelligence level from group ai autofix endpoint by @Zylphrex in [#116145](https://github.com/getsentry/sentry/pull/116145)
- Add log for autofix introspection reason by @Zylphrex in [#116132](https://github.com/getsentry/sentry/pull/116132)
- Remove unused autofix v1 UI by @Zylphrex in [#116100](https://github.com/getsentry/sentry/pull/116100)
- Use new Markdown primitive in v3 cards by @priscilawebdev in [#115879](https://github.com/getsentry/sentry/pull/115879)
- Check repo connected before starting autofix by @Zylphrex in [#115648](https://github.com/getsentry/sentry/pull/115648)

#### Conversations

- Adopt scraps primitives for 4 wrappers by @priscilawebdev in [#116082](https://github.com/getsentry/sentry/pull/116082)
- Default to 24h period in sidebar link by @obostjancic in [#115873](https://github.com/getsentry/sentry/pull/115873)

#### Dashboards

- Remove text widget flag defintion in [#116212](https://github.com/getsentry/sentry/pull/116212)
- Remove text widget flag references frontend in [#116210](https://github.com/getsentry/sentry/pull/116210)
- Remove text widget flag references backend in [#116207](https://github.com/getsentry/sentry/pull/116207)
- Migrate utils.tsx off browserHistory by @evanpurkhiser in [#115923](https://github.com/getsentry/sentry/pull/115923)
- Migrate detail.tsx off browserHistory to useNavigate by @evanpurkhiser in [#115903](https://github.com/getsentry/sentry/pull/115903)

#### Discover

- Migrate fieldRenderers off browserHistory by @evanpurkhiser in [#115938](https://github.com/getsentry/sentry/pull/115938)
- Migrate transactionsList off browserHistory by @evanpurkhiser in [#115926](https://github.com/getsentry/sentry/pull/115926)
- Migrate queryList off browserHistory by @evanpurkhiser in [#115913](https://github.com/getsentry/sentry/pull/115913)
- Migrate savedQuery off browserHistory by @evanpurkhiser in [#115912](https://github.com/getsentry/sentry/pull/115912)
- Migrate results.tsx off browserHistory by @evanpurkhiser in [#115909](https://github.com/getsentry/sentry/pull/115909)

#### Dynamic Sampling

- In per org pipeline, retrieve the project ids in config retrieval, just once by @shellmayr in [#115983](https://github.com/getsentry/sentry/pull/115983)
- Use already queried data when computing boosted release platform by @cmanallen in [#115792](https://github.com/getsentry/sentry/pull/115792)
- Rename dynamic sampling status enum by @shellmayr in [#115360](https://github.com/getsentry/sentry/pull/115360)
- Cleanup transaction based health check rule by @shellmayr in [#115471](https://github.com/getsentry/sentry/pull/115471)
- Add status for snuba timeouts by @shellmayr in [#115359](https://github.com/getsentry/sentry/pull/115359)

#### Eslint

- Turn on no-unsafe-member-access for scraps in [#116004](https://github.com/getsentry/sentry/pull/116004)
- Add curly rule to prettier config section by @sentry-junior in [#116158](https://github.com/getsentry/sentry/pull/116158)
- Enable no-unsafe-call for scraps by @TkDodo in [#115981](https://github.com/getsentry/sentry/pull/115981)
- Enable no-unsafe-arguments in scraps by @TkDodo in [#115877](https://github.com/getsentry/sentry/pull/115877)
- Enable no-unsafe-return for scraps by @TkDodo in [#115722](https://github.com/getsentry/sentry/pull/115722)

#### Flags

- Remove organizations:dashboards-drilldown-flow in [#115670](https://github.com/getsentry/sentry/pull/115670)
- Remove organizations:scoped-partner-oauth by @wedamija in [#115675](https://github.com/getsentry/sentry/pull/115675)
- Remove organizations:dashboards-import by @wedamija in [#115671](https://github.com/getsentry/sentry/pull/115671)
- Remove organizations:revoke-org-auth-on-slug-rename by @wedamija in [#114807](https://github.com/getsentry/sentry/pull/114807)
- Remove organizations:tracemetrics-alerts gates (backend) by @wedamija in [#115019](https://github.com/getsentry/sentry/pull/115019)
- Remove organizations:workflow-engine-metric-alert-group-by-creation by @wedamija in [#114805](https://github.com/getsentry/sentry/pull/114805)
- Remove organizations:ourlogs-stats, replace with `organizations:explore-dev-features` and move it to a permanent flag by @wedamija in [#115673](https://github.com/getsentry/sentry/pull/115673)
- Remove organizations:tracemetrics-alerts gates (frontend) by @wedamija in [#115018](https://github.com/getsentry/sentry/pull/115018)
- Remove organizations:performance-mep-reintroduce-histograms by @wedamija in [#115674](https://github.com/getsentry/sentry/pull/115674)
- Remove organizations:ingest-through-trusted-relays-only by @wedamija in [#115682](https://github.com/getsentry/sentry/pull/115682)
- Remove organizations:pr-page by @wedamija in [#115686](https://github.com/getsentry/sentry/pull/115686)
- Remove organizations:performance-remove-metrics-compatibility-fallback by @wedamija in [#115684](https://github.com/getsentry/sentry/pull/115684)
- Remove organizations:performance-transaction-name-only-search by @wedamija in [#115685](https://github.com/getsentry/sentry/pull/115685)
- Remove organizations:starfish-mobile-ui-module by @wedamija in [#115687](https://github.com/getsentry/sentry/pull/115687)
- Move organizations:init-sentry-toolbar to permanent by @wedamija in [#115862](https://github.com/getsentry/sentry/pull/115862)
- Remove organizations:on-demand-metrics-extraction-experimental by @wedamija in [#115683](https://github.com/getsentry/sentry/pull/115683)
- Remove organizations:view-hierarchies-options-dev by @wedamija in [#115678](https://github.com/getsentry/sentry/pull/115678)
- Remove organizations:issues-suspect-tags by @wedamija in [#115680](https://github.com/getsentry/sentry/pull/115680)
- Remove organizations:performance-spans-fields-stats by @wedamija in [#115679](https://github.com/getsentry/sentry/pull/115679)
- Remove organizations:update-action-status by @wedamija in [#115676](https://github.com/getsentry/sentry/pull/115676)
- Remove organizations:sentry-app-webhook-requests by @wedamija in [#114813](https://github.com/getsentry/sentry/pull/114813)

#### Forms

- Migrate projectFiltersSettings to scraps form system by @TkDodo in [#115783](https://github.com/getsentry/sentry/pull/115783)
- Migrate highlights settings by @priscilawebdev in [#115778](https://github.com/getsentry/sentry/pull/115778)
- Migrate early features settings by @priscilawebdev in [#115777](https://github.com/getsentry/sentry/pull/115777)
- Migrate keyRateLimitsForm off legacy Form by @priscilawebdev in [#115265](https://github.com/getsentry/sentry/pull/115265)
- Migrate addCodeOwnerModal off legacy Form by @priscilawebdev in [#115256](https://github.com/getsentry/sentry/pull/115256)

#### Instrumentation Issues

- Remove issue type config and types by @ArthurKnaus in [#115718](https://github.com/getsentry/sentry/pull/115718)
- Remove fix section UI by @ArthurKnaus in [#115717](https://github.com/getsentry/sentry/pull/115717)
- Remove nav entries and route by @ArthurKnaus in [#115715](https://github.com/getsentry/sentry/pull/115715)

#### Issues

- Use standard logging pattern in group details endpoint in [#116262](https://github.com/getsentry/sentry/pull/116262)
- Remove redundant check on `event_id` in [#116261](https://github.com/getsentry/sentry/pull/116261)
- Indicate duration when "Since First Seen" is selected in [#115533](https://github.com/getsentry/sentry/pull/115533)
- Remove grouping store by @scttcper in [#115970](https://github.com/getsentry/sentry/pull/115970)
- Remove the option gating custom tag resolver logic by @shashjar in [#116024](https://github.com/getsentry/sentry/pull/116024)
- Add multiple property to select field schema by @amy-chen23 in [#115814](https://github.com/getsentry/sentry/pull/115814)
- Prevent assigning issues to deactivated users by @amy-chen23 in [#115668](https://github.com/getsentry/sentry/pull/115668)
- Update frontend types after removing unnecessary issue activity metadata for Seer actions by @shashjar in [#115734](https://github.com/getsentry/sentry/pull/115734)
- Remove unnecessary structured metadata under issue activities for Seer actions by @shashjar in [#115732](https://github.com/getsentry/sentry/pull/115732)
- Remove stray `use_flagpole_for_all_features` usage by @lobsterkatie in [#115537](https://github.com/getsentry/sentry/pull/115537)

#### Jest

- Mark flaky jest tests - 2026-05-25 by @cursor in [#116121](https://github.com/getsentry/sentry/pull/116121)
- Mark flaky jest tests - 2026-05-18 by @cursor in [#115729](https://github.com/getsentry/sentry/pull/115729)

#### Onboarding

- Convert CreateSampleEventButton to functional component by @ryan953 in [#115830](https://github.com/getsentry/sentry/pull/115830)
- Adopt useModal in onboarding flows by @evanpurkhiser in [#115127](https://github.com/getsentry/sentry/pull/115127)

#### Ourlogs

- Remove `expanded` and window virtualizer from LogsInfiniteTable by @JoshuaKGoldberg in [#115884](https://github.com/getsentry/sentry/pull/115884)
- Remove ourlogs-table-expando flag backend code by @JoshuaKGoldberg in [#115794](https://github.com/getsentry/sentry/pull/115794)
- Remove ourlogs-table-expando flag frontend code by @JoshuaKGoldberg in [#115793](https://github.com/getsentry/sentry/pull/115793)

#### Preprod

- Simplify project filtering in latest base snapshot endpoint in [#116237](https://github.com/getsentry/sentry/pull/116237)
- Optimize snapshot download with connection reuse and progressive streaming by @NicoHinderling in [#116051](https://github.com/getsentry/sentry/pull/116051)
- Use TimeToIdle instead of TimeToLive for upload expiration by @NicoHinderling in [#116033](https://github.com/getsentry/sentry/pull/116033)
- Virtualize snapshot sidebar for 40k image builds by @NicoHinderling in [#115836](https://github.com/getsentry/sentry/pull/115836)
- Replace snapshot status badges with plain text by @mtopo27 in [#115659](https://github.com/getsentry/sentry/pull/115659)
- Remove deprecated snapshot detail TS types and update debug modal by @mtopo27 in [#115653](https://github.com/getsentry/sentry/pull/115653)
- Remove deprecated comparison_run_info and approval_info from snapshot detail API by @mtopo27 in [#115652](https://github.com/getsentry/sentry/pull/115652)

#### Replays

- Remove unused data export notifications endpoint in [#116232](https://github.com/getsentry/sentry/pull/116232)
- Replace useFetchSequentialPages with useInfiniteQuery by @ryan953 in [#116115](https://github.com/getsentry/sentry/pull/116115)
- Use shared platform icon resolver by @priscilawebdev in [#115705](https://github.com/getsentry/sentry/pull/115705)

#### Repositories

- Simplify ProjectRepoLink serializer and make url better by @wedamija in [#115826](https://github.com/getsentry/sentry/pull/115826)
- Drop old project/repository columns by @wedamija in [#115741](https://github.com/getsentry/sentry/pull/115741)
- Remove `project` and `repo` columns from `SeerProjectRepository` and `RepositoryProjectPathConfig` by @wedamija in [#115663](https://github.com/getsentry/sentry/pull/115663)
- Add unique index on `repository_project` columns by @wedamija in [#115662](https://github.com/getsentry/sentry/pull/115662)
- Remove feature flag branching for RepositoryProjectPathConfig reads by @wedamija in [#115607](https://github.com/getsentry/sentry/pull/115607)
- Remove feature flag branching for SeerProjectRepository reads by @wedamija in [#115606](https://github.com/getsentry/sentry/pull/115606)

#### Scm

- Merge integration-proxy endpoints by @cmanallen in [#116028](https://github.com/getsentry/sentry/pull/116028)
- Add quota policy for GitHub API requests by @cmanallen in [#115657](https://github.com/getsentry/sentry/pull/115657)

#### Seer

- Move agent access check from entrypoint to operator in [#116143](https://github.com/getsentry/sentry/pull/116143)
- Use `elif` instead of `if` in actionability filter logic for clarity in [#116203](https://github.com/getsentry/sentry/pull/116203)
- Remove seer-slack-workflows and seer-slack-explorer flags in [#116140](https://github.com/getsentry/sentry/pull/116140)
- Simplify block component states by @natemoo-re in [#115589](https://github.com/getsentry/sentry/pull/115589)
- Persist Seer Explorer input draft per run by @aliu39 in [#115919](https://github.com/getsentry/sentry/pull/115919)
- Replace chat history dropdown with searchable CompactSelect by @JonasBa in [#115843](https://github.com/getsentry/sentry/pull/115843)
- Rm severity group-seer option by @kddubey in [#115768](https://github.com/getsentry/sentry/pull/115768)
- Rm severity conditional routing by @kddubey in [#115765](https://github.com/getsentry/sentry/pull/115765)
- Option to route severity to group-seer by @kddubey in [#115702](https://github.com/getsentry/sentry/pull/115702)

#### Settings

- Update `action` prop and remove `hasPageFrame` by @natemoo-re in [#115815](https://github.com/getsentry/sentry/pull/115815)
- Update breadcrumbTitle spec for routes prop removal by @ryan953 in [#115866](https://github.com/getsentry/sentry/pull/115866)
- Move routes from prop to useRoutes() in BreadcrumbTitle by @ryan953 in [#115766](https://github.com/getsentry/sentry/pull/115766)
- Convert OrganizationAccessRequests to function component with fetchMutation by @ryan953 in [#115813](https://github.com/getsentry/sentry/pull/115813)
- Replace billing navigation config with a react-hook by @evanpurkhiser in [#115808](https://github.com/getsentry/sentry/pull/115808)

#### Slack

- Remove widget unfurl feature flags by @DominikB2014 in [#116128](https://github.com/getsentry/sentry/pull/116128)
- Move ephemeral message sending to workspace module by @leeandher in [#115586](https://github.com/getsentry/sentry/pull/115586)

#### Snuba

- Port query subscriptions consumer to taskbroker raw mode in [#116288](https://github.com/getsentry/sentry/pull/116288)
- Update tests for removal of boolean double-writing in [#111421](https://github.com/getsentry/sentry/pull/111421)
- Stop dropping deprecated spans dataset in reset_snuba by @phacops in [#115973](https://github.com/getsentry/sentry/pull/115973)
- Add exception type for snuba timeouts by @shellmayr in [#115362](https://github.com/getsentry/sentry/pull/115362)

#### Spans

- Remove tests for deprecated standalone spans storage in [#116147](https://github.com/getsentry/sentry/pull/116147)
- Extract flush_segment pipeline helpers by @lvthanh03 in [#116149](https://github.com/getsentry/sentry/pull/116149)
- Split load_segment_data into helper steps by @lvthanh03 in [#116136](https://github.com/getsentry/sentry/pull/116136)
- Split process_spans into typed pipeline steps by @lvthanh03 in [#115858](https://github.com/getsentry/sentry/pull/115858)
- Add back cumulative flusher log and flushed segments log by @lvthanh03 in [#116015](https://github.com/getsentry/sentry/pull/116015)
- Extract span buffer observability models by @lvthanh03 in [#115849](https://github.com/getsentry/sentry/pull/115849)
- Remove unused dropped_segments logic and zrem cleanup option by @lvthanh03 in [#115806](https://github.com/getsentry/sentry/pull/115806)
- Add isolated load segment data coverage by @lvthanh03 in [#115804](https://github.com/getsentry/sentry/pull/115804)
- Add add-buffer Lua script tests by @lvthanh03 in [#115801](https://github.com/getsentry/sentry/pull/115801)

#### Ts

- Remove RouteComponent by @evanpurkhiser in [#115999](https://github.com/getsentry/sentry/pull/115999)
- Remove unused RouteContextInterface type by @evanpurkhiser in [#115996](https://github.com/getsentry/sentry/pull/115996)

#### Typing

- Remove `tests.sentry.api.helpers.test_group_index` from mypy ignore list in [#116199](https://github.com/getsentry/sentry/pull/116199)
- Remove `tests.sentry.issues.test_utils` from mypy ignore list in [#116070](https://github.com/getsentry/sentry/pull/116070)

#### Utils

- Make ParityChecker print out mismatches in a PII safe way in [#116038](https://github.com/getsentry/sentry/pull/116038)
- Various clarifications in `SafeRolloutComparator` code in [#115946](https://github.com/getsentry/sentry/pull/115946)

#### Workflow Engine

- Remove unused const in [#116230](https://github.com/getsentry/sentry/pull/116230)
- Edit flag with the correct prefix in [#116198](https://github.com/getsentry/sentry/pull/116198)

#### Other

- (✂️) Remove form leftovers by @TkDodo in [#115724](https://github.com/getsentry/sentry/pull/115724)
- (aci) Minor cleanup to delayed workflow processing by @saponifi3d in [#115758](https://github.com/getsentry/sentry/pull/115758)
- (activity) Remove duplicate call to calculate initial priority from group metadata by @shashjar in [#116067](https://github.com/getsentry/sentry/pull/116067)
- (api-docs) Add GroupDetailsResponse type, params, and example in [#116113](https://github.com/getsentry/sentry/pull/116113)
- (autopilot) Delete autopilot module and all references by @vgrozdanic in [#115466](https://github.com/getsentry/sentry/pull/115466)
- (billing) Bump sentry-protos to 0.13.0 in [#116133](https://github.com/getsentry/sentry/pull/116133)
- (billing-platform) Log requests in service methods by @brendanhsentry in [#115971](https://github.com/getsentry/sentry/pull/115971)
- (bootstrap) Parallelize locale and moment chunk fetches by @JonasBa in [#115727](https://github.com/getsentry/sentry/pull/115727)
- (cells) Remove the includeFeatureFlags query param from the org listing request by @lynnagara in [#115833](https://github.com/getsentry/sentry/pull/115833)
- (ci) Split MDX typechecking into its own gated job by @natemoo-re in [#115744](https://github.com/getsentry/sentry/pull/115744)
- (compactSelect) Remove unused onSectionToggle callback by @TkDodo in [#115809](https://github.com/getsentry/sentry/pull/115809)
- (deps) Update sentry conventions package by @nsdeschenes in [#115989](https://github.com/getsentry/sentry/pull/115989)
- (detectors) Split connected and project alerts into separate sections by @malwilley in [#115947](https://github.com/getsentry/sentry/pull/115947)
- (dynamic-ampling) Add a metric counter to see if we sometimes have implicit-factor < 1 by @constantinius in [#115834](https://github.com/getsentry/sentry/pull/115834)
- (eap) Query typed-colon attribute as boolean instead of number in [#116299](https://github.com/getsentry/sentry/pull/116299)
- (events) Migrate ContextIcon to platformicons by @priscilawebdev in [#115701](https://github.com/getsentry/sentry/pull/115701)
- (explore) Port toolTags to scraps layout primitives by @priscilawebdev in [#116160](https://github.com/getsentry/sentry/pull/116160)
- (flagpole-wildcard-ops) Adding support for not_matches op (python) by @Abdkhan14 in [#115901](https://github.com/getsentry/sentry/pull/115901)
- (github-enterprise) Use monospace font for private key field in [#116303](https://github.com/getsentry/sentry/pull/116303)
- (hooks) Replace HookStore with a plain hook registry by @evanpurkhiser in [#115811](https://github.com/getsentry/sentry/pull/115811)
- (hookStore) Change HookStore to single-value semantics by @evanpurkhiser in [#115796](https://github.com/getsentry/sentry/pull/115796)
- (integrations) Add backfill_github_external_actor.gh_api_fetch_interval_s by @hobzcalvin in [#115763](https://github.com/getsentry/sentry/pull/115763)
- (issueDetails) Collapse ParticipantList wrapper div to a Flex by @evanpurkhiser in [#116175](https://github.com/getsentry/sentry/pull/116175)
- (issueDiff) Refactor event data fetching to use useQueries in [#116042](https://github.com/getsentry/sentry/pull/116042)
- (jira) Add Forge app manifest for Connect-to-Forge migration by @BYK in [#115603](https://github.com/getsentry/sentry/pull/115603)
- (lint) Ban React.Fragment in favor of named Fragment import by @natemoo-re in [#115939](https://github.com/getsentry/sentry/pull/115939)
- (metrics) Split metric attribute tree actions by @nsdeschenes in [#115641](https://github.com/getsentry/sentry/pull/115641)
- (mypy) Rename sort_stronger_modules to sort_weaklist in [#116106](https://github.com/getsentry/sentry/pull/116106)
- (np) Refactors notification context into a new class by @GabeVillalobos in [#113495](https://github.com/getsentry/sentry/pull/113495)
- (organization-create) Drop dead browserHistory comment by @evanpurkhiser in [#115928](https://github.com/getsentry/sentry/pull/115928)
- (overrides) Finish hook → override terminology rename by @evanpurkhiser in [#115825](https://github.com/getsentry/sentry/pull/115825)
- (oxfmt) Ignore pyproject.toml by @sentry-junior in [#116181](https://github.com/getsentry/sentry/pull/116181)
- (pipeline) Use Button busy prop for advancing state by @evanpurkhiser in [#116179](https://github.com/getsentry/sentry/pull/116179)
- (plugins) Inline PluginComponentBase into its two subclasses by @ryan953 in [#116112](https://github.com/getsentry/sentry/pull/116112)
- (profiling) Rename explore/profiling URL to explore/profiles in [#115627](https://github.com/getsentry/sentry/pull/115627)
- (project-detail) Migrate projectCharts off browserHistory by @evanpurkhiser in [#115916](https://github.com/getsentry/sentry/pull/115916)
- (releases) Convert ReleaseIssues to functional component by @ryan953 in [#115698](https://github.com/getsentry/sentry/pull/115698)
- (replay) Rename Breadcrumbs tab to Activity by @DominikB2014 in [#115278](https://github.com/getsentry/sentry/pull/115278)
- (routeAnalytics) Replace HookStore persistCallback with a plain module cell by @evanpurkhiser in [#115810](https://github.com/getsentry/sentry/pull/115810)
- (saved-queries) Align list endpoint access checks with detail by @oioki in [#115379](https://github.com/getsentry/sentry/pull/115379)
- (scraps) Adopt useModal in remaining call sites by @evanpurkhiser in [#115132](https://github.com/getsentry/sentry/pull/115132)
- (search) Add EAP API attribute visibility checks in [#116091](https://github.com/getsentry/sentry/pull/116091)
- (seer-explorer) Replace useSeerExplorerRunId with chat state context by @JonasBa in [#115631](https://github.com/getsentry/sentry/pull/115631)
- (segments) Add local cache for release creation and modification by @cmanallen in [#116173](https://github.com/getsentry/sentry/pull/116173)
- (snapshots) Batch image fetches and add timeouts for snapshot download by @NicoHinderling in [#116076](https://github.com/getsentry/sentry/pull/116076)
- (source-map-processing-errors) Emitting metric irrespective of … by @Abdkhan14 in [#115661](https://github.com/getsentry/sentry/pull/115661)
- (span-buffer) Remove flusher and buffer logger options by @untitaker in [#115487](https://github.com/getsentry/sentry/pull/115487)
- (static) Add preload hint for app.js entrypoint by @JonasBa in [#115800](https://github.com/getsentry/sentry/pull/115800)
- (tasks) Remove base64 encoding for bytes parameters in tasks in [#116293](https://github.com/getsentry/sentry/pull/116293)
- (taskworker) Move devenv for profiles consumer to taskbroker in [#116194](https://github.com/getsentry/sentry/pull/116194)
- (teams) Avoid organization N+1 in team projects by @scttcper in [#115735](https://github.com/getsentry/sentry/pull/115735)
- (test) Remove router return from initializeOrg by @evanpurkhiser in [#116002](https://github.com/getsentry/sentry/pull/116002)
- (tests) Replace `as jest.Mock` casts with `jest.mocked()` by @evanpurkhiser in [#115790](https://github.com/getsentry/sentry/pull/115790)
- (trace) Migrate virtualizedViewManager off browserHistory by @evanpurkhiser in [#115927](https://github.com/getsentry/sentry/pull/115927)
- (traceDrawer) Replace local SectionDivider/VerticalLine with Scraps Separator in [#116168](https://github.com/getsentry/sentry/pull/116168)
- (types) Add mypy types for sentry.search.snuba.executors by @saponifi3d in [#114994](https://github.com/getsentry/sentry/pull/114994)
- (ui) Upgrade lodash, figma connect by @scttcper in [#115950](https://github.com/getsentry/sentry/pull/115950)
- (vercel) Add logs on failure to add project in [#116235](https://github.com/getsentry/sentry/pull/116235)
- (workflows) Avoid a query on Organization in delayed_workflow by @kcons in [#115965](https://github.com/getsentry/sentry/pull/115965)
- Instruct agents to prefer type inference over call-side generics in [#116290](https://github.com/getsentry/sentry/pull/116290)
- Add right padding to seer header copy button in [#116286](https://github.com/getsentry/sentry/pull/116286)
- Remove code coverage stacktrace insights in [#115417](https://github.com/getsentry/sentry/pull/115417)
- Remove autopilot CODEOWNERS entries by @vgrozdanic in [#116085](https://github.com/getsentry/sentry/pull/116085)
- Replace withOrganization with useOrganization in function components by @evanpurkhiser in [#115343](https://github.com/getsentry/sentry/pull/115343)
- Remove withSentryRouter HOC by @evanpurkhiser in [#115949](https://github.com/getsentry/sentry/pull/115949)
- Migrate useRouter callsites to native RR6 hooks by @evanpurkhiser in [#115945](https://github.com/getsentry/sentry/pull/115945)
- Drop unused 'unmigratable' status literal from repo query types by @evanpurkhiser in [#115906](https://github.com/getsentry/sentry/pull/115906)
- Remove unmigratable repositories code path by @evanpurkhiser in [#115905](https://github.com/getsentry/sentry/pull/115905)
- Remove OrganizationConfigRepositoriesEndpoint by @evanpurkhiser in [#115898](https://github.com/getsentry/sentry/pull/115898)
- Remove unused PUT handler from repository details endpoint by @evanpurkhiser in [#115896](https://github.com/getsentry/sentry/pull/115896)
- Bump taskbroker-client to 0.1.15 by @bmckerry in [#115799](https://github.com/getsentry/sentry/pull/115799)
- Mark legacy react-router shim hooks as deprecated by @ryan953 in [#115767](https://github.com/getsentry/sentry/pull/115767)
- Merged Jest changedSince testing into main PR Jest job by @JoshuaKGoldberg in [#115549](https://github.com/getsentry/sentry/pull/115549)
- Replace browserHistory with useNavigate in useCleanQueryParamsOnRouteLeave by @ryan953 in [#115695](https://github.com/getsentry/sentry/pull/115695)
- Remove browserHistory by inlining navigate in upgradeNowModal callers by @ryan953 in [#115755](https://github.com/getsentry/sentry/pull/115755)
- Bump platformicons to 9.5.0 by @priscilawebdev in [#115707](https://github.com/getsentry/sentry/pull/115707)
- Bump new development version by @sentry-release-bot[bot] in [7ea81f9f](https://github.com/getsentry/sentry/commit/7ea81f9fbf91748936a96fa3105058751548bb07)

### Other

- fix(relocation) Remove invalid token scopes during export in [#116214](https://github.com/getsentry/sentry/pull/116214)
- chore(relocation) Exclude Email model from relocations v2 in [#116256](https://github.com/getsentry/sentry/pull/116256)
- chore(cells) Mainline org create via control in [#116046](https://github.com/getsentry/sentry/pull/116046)
- deps: Upgrade sentry-scm to 0.16.0 in [#116215](https://github.com/getsentry/sentry/pull/116215)
- chore(relocation) Remove unused outbox handler by @markstory in [#116030](https://github.com/getsentry/sentry/pull/116030)
- fix(relocation) Fix type errors when spawning a task by @markstory in [#116130](https://github.com/getsentry/sentry/pull/116130)
- Fix category missing by @noahsmartin in [#116056](https://github.com/getsentry/sentry/pull/116056)
- chore(relocations) Add bucket_path to RelocationFile by @markstory in [#116035](https://github.com/getsentry/sentry/pull/116035)
- chore(cells) Remove rollout option for connection pooling by @markstory in [#116011](https://github.com/getsentry/sentry/pull/116011)
- fix(ci) Don't capture log messages in RPC schema generation by @markstory in [#116003](https://github.com/getsentry/sentry/pull/116003)
- fix(typing) Remove sentry.middleware.auth from the ignore list by @markstory in [#115798](https://github.com/getsentry/sentry/pull/115798)
- feat(cells) Make organization avatar URL cell compatible by @markstory in [#115689](https://github.com/getsentry/sentry/pull/115689)
- deps(ui): Upgrade Rspack to v2, 124 fewer dependencies by @scttcper in [#113795](https://github.com/getsentry/sentry/pull/113795)
- o11y(seer): Track block content copy in Seer Explorer by @aliu39 in [#115900](https://github.com/getsentry/sentry/pull/115900)
- org-scoped URL for page export by @strongs in [#115844](https://github.com/getsentry/sentry/pull/115844)
- feat(cells) Use connection pools for cell RPC operations by @markstory in [#115827](https://github.com/getsentry/sentry/pull/115827)
- lint: enable jest/prefer-jest-mocked by @evanpurkhiser in [#115791](https://github.com/getsentry/sentry/pull/115791)
- feat(cells); Add org scoping to `GroupTagExportView` by @strongs in [#115841](https://github.com/getsentry/sentry/pull/115841)
- Remove legacy code paths for the combined rule endpoint by @ceorourke in [#115750](https://github.com/getsentry/sentry/pull/115750)
- Auto-create PRs for manual Seer handoff by @JoshFerge in [#115831](https://github.com/getsentry/sentry/pull/115831)
- feat(cells) Provision new orgs through control with feature flag by @markstory in [#115600](https://github.com/getsentry/sentry/pull/115600)
- Chore org index silo metrics by @markstory in [#115664](https://github.com/getsentry/sentry/pull/115664)
- o11y(assisted-query): Track error outcomes and reasons for AI query analytics by @aliu39 in [#115699](https://github.com/getsentry/sentry/pull/115699)
- deps(ui): Upgrade jest to 30.4 by @scttcper in [#115725](https://github.com/getsentry/sentry/pull/115725)

26.5.0
------

### New Features ✨

#### Aci

- Add organizations:workflow-engine-metric-alert-endpoints-delete flag to allow deletes in the legacy API in [#115382](https://github.com/getsentry/sentry/pull/115382)
- Add deprecation headers to legacy rule endpoints in [#114080](https://github.com/getsentry/sentry/pull/114080)
- Add a warning banner for no connections on an Alert by @saponifi3d in [#114772](https://github.com/getsentry/sentry/pull/114772)

#### Agent Ui

- Track analytics event when explorer session times out by @aliu39 in [#115350](https://github.com/getsentry/sentry/pull/115350)
- Add session timeout detection by @aliu39 in [#115147](https://github.com/getsentry/sentry/pull/115147)

#### Autofix

- Add feature flag for seer-autofix-introspection by @Zylphrex in [#115503](https://github.com/getsentry/sentry/pull/115503)
- Support coding agents from plan step by @Zylphrex in [#115335](https://github.com/getsentry/sentry/pull/115335)
- Link read_file to exact line if available by @Zylphrex in [#115292](https://github.com/getsentry/sentry/pull/115292)
- Add high-level autofix settings update helper in [#115037](https://github.com/getsentry/sentry/pull/115037)
- Disable rethink when textarea empty by @aliu39 in [#112896](https://github.com/getsentry/sentry/pull/112896)
- Better autoscroll on autofix drawer by @Zylphrex in [#114869](https://github.com/getsentry/sentry/pull/114869)

#### Cells

- Populate org listing fields on control serializer by @lynnagara in [#115513](https://github.com/getsentry/sentry/pull/115513)
- Remove legacy organization invite path by @lynnagara in [#115198](https://github.com/getsentry/sentry/pull/115198)
- Remove features from the org listing endpoint by @lynnagara in [#115007](https://github.com/getsentry/sentry/pull/115007)
- Remove features from organization summary by @lynnagara in [#115000](https://github.com/getsentry/sentry/pull/115000)
- Drop deprecated requireEmailVerification field by @lynnagara in [#115003](https://github.com/getsentry/sentry/pull/115003)
- Start replicating organization avatar by @lynnagara in [#114999](https://github.com/getsentry/sentry/pull/114999)
- Replicate OrganizationAvatar to OrganizationAvatarReplica via outbox in [#114781](https://github.com/getsentry/sentry/pull/114781)

#### Cmdk

- Default to keepPreviousData in cmdkQueryOptions in [#115085](https://github.com/getsentry/sentry/pull/115085)
- Add webhooks keyword to Custom Integrations action by @JonasBa in [#114974](https://github.com/getsentry/sentry/pull/114974)

#### Codeowners

- Support excluding subdirectories via no-owner rules in [#115322](https://github.com/getsentry/sentry/pull/115322)
- Display exclusion rules in ownership rules table in [#115391](https://github.com/getsentry/sentry/pull/115391)

#### Dashboards

- Repair MCP dashboard widget filters in [#115543](https://github.com/getsentry/sentry/pull/115543)
- Render widget thresholds in Slack unfurl chartcuterie chart in [#115384](https://github.com/getsentry/sentry/pull/115384)
- Use widget-aware chart type for Slack unfurl in [#115313](https://github.com/getsentry/sentry/pull/115313)
- Add widget-aware chartcuterie chart type by @DominikB2014 in [#115312](https://github.com/getsentry/sentry/pull/115312)
- Avoid issue assignee row fetches by @scttcper in [#115296](https://github.com/getsentry/sentry/pull/115296)
- Suggest Sentry Built dashboards in empty custom state by @DominikB2014 in [#115104](https://github.com/getsentry/sentry/pull/115104)
- Create HeatMapWidgetVisualization component by @gggritso in [#114916](https://github.com/getsentry/sentry/pull/114916)
- Add `app.vitals.*` support to mobile vitals dashboards by @buenaflor in [#113046](https://github.com/getsentry/sentry/pull/113046)
- Add All Dashboards tab and rename existing to Custom by @DominikB2014 in [#114904](https://github.com/getsentry/sentry/pull/114904)

#### Dynamic Sampling

- Add query chunking iterator by @shellmayr in [#115063](https://github.com/getsentry/sentry/pull/115063)
- Use config in per-org pipeline in [#114850](https://github.com/getsentry/sentry/pull/114850)

#### Explore

- Heat map tooltip surfaces z-axis value alongside y-axis bucket in [#115560](https://github.com/getsentry/sentry/pull/115560)
- Enable heat map tooltips on click in [#115413](https://github.com/getsentry/sentry/pull/115413)
- Hide arrays behind feature flag to avoid any production failures by @manessaraj in [#115295](https://github.com/getsentry/sentry/pull/115295)
- Support array-includes query syntax (`field[*]:value`) by @manessaraj in [#115070](https://github.com/getsentry/sentry/pull/115070)
- Raise top events color max from 5 to 9 by @JoshuaKGoldberg in [#114890](https://github.com/getsentry/sentry/pull/114890)

#### Forms

- Migrate Sentry App schema forms behind a flag by @priscilawebdev in [#114953](https://github.com/getsentry/sentry/pull/114953)
- Expose a unified form.ResetButton in [#115072](https://github.com/getsentry/sentry/pull/115072)
- Add sentry-app-schema-form-migration flag in [#114945](https://github.com/getsentry/sentry/pull/114945)

#### Heatmap

- Add log axis by @wmak in [#115068](https://github.com/getsentry/sentry/pull/115068)
- Add heatmap endpoint by @wmak in [#114780](https://github.com/getsentry/sentry/pull/114780)

#### Issues

- Implement UI for new Seer actions included in issue activity by @shashjar in [#115525](https://github.com/getsentry/sentry/pull/115525)
- GA new stack trace frontend by @scttcper in [#115520](https://github.com/getsentry/sentry/pull/115520)
- Record Seer events for display in the issue activity timeline by @shashjar in [#115486](https://github.com/getsentry/sentry/pull/115486)
- Add structured LLM context to saved issue views route by @Mihir-Mavalankar in [#115438](https://github.com/getsentry/sentry/pull/115438)
- Add more samples links to Slow DB Query evidence by @scttcper in [#114938](https://github.com/getsentry/sentry/pull/114938)
- Clean up empty state project lookup by @scttcper in [#114652](https://github.com/getsentry/sentry/pull/114652)

#### Iswf

- Updates retry ignore/silence lists for Sentry App tasks by @GabeVillalobos in [#115005](https://github.com/getsentry/sentry/pull/115005)
- Removes retry decorator from workflow_engine tasks by @GabeVillalobos in [#114937](https://github.com/getsentry/sentry/pull/114937)
- Bumps version for taskbroker-client, updates instrumented_task decorator by @GabeVillalobos in [#114936](https://github.com/getsentry/sentry/pull/114936)

#### Logs

- Add copy link action to logs table row cell menus by @JonasBa in [#115221](https://github.com/getsentry/sentry/pull/115221)
- Update backend instrumentation for sync export path by @manessaraj in [#114891](https://github.com/getsentry/sentry/pull/114891)

#### Onboarding

- Add stream_gen_ai_spans to Python agent monitoring init options in [#115470](https://github.com/getsentry/sentry/pull/115470)
- Add streamGenAiSpans to JS agent monitoring init options by @obostjancic in [#115371](https://github.com/getsentry/sentry/pull/115371)
- Add platformProductInfo.generated.ts for SCM info-only platforms by @jaydgoss in [#115092](https://github.com/getsentry/sentry/pull/115092)
- Add platformProductInfo codegen script by @jaydgoss in [#115177](https://github.com/getsentry/sentry/pull/115177)

#### Otlp

- The OTLP endpoints are GA in [#115049](https://github.com/getsentry/sentry/pull/115049)
- The OTLP endpoints are GA (FE) by @Dav1dde in [#115051](https://github.com/getsentry/sentry/pull/115051)

#### Ourlogs

- Increase infinite query timeouts to 15s with increasing 30s continuations by @JoshuaKGoldberg in [#113999](https://github.com/getsentry/sentry/pull/113999)
- Add ourlogs-schema-hints-removal feature flag in [#115108](https://github.com/getsentry/sentry/pull/115108)
- Remove schema hints behind feature flag / query parameter in [#115109](https://github.com/getsentry/sentry/pull/115109)
- Add ourlogs-pinning flag by @JoshuaKGoldberg in [#115073](https://github.com/getsentry/sentry/pull/115073)
- Bump export modal select default value from 100 to 500 for release to GA by @JoshuaKGoldberg in [#115008](https://github.com/getsentry/sentry/pull/115008)

#### Preprod

- Wire up snapshot_status search field in frontend in [#115596](https://github.com/getsentry/sentry/pull/115596)
- Add snapshot_status search field with comparison state filters in [#115580](https://github.com/getsentry/sentry/pull/115580)
- Make snapshot image detail endpoint comparison-aware by @NicoHinderling in [#115572](https://github.com/getsentry/sentry/pull/115572)
- Handle no_base_build comparison state in snapshot table by @mtopo27 in [#115562](https://github.com/getsentry/sentry/pull/115562)
- Add latest-base snapshot lookup endpoint by @NicoHinderling in [#115498](https://github.com/getsentry/sentry/pull/115498)
- Add single-image metadata endpoint for snapshots by @NicoHinderling in [#115495](https://github.com/getsentry/sentry/pull/115495)
- Add compact_metadata param to snapshot details endpoint by @NicoHinderling in [#115494](https://github.com/getsentry/sentry/pull/115494)
- Add PR comments for snapshot base-build edge cases by @NicoHinderling in [#115460](https://github.com/getsentry/sentry/pull/115460)
- Add Snapshot Settings link to snapshot details menu by @mtopo27 in [#115481](https://github.com/getsentry/sentry/pull/115481)
- Add auto_approved status to snapshot UI by @mtopo27 in [#115388](https://github.com/getsentry/sentry/pull/115388)
- Add grace period before failing status check for missing base by @NicoHinderling in [#115448](https://github.com/getsentry/sentry/pull/115448)
- Add auto_approved status to snapshot approval in [#115291](https://github.com/getsentry/sentry/pull/115291)
- Add timeout warning for image optimization insights by @NicoHinderling in [#115216](https://github.com/getsentry/sentry/pull/115216)
- Add description and tags fields to ImageMetadata by @NicoHinderling in [#115220](https://github.com/getsentry/sentry/pull/115220)
- Add CSV download to size compare items changed table by @mtopo27 in [#115202](https://github.com/getsentry/sentry/pull/115202)
- Add logging when builds are filtered out by quota or project settings by @NicoHinderling in [#115195](https://github.com/getsentry/sentry/pull/115195)
- Add per-category controls for snapshot PR comments UI in [#114838](https://github.com/getsentry/sentry/pull/114838)

#### Repos

- Add sync now button and polling logic in repos v2 by @evanpurkhiser in [#114998](https://github.com/getsentry/sentry/pull/114998)
- Move sync status from footer into per-install repository count tag by @evanpurkhiser in [#114865](https://github.com/getsentry/sentry/pull/114865)
- Add installation settings button and drawer in repos v2 by @evanpurkhiser in [#114792](https://github.com/getsentry/sentry/pull/114792)

#### Seer

- Populate SeerAgentRun alongside SeerRun in agent client in [#115601](https://github.com/getsentry/sentry/pull/115601)
- Add GitLab support to seer preferences endpoint in [#115424](https://github.com/getsentry/sentry/pull/115424)
- Add Seer plan flags to structured context check by @Mihir-Mavalankar in [#115571](https://github.com/getsentry/sentry/pull/115571)
- Pass api.web referrer from autofix UI by @chromy in [#115546](https://github.com/getsentry/sentry/pull/115546)
- Add reaction_added webhook handler for Seer agent feedback by @leeandher in [#115490](https://github.com/getsentry/sentry/pull/115490)
- Add CLI, Linear agent, and MCP autofix referrers by @chromy in [#115514](https://github.com/getsentry/sentry/pull/115514)
- Accept referrer input on GroupAutofixEndpoint by @chromy in [#115497](https://github.com/getsentry/sentry/pull/115497)
- Expose replay search RPC by @JoshFerge in [#115500](https://github.com/getsentry/sentry/pull/115500)
- Wire explorer chat write site through SeerRun outbox by @trevor-e in [#115231](https://github.com/getsentry/sentry/pull/115231)
- Wire legacy autofix write site through SeerRun outbox by @trevor-e in [#115228](https://github.com/getsentry/sentry/pull/115228)
- Add outbox receiver for SeerRun creation by @trevor-e in [#115111](https://github.com/getsentry/sentry/pull/115111)
- Enable context engine for all Seer plan orgs in explorer in [#115452](https://github.com/getsentry/sentry/pull/115452)
- Add structured LLM context for logs and releases pages by @Mihir-Mavalankar in [#115293](https://github.com/getsentry/sentry/pull/115293)
- Add feature flag to enable Code Mode for Slack Explorer by @azulus in [#115233](https://github.com/getsentry/sentry/pull/115233)
- Add structured LLM context for issue taxonomy pages in [#115153](https://github.com/getsentry/sentry/pull/115153)
- Copy changes and fixup links between pages by @ryan953 in [#114918](https://github.com/getsentry/sentry/pull/114918)
- Make the Autofix settings open in a drawer from the org settings page by @ryan953 in [#114933](https://github.com/getsentry/sentry/pull/114933)
- Create Seer sub-nav items, and SCM requirement interstitial by @ryan953 in [#114896](https://github.com/getsentry/sentry/pull/114896)
- Suppress re-triage of skipped issues in night shift by @trevor-e in [#114915](https://github.com/getsentry/sentry/pull/114915)
- Add event-specific LLM context hint for issue event route by @Mihir-Mavalankar in [#114926](https://github.com/getsentry/sentry/pull/114926)
- Add check for `seer-gitlab-support` in the `/seer/onboarding-check/` endpoint by @ryan953 in [#113851](https://github.com/getsentry/sentry/pull/113851)
- Move seer default settings into flyout panels & rm overview page by @ryan953 in [#114599](https://github.com/getsentry/sentry/pull/114599)
- Add check for `seer-gitlab-support` to billing/subscription screens by @ryan953 in [#113855](https://github.com/getsentry/sentry/pull/113855)
- Add check for `seer-gitlab-support` to the seer config reminder by @ryan953 in [#113852](https://github.com/getsentry/sentry/pull/113852)

#### Sentry Apps

- Use RPC recipient resolution in webhook disable notifications by @Christinarlong in [#115157](https://github.com/getsentry/sentry/pull/115157)
- Validate org membership before sending webhook disable emails in [#114799](https://github.com/getsentry/sentry/pull/114799)
- Add disable/enable toggle to \_admin sentry app details by @Christinarlong in [#114910](https://github.com/getsentry/sentry/pull/114910)
- Skip webhook dispatch for disabled sentry apps by @Christinarlong in [#114620](https://github.com/getsentry/sentry/pull/114620)
- Allow staff to toggle is_disabled via existing CRUD endpoint by @Christinarlong in [#114777](https://github.com/getsentry/sentry/pull/114777)

#### Settings

- Convert project environments table to FC by @scttcper in [#115493](https://github.com/getsentry/sentry/pull/115493)
- Remove withProject in [#114587](https://github.com/getsentry/sentry/pull/114587)

#### Slack

- Update Seer linking message after identity link by @alexsohn1126 in [#114752](https://github.com/getsentry/sentry/pull/114752)
- Default Explore unfurl interval to match frontend by @DominikB2014 in [#114867](https://github.com/getsentry/sentry/pull/114867)

#### Snapshots

- Move snapshot endpoints into their own subfolder by @NicoHinderling in [#115501](https://github.com/getsentry/sentry/pull/115501)
- Add success logs for PR comments and status checks in [#115437](https://github.com/getsentry/sentry/pull/115437)
- Add frontend logic for downloading images zip by @NicoHinderling in [#115338](https://github.com/getsentry/sentry/pull/115338)
- Add endpoint for downloading images zip by @NicoHinderling in [#115337](https://github.com/getsentry/sentry/pull/115337)
- Add context.test_file_path to snapshot JSON metadata by @mtopo27 in [#115112](https://github.com/getsentry/sentry/pull/115112)

#### Spans

- Add duplicate span detection metrics to process-segments consumer by @untitaker in [#115190](https://github.com/getsentry/sentry/pull/115190)
- Add opt-in logging for flushed segments by @untitaker in [#114989](https://github.com/getsentry/sentry/pull/114989)
- Add semantic partitioning option for segments consumer by @untitaker in [#114992](https://github.com/getsentry/sentry/pull/114992)

#### Trace Waterfall

- Updates to useTraceMeta by @nsdeschenes in [#115179](https://github.com/getsentry/sentry/pull/115179)
- Add links to cross event from logs and metrics by @nsdeschenes in [#114852](https://github.com/getsentry/sentry/pull/114852)

#### Ui

- Add keywords for theme switching in Command Palette in [#114970](https://github.com/getsentry/sentry/pull/114970)
- Replace MemberListStore with React Query in [#114658](https://github.com/getsentry/sentry/pull/114658)

#### Other

- (ai-conversations) Emit Sentry event on empty conversation detail page by @obostjancic in [#115368](https://github.com/getsentry/sentry/pull/115368)
- (auth) Add SuspendedUserMiddleware safety net in [#114771](https://github.com/getsentry/sentry/pull/114771)
- (billing) Use Intercom for ask Support links in [#115527](https://github.com/getsentry/sentry/pull/115527)
- (checkout) Use Intercom for ask Support link by @souredoutlook in [#115218](https://github.com/getsentry/sentry/pull/115218)
- (ci) Retry getsentry-dispatch by @joshuarli in [#115309](https://github.com/getsentry/sentry/pull/115309)
- (data-export) Add Sentry trace metrics for export outcomes in [#115575](https://github.com/getsentry/sentry/pull/115575)
- (endpoints) Add option to disable all project fetching in relay endpoints by @tobias-wilfert in [#114947](https://github.com/getsentry/sentry/pull/114947)
- (eslint) Enable @typescript-eslint/no-unnecessary-type-arguments by @JoshuaKGoldberg in [#113674](https://github.com/getsentry/sentry/pull/113674)
- (events) Add experimental api for events that allows sql by @wmak in [#115330](https://github.com/getsentry/sentry/pull/115330)
- (export) Update Storgae config for full trace export for Logs by @manessaraj in [#114065](https://github.com/getsentry/sentry/pull/114065)
- (external-issues) Use LLM generated title/description for ticket creation by @leeandher in [#114760](https://github.com/getsentry/sentry/pull/114760)
- (highlights) New loading state, stronger project types in [#115352](https://github.com/getsentry/sentry/pull/115352)
- (insights) Show source frames for slow DB spans by @scttcper in [#115286](https://github.com/getsentry/sentry/pull/115286)
- (integrations) Include organization_id in response tracking logs by @armenzg in [#113903](https://github.com/getsentry/sentry/pull/113903)
- (issue-detection) Tier-based traces per invocation by @roggenkemper in [#114331](https://github.com/getsentry/sentry/pull/114331)
- (playstation) Add feature for uploading attachments to object store by @tobias-wilfert in [#114956](https://github.com/getsentry/sentry/pull/114956)
- (process-segments) Add span deduplication filtering by @untitaker in [#115283](https://github.com/getsentry/sentry/pull/115283)
- (projects) Load project stats with react query, remove ProjectsStatsStore in [#115463](https://github.com/getsentry/sentry/pull/115463)
- (replays) Add replay dataset back to events by @wmak in [#114234](https://github.com/getsentry/sentry/pull/114234)
- (repositories) Filter out active repositories from the sync in [#115034](https://github.com/getsentry/sentry/pull/115034)
- (scm) Allow fetching by org/repo-name in [#114369](https://github.com/getsentry/sentry/pull/114369)
- (scraps) Markdown component by @natemoo-re in [#115025](https://github.com/getsentry/sentry/pull/115025)
- (search) Add userCount filter key to issue search autocomplete by @isaacwang-sentry in [#114823](https://github.com/getsentry/sentry/pull/114823)
- (search-query-builder) Add custom currency filter by @nsdeschenes in [#114713](https://github.com/getsentry/sentry/pull/114713)
- (seer-explorer) Add polling backoff for 5xx errors in [#115538](https://github.com/getsentry/sentry/pull/115538)
- (seer-slack) Add slack link parsing and insert slack thread info by @alexsohn1126 in [#114442](https://github.com/getsentry/sentry/pull/114442)
- (slo) Add SLO instrumentation to Jira search endpoint in [#114513](https://github.com/getsentry/sentry/pull/114513)
- (slot) Automatically bridge known contexts by @natemoo-re in [#114548](https://github.com/getsentry/sentry/pull/114548)
- (trace-meta) Add trace metrics by @wmak in [#115107](https://github.com/getsentry/sentry/pull/115107)
- (tracemetrics) Add Equation UI to Widget Builder in [#115071](https://github.com/getsentry/sentry/pull/115071)
- (types) Split Project into ProjectSummary and DetailedProject by @scttcper in [#115024](https://github.com/getsentry/sentry/pull/115024)
- (typing) Add pre-commit hook to prevent new weaklist additions by @armenzg in [#114761](https://github.com/getsentry/sentry/pull/114761)
- (viewer-context) Add seer_rpc_in + org_seer_rpc_in chokepoints in [#115577](https://github.com/getsentry/sentry/pull/115577)
- (webhooks) Add live-run flag to override circuit breaker dry-run by @Christinarlong in [#114820](https://github.com/getsentry/sentry/pull/114820)
- Extend performance profiles to V2 spans by @loewenheim in [#115203](https://github.com/getsentry/sentry/pull/115203)
- Allow interval on heatmap endpoint by @wmak in [#115010](https://github.com/getsentry/sentry/pull/115010)
- Add a random duration task for testing by @evanh in [#114858](https://github.com/getsentry/sentry/pull/114858)

### Bug Fixes 🐛

#### Aci

- Require AlertRuleWorkflow IDs to be ints by @kcons in [#115245](https://github.com/getsentry/sentry/pull/115245)
- Add workflow ID to ActionInvocation by @kcons in [#114770](https://github.com/getsentry/sentry/pull/114770)
- Revalidate medium threshold when high threshold changes in [#114923](https://github.com/getsentry/sentry/pull/114923)
- Update the query filters to show `monitor` instead of `detector` by @saponifi3d in [#114800](https://github.com/getsentry/sentry/pull/114800)

#### Ai Conversations

- Fix page filter race condition on conversation detail page by @obostjancic in [#115366](https://github.com/getsentry/sentry/pull/115366)
- Handle Python repr format and structured system prompts in AI trace view by @obostjancic in [#115054](https://github.com/getsentry/sentry/pull/115054)
- Fix page filter isolation, project=-1, and datetime URL params by @vgrozdanic in [#114965](https://github.com/getsentry/sentry/pull/114965)

#### Api

- Replace % formatting with string concatenation in count_hits to resolve Semgrep warning by @fix-it-felix-sentry in [#114016](https://github.com/getsentry/sentry/pull/114016)
- Validate root-cause-analysis query params via serializer by @oioki in [#115297](https://github.com/getsentry/sentry/pull/115297)
- Validate more user-provided int ids by @kcons in [#115299](https://github.com/getsentry/sentry/pull/115299)
- Return forbidden for gated events endpoint in [#115148](https://github.com/getsentry/sentry/pull/115148)
- Validate more user-provided integer ids by @kcons in [#114996](https://github.com/getsentry/sentry/pull/114996)
- Preserve string array span detail attributes in [#114853](https://github.com/getsentry/sentry/pull/114853)

#### Attributes

- Remove duplicate string is_transaction in [#115569](https://github.com/getsentry/sentry/pull/115569)
- Account for @ in attributes by @nsdeschenes in [#115055](https://github.com/getsentry/sentry/pull/115055)

#### Auth

- Conditionally show unlinked member warning based on SSO requirement in [#115461](https://github.com/getsentry/sentry/pull/115461)
- Prefer session user over IdP email in SSO identity resolution by @michelletran-sentry in [#115079](https://github.com/getsentry/sentry/pull/115079)

#### Autofix

- Propagate previous step referrer in [#115412](https://github.com/getsentry/sentry/pull/115412)
- Read automation settings from detailed project by @scttcper in [#115239](https://github.com/getsentry/sentry/pull/115239)
- Relax requirements for autofix section to be completed by @Zylphrex in [#115084](https://github.com/getsentry/sentry/pull/115084)
- Add loading state for starting root cause by @Zylphrex in [#114917](https://github.com/getsentry/sentry/pull/114917)

#### Cells

- Bump Organization replication_version to backfill mapping date_created by @lynnagara in [#115423](https://github.com/getsentry/sentry/pull/115423)
- Replicate Organization.date_added to mapping row in [#115325](https://github.com/getsentry/sentry/pull/115325)

#### Charts

- Wire up `visualMap` prop in BaseChart in [#115101](https://github.com/getsentry/sentry/pull/115101)
- Hide overlapping time-series y-axis labels by @JoshFerge in [#114972](https://github.com/getsentry/sentry/pull/114972)

#### Codeowners

- Return owner names on sync in [#115583](https://github.com/getsentry/sentry/pull/115583)
- Display `dateSynced` instead of `dateUpdated` in CODEOWNERS table in [#115136](https://github.com/getsentry/sentry/pull/115136)
- Add `date_synced` field to track actual CODEOWNERS sync time by @shashjar in [#115115](https://github.com/getsentry/sentry/pull/115115)

#### Conversations

- Improve conversations table UX by @obostjancic in [#115364](https://github.com/getsentry/sentry/pull/115364)
- Quote conversation ID in explore query by @obostjancic in [#115271](https://github.com/getsentry/sentry/pull/115271)

#### Dashboards

- Clarify mobile vitals app starts in [#115264](https://github.com/getsentry/sentry/pull/115264)
- Use span.op for MCP pre-built dashboard filters by @gggritso in [#115540](https://github.com/getsentry/sentry/pull/115540)
- Render unfurl chart with dual Y axes for multi-aggregate widgets by @DominikB2014 in [#115411](https://github.com/getsentry/sentry/pull/115411)
- Invalidate dashboards list and grid on delete in [#115354](https://github.com/getsentry/sentry/pull/115354)
- Exempt details widgets from limit validation in [#115170](https://github.com/getsentry/sentry/pull/115170)
- Preserve prebuilt globalFilter chips when cloning by @DominikB2014 in [#115081](https://github.com/getsentry/sentry/pull/115081)
- Close widget viewer modal when releases drawer opens by @skaasten in [#114768](https://github.com/getsentry/sentry/pull/114768)
- Default text widgets to 1 row tall by @jameskeane in [#114898](https://github.com/getsentry/sentry/pull/114898)
- Include threshold changes in revision diffs in [#114607](https://github.com/getsentry/sentry/pull/114607)
- Match widgets by content fingerprint when IDs differ and titles are non-unique by @skaasten in [#114578](https://github.com/getsentry/sentry/pull/114578)
- Show current version when no revisions exist by @skaasten in [#114718](https://github.com/getsentry/sentry/pull/114718)

#### Explore

- Update PHP perf onboarding docs by @nsdeschenes in [#115367](https://github.com/getsentry/sentry/pull/115367)
- Fix flaky virtual streaming test assertions by @ryan953 in [#114928](https://github.com/getsentry/sentry/pull/114928)
- Add autoFocus to save query modal input by @JonasBa in [#114742](https://github.com/getsentry/sentry/pull/114742)
- Check object perms on post by @klochek in [#114318](https://github.com/getsentry/sentry/pull/114318)

#### Insights

- Span id link overflow by @nikkikapadia in [#115380](https://github.com/getsentry/sentry/pull/115380)
- Validate project access for starred segments in [#115418](https://github.com/getsentry/sentry/pull/115418)

#### Integrations

- Preserve async select value in external issue modal after dynamic refetch in [#115593](https://github.com/getsentry/sentry/pull/115593)
- Allow blank overview on sentry app form by @priscilawebdev in [#114946](https://github.com/getsentry/sentry/pull/114946)
- Validate integration_id in OrganizationIntegrationBaseEndpoint by @kcons in [#114821](https://github.com/getsentry/sentry/pull/114821)

#### Issue Detection

- Remove 200-char subtitle truncation for AI-detected issues by @roggenkemper in [#115556](https://github.com/getsentry/sentry/pull/115556)
- Remove test environments from eligibility by @roggenkemper in [#114983](https://github.com/getsentry/sentry/pull/114983)

#### Issues

- Render assigned user avatars from member list in [#115619](https://github.com/getsentry/sentry/pull/115619)
- Resolve custom tag / column name collision in events tab & timeline chart in [#115416](https://github.com/getsentry/sentry/pull/115416)
- Resolve custom tag / column name collision on issue details page by @shashjar in [#115096](https://github.com/getsentry/sentry/pull/115096)
- Migrate data conditions away from old group type categories by @ceorourke in [#114614](https://github.com/getsentry/sentry/pull/114614)
- Return 400 for invalid action on group integration details by @mrduncan in [#114657](https://github.com/getsentry/sentry/pull/114657)
- Scope get_shared_for_org to the slug-resolved organization by @oioki in [#114906](https://github.com/getsentry/sentry/pull/114906)
- Fix typo "withing" → "within" in status_change comment in [#114911](https://github.com/getsentry/sentry/pull/114911)

#### Iswf

- Fixes typing issues in Sentry App tasks, post_process tasks by @GabeVillalobos in [#115012](https://github.com/getsentry/sentry/pull/115012)
- Ensure Jira installed webhook JWTs only use the HS256 algorithm by @GabeVillalobos in [#114738](https://github.com/getsentry/sentry/pull/114738)

#### Jest

- Make command palette tests deterministic by mocking debounce in [#115316](https://github.com/getsentry/sentry/pull/115316)
- Mock Algolia search in command palette test to prevent timeout by @sentry in [#115314](https://github.com/getsentry/sentry/pull/115314)

#### Onboarding

- Mobile style tweaks for SCM onboarding by @jaydgoss in [#115426](https://github.com/getsentry/sentry/pull/115426)
- Center the SCM detection loading indicator in [#115404](https://github.com/getsentry/sentry/pull/115404)
- Add logs to browser JS and SolidStart product selection in [#115399](https://github.com/getsentry/sentry/pull/115399)
- Register Replay integration during onboarding flow by @jaydgoss in [#114774](https://github.com/getsentry/sentry/pull/114774)

#### Ourlogs

- Use `replaceMerge` for time series visualization axes in [#115551](https://github.com/getsentry/sentry/pull/115551)
- Stabilized column widths during scrolling by @JoshuaKGoldberg in [#115389](https://github.com/getsentry/sentry/pull/115389)
- Add actions menu to timestamps too by @JoshuaKGoldberg in [#115180](https://github.com/getsentry/sentry/pull/115180)
- Hide axis pointer label on collapsed spark line chart by @JoshuaKGoldberg in [#115276](https://github.com/getsentry/sentry/pull/115276)
- Add min-height of 20vh or 15rem to page main items by @JoshuaKGoldberg in [#115272](https://github.com/getsentry/sentry/pull/115272)
- Correct logs modal exports payload data by @JoshuaKGoldberg in [#114964](https://github.com/getsentry/sentry/pull/114964)
- Only show LogsAggregateTable top result colors on first cursor page by @JoshuaKGoldberg in [#114873](https://github.com/getsentry/sentry/pull/114873)
- Add minWidth to LogsInfiniteTable by @JoshuaKGoldberg in [#114864](https://github.com/getsentry/sentry/pull/114864)
- Only constrain page for Logs (samples) mode by @JoshuaKGoldberg in [#114725](https://github.com/getsentry/sentry/pull/114725)

#### Preprod

- Fix snapshot list scroll-to and duplicate React keys in [#115396](https://github.com/getsentry/sentry/pull/115396)
- Clarify rerun analysis description in admin page by @NicoHinderling in [#115340](https://github.com/getsentry/sentry/pull/115340)
- Quote CSS mask-image URLs to handle special characters by @NicoHinderling in [#115318](https://github.com/getsentry/sentry/pull/115318)
- Improve snapshot status filter behavior by @NicoHinderling in [#115224](https://github.com/getsentry/sentry/pull/115224)
- Get snapshot PR comments from detailed project in [#115173](https://github.com/getsentry/sentry/pull/115173)
- Get snapshot status checks from detailed project in [#115139](https://github.com/getsentry/sentry/pull/115139)
- Add exponential retry for GitHub API calls in snapshot tasks in [#114272](https://github.com/getsentry/sentry/pull/114272)
- Use display_name for snapshot sidebar labels in [#114710](https://github.com/getsentry/sentry/pull/114710)
- Raise expiry_seconds on Objectstore upload token by @lcian in [#114844](https://github.com/getsentry/sentry/pull/114844)
- Ensure artifact belongs to accessible project by @klochek in [#114446](https://github.com/getsentry/sentry/pull/114446)

#### Profiling

- Specific API error copy for flamegraphs and thresholds by @JoshuaKGoldberg in [#114971](https://github.com/getsentry/sentry/pull/114971)
- Use granular transactionResult properties in useMemo deps for continuousFlamegraph too by @JoshuaKGoldberg in [#114855](https://github.com/getsentry/sentry/pull/114855)
- Use granular transactionResult properties in useMemo deps by @JoshuaKGoldberg in [#114757](https://github.com/getsentry/sentry/pull/114757)

#### Releases

- Prevent row-lock contention on last_seen bump by @yuvmen in [#115443](https://github.com/getsentry/sentry/pull/115443)
- Handle integration token states in releases promo by @gggritso in [#115254](https://github.com/getsentry/sentry/pull/115254)

#### Replay

- Use makeReplaysPathname for replay URLs and fix flaky tests by @ryan953 in [#115137](https://github.com/getsentry/sentry/pull/115137)
- Preserve player time when toggling sidebar chevron by @JoshuaKGoldberg in [#114987](https://github.com/getsentry/sentry/pull/114987)

#### Replays

- Use Spans dataset when fetching contents of "Trace" tab by @gggritso in [#115530](https://github.com/getsentry/sentry/pull/115530)
- Cap Mobile Replay `<video>` element pool by @gggritso in [#115403](https://github.com/getsentry/sentry/pull/115403)
- Make sure the replay player doesn't reset on a background update by @TkDodo in [#115052](https://github.com/getsentry/sentry/pull/115052)

#### Repositories

- Fix serialization error during repo sync in [#114880](https://github.com/getsentry/sentry/pull/114880)
- Convert repository sync api to be a control endpoint by @wedamija in [#114797](https://github.com/getsentry/sentry/pull/114797)

#### Search

- Prevent AI query feedback button from dismissing dropdown in Safari by @isaacwang-sentry in [#115219](https://github.com/getsentry/sentry/pull/115219)
- Fix userCount filter for issues-stats endpoint by @isaacwang-sentry in [#114877](https://github.com/getsentry/sentry/pull/114877)

#### Search Query Builder

- Allow wildcard ops for all string filters by @nsdeschenes in [#114959](https://github.com/getsentry/sentry/pull/114959)
- Only highlight on string attributes by @nsdeschenes in [#114948](https://github.com/getsentry/sentry/pull/114948)

#### Seer

- Prevent duplicate assisted-query submissions in [#115566](https://github.com/getsentry/sentry/pull/115566)
- Record user initiator for manual explorer handoffs in [#115558](https://github.com/getsentry/sentry/pull/115558)
- Preserve recommended sort order for unscored issues in night shift by @trevor-e in [#115444](https://github.com/getsentry/sentry/pull/115444)
- Normalize U+F00D wildcard operators in snapshot_to_markdown in [#115397](https://github.com/getsentry/sentry/pull/115397)
- Iterate on the Add Project to Autofix form to make it work better in [#115306](https://github.com/getsentry/sentry/pull/115306)
- Add sent_at timestamp to autofix PR analytics events by @trevor-e in [#115341](https://github.com/getsentry/sentry/pull/115341)
- Use IntoTip instead of QuestionTooltip in Core Review table by @ryan953 in [#115308](https://github.com/getsentry/sentry/pull/115308)
- Let `manage your repository connections` open in a new tab by @ryan953 in [#115289](https://github.com/getsentry/sentry/pull/115289)
- Use hash-based jitter for night shift org dispatch by @trevor-e in [#115189](https://github.com/getsentry/sentry/pull/115189)
- Use self.get_projects() in OrganizationAutofixAutomationSettingsEndpoint by @srest2021 in [#114977](https://github.com/getsentry/sentry/pull/114977)
- Improvements in [#114881](https://github.com/getsentry/sentry/pull/114881)
- Stop on-completion hook from re-pushing terminally errored repos in [#114885](https://github.com/getsentry/sentry/pull/114885)

#### Settings

- Defer sentry app form mount until data loads by @priscilawebdev in [#115162](https://github.com/getsentry/sentry/pull/115162)
- Always fetch detailed project in route context in [#115149](https://github.com/getsentry/sentry/pull/115149)
- Collapse unused fields in team projects requests by @scttcper in [#114886](https://github.com/getsentry/sentry/pull/114886)

#### Slack

- Skip explore unfurls for unsupported chart types in [#115374](https://github.com/getsentry/sentry/pull/115374)
- Drop empty list filter values when unfurling dashboards by @DominikB2014 in [#115273](https://github.com/getsentry/sentry/pull/115273)
- Hash arg values when deduping unfurled links by @DominikB2014 in [#115200](https://github.com/getsentry/sentry/pull/115200)
- Use logsAggregateSortBys for explore logs unfurl chart sort by @DominikB2014 in [#114984](https://github.com/getsentry/sentry/pull/114984)
- Drop stale aggregateSortBys in metrics explore unfurl by @DominikB2014 in [#114982](https://github.com/getsentry/sentry/pull/114982)
- Clamp too-fine URL interval in explore unfurl to ladder minimum by @DominikB2014 in [#114985](https://github.com/getsentry/sentry/pull/114985)
- Categorize unrecognized Slack API error codes in [#114804](https://github.com/getsentry/sentry/pull/114804)
- Render first visible metric chart in Explore unfurl by @DominikB2014 in [#114871](https://github.com/getsentry/sentry/pull/114871)
- Forward all yAxes when unfurling Explore metrics URLs by @DominikB2014 in [#114868](https://github.com/getsentry/sentry/pull/114868)

#### Snapshots

- Show 'Waiting for base' instead of 'Base' when base artifact not found in [#115446](https://github.com/getsentry/sentry/pull/115446)
- Preserve scroll position when switching diff modes in list view by @NicoHinderling in [#115001](https://github.com/getsentry/sentry/pull/115001)
- Fix docs link by @mtopo27 in [#114857](https://github.com/getsentry/sentry/pull/114857)

#### Span Buffer

- Fix another process leak by @untitaker in [#115050](https://github.com/getsentry/sentry/pull/115050)
- Fix flusher processes leaking on timeout by @untitaker in [#114955](https://github.com/getsentry/sentry/pull/114955)

#### Spans

- Remove conditional cleanup to fix flush lock double-flush bug by @untitaker in [#114883](https://github.com/getsentry/sentry/pull/114883)
- Release flush lock in done_flush_segments in [#115169](https://github.com/getsentry/sentry/pull/115169)

#### Tracemetrics

- Use stricter value for selector options by @nsdeschenes in [#115479](https://github.com/getsentry/sentry/pull/115479)
- Fix palette differences between table and viz by @k-fish in [#115282](https://github.com/getsentry/sentry/pull/115282)

#### Typing

- Remove snuba modules from the mypy weaklist by @kcons in [#115439](https://github.com/getsentry/sentry/pull/115439)
- Remove more of sentry.incidents from the weaklist by @kcons in [#115304](https://github.com/getsentry/sentry/pull/115304)
- Remove sentry.incidents.serializers from the mypy weaklist by @kcons in [#115232](https://github.com/getsentry/sentry/pull/115232)

#### Ui

- Allow tooltips inside hovercard in [#115590](https://github.com/getsentry/sentry/pull/115590)
- Separate issues feed overlay groups in [#115576](https://github.com/getsentry/sentry/pull/115576)
- Rank trace group by matches with fzf in [#115032](https://github.com/getsentry/sentry/pull/115032)
- Table header icon size in [#114913](https://github.com/getsentry/sentry/pull/114913)

#### Workflows

- Require int ids in AlertRuleDetectorValidator by @kcons in [#115510](https://github.com/getsentry/sentry/pull/115510)
- Don't report timeouts as errors in process_workflow_event or delayed_workflows by @kcons in [#115215](https://github.com/getsentry/sentry/pull/115215)
- Require action_filters to be a list of dicts by @kcons in [#114860](https://github.com/getsentry/sentry/pull/114860)

#### Other

- (agent-ui) Derive staleness from a direct check w/scheduled rerender by @aliu39 in [#115344](https://github.com/getsentry/sentry/pull/115344)
- (ai) Mirror AI conversation message parsers in [#114707](https://github.com/getsentry/sentry/pull/114707)
- (alerts) Return 400 when trigger IDs don't belong to the alert rule being updated in [#115573](https://github.com/getsentry/sentry/pull/115573)
- (Anomaly Detection) Verify the users project permissions in [#114900](https://github.com/getsentry/sentry/pull/114900)
- (avatar) Add cached fallback to AsyncMemberAvatar by @natemoo-re in [#115554](https://github.com/getsentry/sentry/pull/115554)
- (backendJsonFormAdapter) Convert disabledReason to disabled string in [#114847](https://github.com/getsentry/sentry/pull/114847)
- (checkboxState) Update useListItemCheckboxContext to not rely on ApiQueryKey directly, only QueryKeyEndpointOptions in [#114997](https://github.com/getsentry/sentry/pull/114997)
- (ci-st) Don't print confusing 0 test count if all tests are selected by @joshuarli in [#115305](https://github.com/getsentry/sentry/pull/115305)
- (data-forwarding) Better permissions controls on editing page in [#114966](https://github.com/getsentry/sentry/pull/114966)
- (digests) Don't filter by RuleSnooze by @kcons in [#115229](https://github.com/getsentry/sentry/pull/115229)
- (discover) Guard against undefined items in collectQueryStringByKey by @sentry in [#115469](https://github.com/getsentry/sentry/pull/115469)
- (eap) Normalize dashed UUIDs in search filters and resolve internal column names by @BYK in [#114550](https://github.com/getsentry/sentry/pull/114550)
- (eslint) Inline disable new violations in [#114941](https://github.com/getsentry/sentry/pull/114941)
- (events) Invert PS/AMD logos in dark mode by @priscilawebdev in [#115369](https://github.com/getsentry/sentry/pull/115369)
- (feature-flags) Use sm text in tooltip date by @priscilawebdev in [#115159](https://github.com/getsentry/sentry/pull/115159)
- (feedback) Disallow OR/AND operators in feedback search by @mrduncan in [#115113](https://github.com/getsentry/sentry/pull/115113)
- (gsAdmin) Update admin portal contact channel and owner link by @swartzrock in [#114399](https://github.com/getsentry/sentry/pull/114399)
- (identity) Remove bogus email_verified from VSTS identity providers by @michelletran-sentry in [#114863](https://github.com/getsentry/sentry/pull/114863)
- (logs) Correct Date.now mock in virtual streaming test by @sentry in [#114793](https://github.com/getsentry/sentry/pull/114793)
- (migrations) Catch missing historical_silo_assignments on MOVE_TO_PENDING by @wedamija in [#115087](https://github.com/getsentry/sentry/pull/115087)
- (mypy) Remove stale weaklist entry for deleted test file by @NicoHinderling in [#115204](https://github.com/getsentry/sentry/pull/115204)
- (nightshift) Make the (temporary) alert be a system alert, no rounded corners in [#114921](https://github.com/getsentry/sentry/pull/114921)
- (oauth) Prevent session overwrite attack in authorization flow by @semgrep-code-getsentry in [#113791](https://github.com/getsentry/sentry/pull/113791)
- (occ-eap) Prevent throw on None stack frame in [#115395](https://github.com/getsentry/sentry/pull/115395)
- (ownership) Show specific error messages when ownership rule owners are invalid by @shashjar in [#114802](https://github.com/getsentry/sentry/pull/114802)
- (release-health) Add stable processing jitter by @JoshFerge in [#115507](https://github.com/getsentry/sentry/pull/115507)
- (repos) Fix virtualized repo list scroll container in non-nested mode in [#114901](https://github.com/getsentry/sentry/pull/114901)
- (sdk-crash) Exclude React Native Supabase instrumentation from SDK crash detection by @antonis in [#115259](https://github.com/getsentry/sentry/pull/115259)
- (seer-explorer) Clear input when switching sessions or starting new chat in [#115440](https://github.com/getsentry/sentry/pull/115440)
- (seer-slack) Change thinking status by @alexsohn1126 in [#115280](https://github.com/getsentry/sentry/pull/115280)
- (sentry-apps) Gate dashboard stats queries by @priscilawebdev in [#115056](https://github.com/getsentry/sentry/pull/115056)
- (sentryapps) Need GET to be exception cased to view the app status in \_admin by @Christinarlong in [#114980](https://github.com/getsentry/sentry/pull/114980)
- (slack-unfurl) Preserve multiple groupBy entries on explore unfurl by @DominikB2014 in [#114862](https://github.com/getsentry/sentry/pull/114862)
- (snuba) Map ClickHouse 'Too many simultaneous queries' to 429 instead of 500 by @BYK in [#114551](https://github.com/getsentry/sentry/pull/114551)
- (superuser) Improve banner ux by @priscilawebdev in [#115168](https://github.com/getsentry/sentry/pull/115168)
- (test) Fix flaky filesChanged test by using regex matcher by @ryan953 in [#114975](https://github.com/getsentry/sentry/pull/114975)
- (tests) Fix missing control silo urls in test by @wedamija in [#114870](https://github.com/getsentry/sentry/pull/114870)
- (trace-details) Show replacement attributes when no deprecated source exists in [#114943](https://github.com/getsentry/sentry/pull/114943)
- (trace-meta) Fix types for EAP Trace Meta by @nsdeschenes in [#115553](https://github.com/getsentry/sentry/pull/115553)
- (traces) Add null state to application metrics dropdown in [#115617](https://github.com/getsentry/sentry/pull/115617)
- Allow reading multiple env secrets for Launchpad in [#115632](https://github.com/getsentry/sentry/pull/115632)
- Wrap custom tags project_id and project.name by @cobyeastwood183 in [#115402](https://github.com/getsentry/sentry/pull/115402)
- Mypy-weaklist-stale-on-delete by @joshuarli in [#115213](https://github.com/getsentry/sentry/pull/115213)
- Be less strict when parsing apiUrls by @TkDodo in [#114978](https://github.com/getsentry/sentry/pull/114978)
- Disable billing platform exception logging by @noahsmartin in [#114872](https://github.com/getsentry/sentry/pull/114872)

### Documentation 📚

- (spans) Update span buffer docs by @lvthanh03 in [#115483](https://github.com/getsentry/sentry/pull/115483)
- Document Application Metrics dataset in [#115089](https://github.com/getsentry/sentry/pull/115089)

### Internal Changes 🔧

#### Aci

- Update API docs landing page description by @ceorourke in [#115509](https://github.com/getsentry/sentry/pull/115509)
- Remove beta tag on API docs by @ceorourke in [#115284](https://github.com/getsentry/sentry/pull/115284)
- Use addErrorMessage for detector mutation errors by @evanpurkhiser in [#115205](https://github.com/getsentry/sentry/pull/115205)
- Update new monitor page copy in [#115158](https://github.com/getsentry/sentry/pull/115158)
- Narrow latest group detector query by @scttcper in [#115027](https://github.com/getsentry/sentry/pull/115027)
- Move metric issues into generic post processing pipeline by @ceorourke in [#114786](https://github.com/getsentry/sentry/pull/114786)

#### Agents

- Clarify frontend typecheck command in [#115421](https://github.com/getsentry/sentry/pull/115421)
- Better instructions for using apiOptions by @TkDodo in [#114949](https://github.com/getsentry/sentry/pull/114949)

#### Alerts

- Remove metric alert constraint on NotificationMessage by @ceorourke in [#115529](https://github.com/getsentry/sentry/pull/115529)
- Move spike protection API docs to their own section by @ceorourke in [#115521](https://github.com/getsentry/sentry/pull/115521)
- Drop IncidentTrigger model by @ceorourke in [#115502](https://github.com/getsentry/sentry/pull/115502)
- Remove IncidentTrigger model by @ceorourke in [#115492](https://github.com/getsentry/sentry/pull/115492)
- Remove a couple more usages of IncidentTrigger by @ceorourke in [#115458](https://github.com/getsentry/sentry/pull/115458)
- Delete triggered_incidents from AlertRuleTrigger by @ceorourke in [#115454](https://github.com/getsentry/sentry/pull/115454)
- Remove triggered_for_incident from tests in [#115451](https://github.com/getsentry/sentry/pull/115451)
- Remove triggered_incidents from AlertRuleTrigger in [#115449](https://github.com/getsentry/sentry/pull/115449)
- Remove usage of IncidentTrigger in [#115436](https://github.com/getsentry/sentry/pull/115436)
- Drop RuleFireHistory table in [#115401](https://github.com/getsentry/sentry/pull/115401)
- Remove RuleFireHistory in [#115328](https://github.com/getsentry/sentry/pull/115328)
- Remove metric alerts dual processing log flag by @ceorourke in [#115342](https://github.com/getsentry/sentry/pull/115342)
- Remove issue alert columns from NotificationMessage by @ceorourke in [#115290](https://github.com/getsentry/sentry/pull/115290)
- Remove unused incident endpoint code by @ceorourke in [#115250](https://github.com/getsentry/sentry/pull/115250)
- Remove dead alerts code by @ceorourke in [#115301](https://github.com/getsentry/sentry/pull/115301)
- Remove unused incidents code by @ceorourke in [#115236](https://github.com/getsentry/sentry/pull/115236)
- Drop SystemAlerts from the init queue component map by @evanpurkhiser in [#115223](https://github.com/getsentry/sentry/pull/115223)
- Remove issue alert constraints on NotificationMessage by @ceorourke in [#115150](https://github.com/getsentry/sentry/pull/115150)
- Remove dead standalone SystemAlerts mount by @evanpurkhiser in [#115222](https://github.com/getsentry/sentry/pull/115222)
- Unpublish legacy rule endpoints by @ceorourke in [#115154](https://github.com/getsentry/sentry/pull/115154)
- Adopt useModal in issue rule actions in [#115119](https://github.com/getsentry/sentry/pull/115119)
- Remove should_fire_workflow_actions in [#115083](https://github.com/getsentry/sentry/pull/115083)
- Drop NeglectedRule table by @ceorourke in [#114976](https://github.com/getsentry/sentry/pull/114976)
- Remove NeglectedRule model by @ceorourke in [#114927](https://github.com/getsentry/sentry/pull/114927)

#### Autofix

- Style artifact preview by @Zylphrex in [#115478](https://github.com/getsentry/sentry/pull/115478)
- Add more prompt metadata to autofix in [#115408](https://github.com/getsentry/sentry/pull/115408)
- Adopt useModal in autofix views by @evanpurkhiser in [#115126](https://github.com/getsentry/sentry/pull/115126)
- Replace derived state with useMemo in autofixProgressBar in [#115146](https://github.com/getsentry/sentry/pull/115146)

#### Billing

- Bumped protos to 0.10.0 in [#115609](https://github.com/getsentry/sentry/pull/115609)
- Bumped protos version to 0.8.32 in [#115419](https://github.com/getsentry/sentry/pull/115419)
- Adopt useModal in billing views by @evanpurkhiser in [#115129](https://github.com/getsentry/sentry/pull/115129)
- Add better extras to logs by @brendanhsentry in [#115209](https://github.com/getsentry/sentry/pull/115209)
- Update metrics sample rate by @brendanhsentry in [#115106](https://github.com/getsentry/sentry/pull/115106)
- Update plan features copy and remove Developer plan changes link by @souredoutlook in [#114824](https://github.com/getsentry/sentry/pull/114824)

#### Cells

- Remove cell restriction code for Jira and integrations by @lynnagara in [#115508](https://github.com/getsentry/sentry/pull/115508)
- Rename SENTRY_OUTBOX_MODELS key from REGION to CELL by @lynnagara in [#115210](https://github.com/getsentry/sentry/pull/115210)
- Assert control org listing matches cell response in [#114919](https://github.com/getsentry/sentry/pull/114919)
- Remove dead OrganizationRegionEndpoint in [#114791](https://github.com/getsentry/sentry/pull/114791)

#### Ci

- Skip importing irrelevant test files during pytest collection in [#114107](https://github.com/getsentry/sentry/pull/114107)
- Route postgres through Unix domain socket in CI in [#114108](https://github.com/getsentry/sentry/pull/114108)
- Re-apply parallel devservices startup for backend tests by @mchen-sentry in [#114104](https://github.com/getsentry/sentry/pull/114104)

#### Codeowners

- Clean up in [#115237](https://github.com/getsentry/sentry/pull/115237)
- Improve logging & testing for `update_code_owners_schema` task by @shashjar in [#115348](https://github.com/getsentry/sentry/pull/115348)
- Improve logging & testing for `code_owners_auto_sync` task by @shashjar in [#115347](https://github.com/getsentry/sentry/pull/115347)

#### Cross Events

- Remove flag registration in [#115267](https://github.com/getsentry/sentry/pull/115267)
- Clean up feature flag by @nsdeschenes in [#115263](https://github.com/getsentry/sentry/pull/115263)
- Temp disable traces tab and add new checks by @nsdeschenes in [#114854](https://github.com/getsentry/sentry/pull/114854)

#### Dashboards

- Replace derived state in editAccessSelector in [#115155](https://github.com/getsentry/sentry/pull/115155)
- Use VisualizationWidget for all dataset types in [#114622](https://github.com/getsentry/sentry/pull/114622)
- Adopt useModal in dashboard revisions in [#115122](https://github.com/getsentry/sentry/pull/115122)
- Lower default async queue parallel limit to 15 by @DominikB2014 in [#115076](https://github.com/getsentry/sentry/pull/115076)
- Drop DashboardLastVisited table by @wedamija in [#114930](https://github.com/getsentry/sentry/pull/114930)
- Remove DashboardLastVisited model by @wedamija in [#114929](https://github.com/getsentry/sentry/pull/114929)
- Remove top_n and stacked_area display type handling by @DominikB2014 in [#114903](https://github.com/getsentry/sentry/pull/114903)
- Improve number formatting documentation in [#112410](https://github.com/getsentry/sentry/pull/112410)

#### Deps

- Bump taskbroker-client and relax bump_version lint by @untitaker in [#115281](https://github.com/getsentry/sentry/pull/115281)
- Bump urllib3 from 2.6.3 to 2.7.0 by @dependabot in [#115298](https://github.com/getsentry/sentry/pull/115298)
- Bump lxml from 5.3.0 to 6.1.0 by @dependabot in [#115060](https://github.com/getsentry/sentry/pull/115060)
- Bump mistune from 2.0.4 to 3.2.1 by @dependabot in [#115260](https://github.com/getsentry/sentry/pull/115260)
- Bump django from 5.2.12 to 5.2.14 by @dependabot in [#115261](https://github.com/getsentry/sentry/pull/115261)
- Bump cryptography from 46.0.5 to 46.0.7 by @dependabot in [#115061](https://github.com/getsentry/sentry/pull/115061)
- Bump requests from 2.32.4 to 2.33.0 by @dependabot in [#115062](https://github.com/getsentry/sentry/pull/115062)
- Bump pillow from 12.1.1 to 12.2.0 by @dependabot in [#115059](https://github.com/getsentry/sentry/pull/115059)
- Update mypy to 1.20.2 by @JoshFerge in [#114969](https://github.com/getsentry/sentry/pull/114969)

#### Deps Dev

- Bump pytest from 8.1.2 to 9.0.3 by @dependabot in [#115057](https://github.com/getsentry/sentry/pull/115057)
- Bump terser from 5.40.0 to 5.46.2 by @dependabot in [#114826](https://github.com/getsentry/sentry/pull/114826)

#### Explore

- Migrate context.tsx to nuqs by @ryan953 in [#115435](https://github.com/getsentry/sentry/pull/115435)
- Migrate replayQueryParamsProvider to nuqs by @ryan953 in [#115422](https://github.com/getsentry/sentry/pull/115422)
- Inline and remove getIdFromLocation helper by @ryan953 in [#115442](https://github.com/getsentry/sentry/pull/115442)
- Deprecate getQueryFromLocation by @ryan953 in [#115427](https://github.com/getsentry/sentry/pull/115427)
- Move updateNullableLocation to utils/url/ in [#115415](https://github.com/getsentry/sentry/pull/115415)
- Remove flags for overlay charts by @nsdeschenes in [#115266](https://github.com/getsentry/sentry/pull/115266)
- Adopt useModal in explore views by @evanpurkhiser in [#115123](https://github.com/getsentry/sentry/pull/115123)
- Extract and re-use search sorting logic by @nsdeschenes in [#115194](https://github.com/getsentry/sentry/pull/115194)

#### Feedback

- Adopt useModal in feedback item by @evanpurkhiser in [#115124](https://github.com/getsentry/sentry/pull/115124)
- Replace derived state in useFeedbackHasNewItems in [#115151](https://github.com/getsentry/sentry/pull/115151)

#### Flags

- Remove organizations:alerts-timeseries-comparison registration by @wedamija in [#113375](https://github.com/getsentry/sentry/pull/113375)
- Remove organizations:symbol-sources gates (backend) by @wedamija in [#114993](https://github.com/getsentry/sentry/pull/114993)
- Remove organizations:performance-transaction-summary-eap registration by @wedamija in [#115015](https://github.com/getsentry/sentry/pull/115015)
- Remove organizations:performance-transaction-summary-eap gates (frontend) by @wedamija in [#115014](https://github.com/getsentry/sentry/pull/115014)
- Remove organizations:integrations-cursor registration by @wedamija in [#115017](https://github.com/getsentry/sentry/pull/115017)
- Remove organizations:insights-prebuilt-dashboards by @gggritso in [#114960](https://github.com/getsentry/sentry/pull/114960)
- Remove organizations:integrations-cursor gates (frontend) by @wedamija in [#115016](https://github.com/getsentry/sentry/pull/115016)
- Remove organizations:symbol-sources gates (frontend) by @wedamija in [#114991](https://github.com/getsentry/sentry/pull/114991)
- Move 2 should-be-permanent flags to permanent.py by @wedamija in [#114934](https://github.com/getsentry/sentry/pull/114934)
- Remove organizations:new-organization-member-invite by @wedamija in [#114812](https://github.com/getsentry/sentry/pull/114812)
- Remove organizations:integrations-deployment by @wedamija in [#114990](https://github.com/getsentry/sentry/pull/114990)
- Remove organizations:on-demand-gen-metrics-deprecation-query-prefill by @wedamija in [#114810](https://github.com/getsentry/sentry/pull/114810)
- Remove organizations:app-store-connect-multiple by @wedamija in [#114935](https://github.com/getsentry/sentry/pull/114935)
- Remove organizations:dashboards-starred-reordering (backend) in [#114817](https://github.com/getsentry/sentry/pull/114817)
- Remove organizations:continuous-profiling-beta-ui (registration) in [#114816](https://github.com/getsentry/sentry/pull/114816)
- Remove organizations:dashboards-starred-reordering (frontend) in [#114818](https://github.com/getsentry/sentry/pull/114818)
- Remove organizations:continuous-profiling-beta-ui (frontend) in [#114815](https://github.com/getsentry/sentry/pull/114815)
- Make organizations:workflow-engine-log-evaluations permanent in [#114803](https://github.com/getsentry/sentry/pull/114803)
- Remove organizations:uptime-auto-detected-monitor-emails in [#114806](https://github.com/getsentry/sentry/pull/114806)
- Remove organizations:normalize_segment_names_in_span_enrichment by @wedamija in [#114809](https://github.com/getsentry/sentry/pull/114809)
- Remove organizations:on-demand-gen-metrics-deprecation-prefill by @wedamija in [#114811](https://github.com/getsentry/sentry/pull/114811)
- Remove organizations:on-demand-metrics-query-spec-version-two by @wedamija in [#114808](https://github.com/getsentry/sentry/pull/114808)

#### Forms

- Migrate builtInRepositories form by @priscilawebdev in [#115053](https://github.com/getsentry/sentry/pull/115053)
- Migrate loaderScript from legacy form by @priscilawebdev in [#115041](https://github.com/getsentry/sentry/pull/115041)

#### Integrations

- Add ExternalActor.source field by @hobzcalvin in [#115300](https://github.com/getsentry/sentry/pull/115300)
- Remove integration repos tab, rename to Settings by @evanpurkhiser in [#115196](https://github.com/getsentry/sentry/pull/115196)
- Log Jira issue.updated webhook payloads behind a flag by @hobzcalvin in [#114822](https://github.com/getsentry/sentry/pull/114822)

#### Issue Detection

- Increase trace samples for AI Issue Detection by @roggenkemper in [#115491](https://github.com/getsentry/sentry/pull/115491)
- Add plan_tier to budget_exceeded log by @roggenkemper in [#114961](https://github.com/getsentry/sentry/pull/114961)

#### Issues

- Clean up parsing of Seer activity metadata by @shashjar in [#115531](https://github.com/getsentry/sentry/pull/115531)
- Remove InterimSection in [#115355](https://github.com/getsentry/sentry/pull/115355)
- Adopt useModal in issue views by @evanpurkhiser in [#115128](https://github.com/getsentry/sentry/pull/115128)
- Use apiOptions for apple crash report by @scttcper in [#114601](https://github.com/getsentry/sentry/pull/114601)
- Drop redundant list comprehension in handle_ignored by @mrduncan in [#114939](https://github.com/getsentry/sentry/pull/114939)
- Remove stack trace coverage legend by @scttcper in [#114986](https://github.com/getsentry/sentry/pull/114986)

#### Iswf

- Removes old deprecated retry task decorator by @GabeVillalobos in [#115135](https://github.com/getsentry/sentry/pull/115135)
- Removes retry decorators from integration-related tasks by @GabeVillalobos in [#115028](https://github.com/getsentry/sentry/pull/115028)
- Updates deletion and remaining task decorators to taskbroker retries by @GabeVillalobos in [#115029](https://github.com/getsentry/sentry/pull/115029)

#### Jest

- Mark flaky Jest tests with it.isKnownFlake() in [#115447](https://github.com/getsentry/sentry/pull/115447)
- Update flaky test markers based on recent CI data by @ryan953 in [#115277](https://github.com/getsentry/sentry/pull/115277)

#### Lint Rules

- Enabling unicorn/refer-native-coercion-functions and fixing violations by @Abdkhan14 in [#115078](https://github.com/getsentry/sentry/pull/115078)
- Enabling unicorn/no-array-push-push and fixing violations by @Abdkhan14 in [#115093](https://github.com/getsentry/sentry/pull/115093)
- Enabling 'unicorn/no-zero-fractions' and fixing vi… by @Abdkhan14 in [#115077](https://github.com/getsentry/sentry/pull/115077)
- Enabling unicorn/throw-new-error' and fixing viola… by @Abdkhan14 in [#115074](https://github.com/getsentry/sentry/pull/115074)

#### Onboarding

- Replace deprecated useRouter with useLocation and useNavigate by @cursor in [#115453](https://github.com/getsentry/sentry/pull/115453)
- Exclude flutter profiling from SCM info cards in [#115383](https://github.com/getsentry/sentry/pull/115383)
- Migrate storeCrashReports config by @priscilawebdev in [#114942](https://github.com/getsentry/sentry/pull/114942)

#### Preprod

- Unify snapshot detail header badges with table status column in [#115633](https://github.com/getsentry/sentry/pull/115633)
- Extract shared snapshot status derivation for list and detail endpoints in [#115604](https://github.com/getsentry/sentry/pull/115604)
- Remove approval_status from frontend search attributes in [#115588](https://github.com/getsentry/sentry/pull/115588)
- Add no_base_build comparison state for snapshots by @mtopo27 in [#115561](https://github.com/getsentry/sentry/pull/115561)
- Move comparison state badges from Changes to Status column by @mtopo27 in [#115506](https://github.com/getsentry/sentry/pull/115506)
- Reorder snapshot table columns and show Base badge in Status by @mtopo27 in [#115488](https://github.com/getsentry/sentry/pull/115488)
- Standardize logging key to preprod_artifact_id by @NicoHinderling in [#115462](https://github.com/getsentry/sentry/pull/115462)
- Increase process_artifact deadline from 12 to 15 minutes by @NicoHinderling in [#115349](https://github.com/getsentry/sentry/pull/115349)
- Remove redundant content_hash and fix extra field leakage in snapshot responses by @NicoHinderling in [#115323](https://github.com/getsentry/sentry/pull/115323)
- Use React components for app size treemap tooltip by @TkDodo in [#115045](https://github.com/getsentry/sentry/pull/115045)
- Add blocklist to filter internal fields from snapshot metadata tooltip by @NicoHinderling in [#114988](https://github.com/getsentry/sentry/pull/114988)
- Align snapshot status checks UI with PR comments pattern by @runningcode in [#114963](https://github.com/getsentry/sentry/pull/114963)

#### Profiling

- Remove base64 rollout option for profile task payload in [#115387](https://github.com/getsentry/sentry/pull/115387)
- Remove base64 encoding from profile task payload by @untitaker in [#115069](https://github.com/getsentry/sentry/pull/115069)

#### Repos

- Consolidate organizationRepositoriesV2 into organizationRepositories by @evanpurkhiser in [#115214](https://github.com/getsentry/sentry/pull/115214)
- Remove old SCM integration tree view by @evanpurkhiser in [#115175](https://github.com/getsentry/sentry/pull/115175)
- Add responsive hiding for repo count tag and manage label by @evanpurkhiser in [#115134](https://github.com/getsentry/sentry/pull/115134)
- Give repo count tag its own grid column by @evanpurkhiser in [#115022](https://github.com/getsentry/sentry/pull/115022)
- Move installation callbacks onto ScmInstallation, add ConnectedInstallation wrapper by @evanpurkhiser in [#114979](https://github.com/getsentry/sentry/pull/114979)
- Extract repo count tooltip logic into a function with early returns by @evanpurkhiser in [#114887](https://github.com/getsentry/sentry/pull/114887)
- Use lodash sortBy for repo sort in SCM table in [#114932](https://github.com/getsentry/sentry/pull/114932)
- Add installation settings drawer test in repos v2 by @evanpurkhiser in [#114861](https://github.com/getsentry/sentry/pull/114861)

#### Repositories

- Switch over queries for `RepositoryProjectPathConfig` to use the new `ProjectRepository` table in [#115516](https://github.com/getsentry/sentry/pull/115516)
- Switch over queries for `SeerProjectRepository` to use `ProjectRepository` in [#115456](https://github.com/getsentry/sentry/pull/115456)
- Mark `project_repository` column as not null. by @wedamija in [#115524](https://github.com/getsentry/sentry/pull/115524)
- Backfill the new `ProjectRepository` table by @wedamija in [#115351](https://github.com/getsentry/sentry/pull/115351)
- Dual write to the new `ProjectRepository` table when we create related rows in other tables in [#115346](https://github.com/getsentry/sentry/pull/115346)
- Add a table to allow us to link a project to a repository in [#115331](https://github.com/getsentry/sentry/pull/115331)
- Remove most feature flags from repo syncing by @wedamija in [#115033](https://github.com/getsentry/sentry/pull/115033)

#### Searchquerybuilder

- Share filter parser grammar in [#115557](https://github.com/getsentry/sentry/pull/115557)
- Avoid full filter parse for free text in [#115563](https://github.com/getsentry/sentry/pull/115563)

#### Seer

- Remove gap and use transparent buttons in explorer drawer header in [#115594](https://github.com/getsentry/sentry/pull/115594)
- Remove dead ISSUE_SUMMARY_FIXABILITY referrer by @chromy in [#115570](https://github.com/getsentry/sentry/pull/115570)
- Remove alert source from autofix automation by @chromy in [#115568](https://github.com/getsentry/sentry/pull/115568)
- Clean up LLM context hint in issue list by @Mihir-Mavalankar in [#115565](https://github.com/getsentry/sentry/pull/115565)
- Extract explorer sessions into a shared React context by @JonasBa in [#115515](https://github.com/getsentry/sentry/pull/115515)
- Adopt useModal in seer automation views by @evanpurkhiser in [#115131](https://github.com/getsentry/sentry/pull/115131)
- Descriptive tool call phrases in context hints by @Mihir-Mavalankar in [#115303](https://github.com/getsentry/sentry/pull/115303)
- Simplify AskSeerButton and centralize null handling by @JonasBa in [#115188](https://github.com/getsentry/sentry/pull/115188)
- Remove ExplorerFloatingActionButton by @JonasBa in [#115192](https://github.com/getsentry/sentry/pull/115192)
- Promote taxonomy routes to stable structured context by @Mihir-Mavalankar in [#115191](https://github.com/getsentry/sentry/pull/115191)
- Use send_halt_message for identity linking prompt in [#115099](https://github.com/getsentry/sentry/pull/115099)
- Skip events without stacktraces in lightweight RCA clustering by @yuvmen in [#115098](https://github.com/getsentry/sentry/pull/115098)
- Promote event routes to stable structured context flag by @Mihir-Mavalankar in [#115009](https://github.com/getsentry/sentry/pull/115009)
- Promote issue routes to stable structured context flag in [#114920](https://github.com/getsentry/sentry/pull/114920)
- Drop legacy night-shift columns and kind db_default in [#114828](https://github.com/getsentry/sentry/pull/114828)
- Genericize night shift result table by @trevor-e in [#114790](https://github.com/getsentry/sentry/pull/114790)

#### Seer Explorer

- Rewrite types to use zod schemas in [#115206](https://github.com/getsentry/sentry/pull/115206)
- Increase stale timeout to 120s in [#115386](https://github.com/getsentry/sentry/pull/115386)
- Remove unused isVisible and isMinimized props from InputSection by @aliu39 in [#115227](https://github.com/getsentry/sentry/pull/115227)

#### Settings

- Adopt useModal in settings views in [#115130](https://github.com/getsentry/sentry/pull/115130)
- Migrate sentry app form to useScrapsForm by @priscilawebdev in [#114138](https://github.com/getsentry/sentry/pull/114138)
- Collapse unused fields in project list requests by @scttcper in [#115021](https://github.com/getsentry/sentry/pull/115021)

#### Snapshots

- Fix snapshot product doc link in [#115410](https://github.com/getsentry/sentry/pull/115410)
- Update settings badge from alpha to beta by @mtopo27 in [#115275](https://github.com/getsentry/sentry/pull/115275)
- Improve responsiveness for snapshot detail view in [#114967](https://github.com/getsentry/sentry/pull/114967)

#### Spans

- Add back options for conditional flush cleanup by @lvthanh03 in [#115075](https://github.com/getsentry/sentry/pull/115075)
- Unregister graduated option `enforce-segment-size` by @lvthanh03 in [#114773](https://github.com/getsentry/sentry/pull/114773)

#### Types

- Add type stubs for prism-line-highlight plugin in [#115067](https://github.com/getsentry/sentry/pull/115067)
- Narrow type in Promise.catch from any to unknown in [#114849](https://github.com/getsentry/sentry/pull/114849)

#### Ui

- Remove dead ClippedBox height callback by @scttcper in [#115317](https://github.com/getsentry/sentry/pull/115317)
- Remove Ctrl+Shift+1 theme toggle keyboard shortcut by @JonasBa in [#114875](https://github.com/getsentry/sentry/pull/114875)

#### Other

- (agent) Refactor interrupt display logic to use a hasSentInterrupt flag by @aliu39 in [#115094](https://github.com/getsentry/sentry/pull/115094)
- (agent-ui) Use block id instead of timestamp for optimistic block logic by @aliu39 in [#115226](https://github.com/getsentry/sentry/pull/115226)
- (ai) Add form submit + mutation guidance to migration skill by @priscilawebdev in [#115358](https://github.com/getsentry/sentry/pull/115358)
- (api) Remove unused fileNameBlocklist constant in [#115183](https://github.com/getsentry/sentry/pull/115183)
- (app) Flatten root provider chain into a list by @evanpurkhiser in [#115311](https://github.com/getsentry/sentry/pull/115311)
- (arithmeticBuilder) Replace derived state with useMemo in story by @ryan953 in [#115145](https://github.com/getsentry/sentry/pull/115145)
- (artifact-bundles) Scope indexing state query to org by @scttcper in [#114183](https://github.com/getsentry/sentry/pull/114183)
- (assisted-query) Remove old ai_query analytics events and analyticsSource prop by @aliu39 in [#115243](https://github.com/getsentry/sentry/pull/115243)
- (attributes) Tidy up attribute getter functions by @nsdeschenes in [#114846](https://github.com/getsentry/sentry/pull/114846)
- (automations) Adopt useModal in action settings by @evanpurkhiser in [#115125](https://github.com/getsentry/sentry/pull/115125)
- (autopilot) Remove task scheduling for dead autopilot project by @vgrozdanic in [#115465](https://github.com/getsentry/sentry/pull/115465)
- (billing-platform) Log response in service method wrapper by @brendanhsentry in [#115246](https://github.com/getsentry/sentry/pull/115246)
- (Capacitor) Update getting started from new projects in [#113913](https://github.com/getsentry/sentry/pull/113913)
- (cmdk) Migrate command palette identifier lookup to apiOptions in [#114835](https://github.com/getsentry/sentry/pull/114835)
- (context engine) Add date and time data to context by @Mihir-Mavalankar in [#115392](https://github.com/getsentry/sentry/pull/115392)
- (crons) Adopt useModal in upgrade CTA in [#115118](https://github.com/getsentry/sentry/pull/115118)
- (data-forwarding) Ensure DataForwarding page is usable for members/team-admins in [#114859](https://github.com/getsentry/sentry/pull/114859)
- (ds) Remove reservoir sampling rule by @Dav1dde in [#115365](https://github.com/getsentry/sentry/pull/115365)
- (dynamic-sampling) Add status to duration metrics in per-org pipeline by @shellmayr in [#114954](https://github.com/getsentry/sentry/pull/114954)
- (endpoints) Remove old options by @tobias-wilfert in [#114951](https://github.com/getsentry/sentry/pull/114951)
- (eslint) Fixing violations and enabling no-prototype-builtins rule in [#114866](https://github.com/getsentry/sentry/pull/114866)
- (events) Adopt useModal in events interfaces by @evanpurkhiser in [#115116](https://github.com/getsentry/sentry/pull/115116)
- (explorer) Refactor optimistic block state in useSeerExplorer by @aliu39 in [#114603](https://github.com/getsentry/sentry/pull/114603)
- (feature-flags) Use React components for flag series tooltip by @TkDodo in [#114968](https://github.com/getsentry/sentry/pull/114968)
- (features) Remove organizations:discover flag in [#114895](https://github.com/getsentry/sentry/pull/114895)
- (flagpole-wildcard-op) Implementing 'matches' as a flagpole con… by @Abdkhan14 in [#115385](https://github.com/getsentry/sentry/pull/115385)
- (frontend) Use tsgo for frontend typecheck, upgrade tsgo by @scttcper in [#115504](https://github.com/getsentry/sentry/pull/115504)
- (gsAdmin) Migrate relocation modals to scraps by @priscilawebdev in [#115363](https://github.com/getsentry/sentry/pull/115363)
- (insights) Remove usage of `insights-prebuilt-dashboards` feature flag in [#114373](https://github.com/getsentry/sentry/pull/114373)
- (issue-details) Use React components for event markline tooltip in [#115043](https://github.com/getsentry/sentry/pull/115043)
- (lint) No-non-null-assertion in scraps by @TkDodo in [#115165](https://github.com/getsentry/sentry/pull/115165)
- (metrics) Remove now-unused prune_old_open_period_activity task in [#114897](https://github.com/getsentry/sentry/pull/114897)
- (monitors) Singularize Monitor Type labels by @souredoutlook in [#115100](https://github.com/getsentry/sentry/pull/115100)
- (mypy) Extend prevent-weaklist-additions hook to also guard disable_error_code section by @joshuarli in [#115217](https://github.com/getsentry/sentry/pull/115217)
- (occ-eap) Raise missing trace ID log to info by @thetruecpaul in [#115088](https://github.com/getsentry/sentry/pull/115088)
- (performance) Adopt useModal in performance views in [#115121](https://github.com/getsentry/sentry/pull/115121)
- (process-segments) Remove semantic partitioning option by @untitaker in [#115370](https://github.com/getsentry/sentry/pull/115370)
- (projects) Convert deprecated project redirect to hooks by @scttcper in [#115249](https://github.com/getsentry/sentry/pull/115249)
- (releases) Use React components for mobile builds chart tooltip in [#115044](https://github.com/getsentry/sentry/pull/115044)
- (relocation) Adopt useModal in relocation admin in [#115117](https://github.com/getsentry/sentry/pull/115117)
- (replay) Adopt useModal in replay components in [#115120](https://github.com/getsentry/sentry/pull/115120)
- (rules) Remove references to NeglectedRule in [#114894](https://github.com/getsentry/sentry/pull/114894)
- (scraps) Update FeatureBadge to use Tag variants with icon-only content in [#115064](https://github.com/getsentry/sentry/pull/115064)
- (slack) Update chart unfurl link-identity prompt copy by @DominikB2014 in [#115086](https://github.com/getsentry/sentry/pull/115086)
- (slot) Remove missing-outlet warning by @natemoo-re in [#115110](https://github.com/getsentry/sentry/pull/115110)
- (st) Add file to test mappings by @joshuarli in [#114882](https://github.com/getsentry/sentry/pull/114882)
- (supergroups) Drop deprecated `RCASource` in [#114912](https://github.com/getsentry/sentry/pull/114912)
- (tag) Use gap instead of margins for spacing by @evanpurkhiser in [#115020](https://github.com/getsentry/sentry/pull/115020)
- (tracemetrics) Refactor equation prefix stripping in alerts by @narsaynorath in [#114319](https://github.com/getsentry/sentry/pull/114319)
- (tsc) Switch useApiQuery to apiFetch and unify queryKey shape in [#114845](https://github.com/getsentry/sentry/pull/114845)
- (unfurl) Split explore unfurl parsing per dataset by @DominikB2014 in [#114764](https://github.com/getsentry/sentry/pull/114764)
- (webhooks) Add log to note stats on who is tripping the breaker by @Christinarlong in [#114888](https://github.com/getsentry/sentry/pull/114888)
- (workflow_engine) Pass workflow_id explicitly instead of via queryset annotation in [#114784](https://github.com/getsentry/sentry/pull/114784)
- Add simple dashboard generation instructions in [#115635](https://github.com/getsentry/sentry/pull/115635)
- Remove createDefinedContext utility, inline standard createContext + hooks in [#115544](https://github.com/getsentry/sentry/pull/115544)
- Migrate chartSelectionContext to nuqs by @ryan953 in [#115324](https://github.com/getsentry/sentry/pull/115324)
- Remove useResettableState() by @ryan953 in [#115512](https://github.com/getsentry/sentry/pull/115512)
- Inline getExtrapolateFromLocation and remove helper by @ryan953 in [#115445](https://github.com/getsentry/sentry/pull/115445)
- Upgrade backend mypy to 2.1.0 by @JoshFerge in [#115477](https://github.com/getsentry/sentry/pull/115477)
- Inline getTitleFromLocation helper function by @ryan953 in [#115441](https://github.com/getsentry/sentry/pull/115441)
- Add new referrer to track in-chat links in [#115398](https://github.com/getsentry/sentry/pull/115398)
- Add last_usage_ts to usage service in [#115353](https://github.com/getsentry/sentry/pull/115353)
- Migrate simple useQueryParamState call sites to nuqs in [#115310](https://github.com/getsentry/sentry/pull/115310)
- Drop withSentryAppComponents HoC by @evanpurkhiser in [#115334](https://github.com/getsentry/sentry/pull/115334)
- Drop withConfig HoC by @evanpurkhiser in [#115333](https://github.com/getsentry/sentry/pull/115333)
- Drop withOrganizations HoC by @evanpurkhiser in [#115321](https://github.com/getsentry/sentry/pull/115321)
- Upgrade `sentry-arroyo` from 2.39.1 to 2.39.2 by @george-sentry in [#115269](https://github.com/getsentry/sentry/pull/115269)
- Add seer paying orgs to context engine by @shruthilayaj in [#115208](https://github.com/getsentry/sentry/pull/115208)
- Clean up explorer index flags by @shruthilayaj in [#115186](https://github.com/getsentry/sentry/pull/115186)
- Bump protos in [#115187](https://github.com/getsentry/sentry/pull/115187)
- Bump protos in [#115152](https://github.com/getsentry/sentry/pull/115152)
- Run getsentry acceptance on gsApp changes by @priscilawebdev in [#114704](https://github.com/getsentry/sentry/pull/114704)
- Bump protos by @noahsmartin in [#115040](https://github.com/getsentry/sentry/pull/115040)
- Bump sentry-protos to 0.8.27 in [#114931](https://github.com/getsentry/sentry/pull/114931)
- Bump sentry-protos to 0.8.26 in [#114905](https://github.com/getsentry/sentry/pull/114905)
- Bump new development version by @sentry-release-bot[bot] in [7e8b2314](https://github.com/getsentry/sentry/commit/7e8b2314bba4310ca85da05f1515dd99ef527b00)

### Other

- fix(cells) Increase the task deadline for outbox scheduling in [#115636](https://github.com/getsentry/sentry/pull/115636)
- o11y(preprod): Add context to snapshot status check and PR comment logs in [#115612](https://github.com/getsentry/sentry/pull/115612)
- o11y(assisted-query): track result counts after AI query is applied in [#115240](https://github.com/getsentry/sentry/pull/115240)
- fix(relocations) Use str instead of uuid task parameter in [#115587](https://github.com/getsentry/sentry/pull/115587)
- chore(cells) Reduce indirection in organization.provisioning in [#115522](https://github.com/getsentry/sentry/pull/115522)
- fix(cells) Move metric collection for outbox backfill in [#115552](https://github.com/getsentry/sentry/pull/115552)
- Add evals devservices mode by @JoshFerge in [#115526](https://github.com/getsentry/sentry/pull/115526)
- ref(flex) run codemod on orphaned files by @JonasBa in [#115393](https://github.com/getsentry/sentry/pull/115393)
- feat(cells) Add option based control for cell rollout by @markstory in [#115409](https://github.com/getsentry/sentry/pull/115409)
- deps(scm): Upgrade sentry-scm to 0.14.0 in [#115376](https://github.com/getsentry/sentry/pull/115376)
- Fully remove issue alert columns on NotificationMessage in [#115327](https://github.com/getsentry/sentry/pull/115327)
- feat(cells) Make organization-create work in control silo by @markstory in [#115238](https://github.com/getsentry/sentry/pull/115238)
- fix(types) Remove sentry.net.http from the ignore list by @markstory in [#115185](https://github.com/getsentry/sentry/pull/115185)
- chore(cells) Remove org_setup_complete by @markstory in [#115103](https://github.com/getsentry/sentry/pull/115103)
- switch from alpha -> beta badge by @mtopo27 in [#115197](https://github.com/getsentry/sentry/pull/115197)
- Remove Rulefirehistory references in [#115035](https://github.com/getsentry/sentry/pull/115035)
- fix(spans) Trim environment names to prevent overflows in [#115141](https://github.com/getsentry/sentry/pull/115141)
- Remove references to RuleFireHistory by @ceorourke in [#115036](https://github.com/getsentry/sentry/pull/115036)
- chore(tests) Improve assertion failure messages for analytics events by @markstory in [#115002](https://github.com/getsentry/sentry/pull/115002)
- fix(cells) Add referrer to org create endpoint by @markstory in [#114962](https://github.com/getsentry/sentry/pull/114962)
- chore(cells) Remove remaining usage of deprecated provisioning options by @markstory in [#114879](https://github.com/getsentry/sentry/pull/114879)
- Add 'organizations:relay-default-trace-id' to config in [#114907](https://github.com/getsentry/sentry/pull/114907)
- Update SDK version and options by @cleptric in [#114856](https://github.com/getsentry/sentry/pull/114856)
- Additional logging and metrics for suspended user activity by @geoffg-sentry in [#114749](https://github.com/getsentry/sentry/pull/114749)

_Plus 1 more_

26.4.2
------

### New Features ✨

#### Aci

- Add inline alert creation to monitor details page by @malwilley in [#114395](https://github.com/getsentry/sentry/pull/114395)
- Hide team metric alerts triggered component in workflow engine UI by @ceorourke in [#114504](https://github.com/getsentry/sentry/pull/114504)

#### Admin

- Add admin audit log tab to customer details view by @swartzrock in [#113943](https://github.com/getsentry/sentry/pull/113943)
- Add legacy Seer migration action to customer admin by @swartzrock in [#114126](https://github.com/getsentry/sentry/pull/114126)

#### Autofix

- Open autofix evidence in new tab by @Zylphrex in [#114562](https://github.com/getsentry/sentry/pull/114562)
- Add re-run button to artifact cards by @Zylphrex in [#114204](https://github.com/getsentry/sentry/pull/114204)
- Add evidence buttons for git_search tool by @Zylphrex in [#113983](https://github.com/getsentry/sentry/pull/113983)
- Move evidence props resolver earlier by @Zylphrex in [#113936](https://github.com/getsentry/sentry/pull/113936)
- Render tool calls as autofix evidence by @Zylphrex in [#113832](https://github.com/getsentry/sentry/pull/113832)
- Conform to seer quotas for autofix by @Zylphrex in [#113604](https://github.com/getsentry/sentry/pull/113604)

#### Billing

- Add product trial banners for trace metrics by @k-fish in [#114078](https://github.com/getsentry/sentry/pull/114078)
- Add prev/next navigation to receipt details page by @swartzrock in [#113688](https://github.com/getsentry/sentry/pull/113688)

#### Cmdk

- Improve search recall with people/team/project actions and keyword synonyms by @JonasBa in [#114762](https://github.com/getsentry/sentry/pull/114762)
- Add bulk issue actions to command palette by @JonasBa in [#114278](https://github.com/getsentry/sentry/pull/114278)
- Add settings field search to command palette on settings pages by @JonasBa in [#114274](https://github.com/getsentry/sentry/pull/114274)
- Add copy stack trace action to issue details by @JonasBa in [#114275](https://github.com/getsentry/sentry/pull/114275)
- Surface current project Client Keys (DSN) in Project Settings by @JonasBa in [#114196](https://github.com/getsentry/sentry/pull/114196)
- Improve no-result query recall by @JonasBa in [#114236](https://github.com/getsentry/sentry/pull/114236)
- Add Tab shortcut to open Seer Explorer from command palette by @JonasBa in [#114119](https://github.com/getsentry/sentry/pull/114119)
- Treat Escape as back button by @JonasBa in [#114118](https://github.com/getsentry/sentry/pull/114118)
- Add assigned-to-me alias to issue filter actions by @JonasBa in [#114088](https://github.com/getsentry/sentry/pull/114088)
- Add Switch Organization action to command palette by @JonasBa in [#114084](https://github.com/getsentry/sentry/pull/114084)
- Add keyboard shortcut hints footer to command palette by @JonasBa in [#114055](https://github.com/getsentry/sentry/pull/114055)
- Add filter-by and sort actions to issues feed command palette by @JonasBa in [#113981](https://github.com/getsentry/sentry/pull/113981)
- Add usage & billing settings actions to command palette by @JonasBa in [#113964](https://github.com/getsentry/sentry/pull/113964)
- Add sort and save-view actions to Issues Feed command palette by @JonasBa in [#113938](https://github.com/getsentry/sentry/pull/113938)
- Add docs/documentation keywords to Help > Open Documentation action by @JonasBa in [#113935](https://github.com/getsentry/sentry/pull/113935)
- Add agent skill for implementing command palette actions by @JonasBa in [#113874](https://github.com/getsentry/sentry/pull/113874)
- Add icons to project and org settings actions by @JonasBa in [#113867](https://github.com/getsentry/sentry/pull/113867)
- Reset palette state on route change by @JonasBa in [#113862](https://github.com/getsentry/sentry/pull/113862)
- Add project settings actions by @JonasBa in [#113828](https://github.com/getsentry/sentry/pull/113828)
- Always render help search last; fix empty state during fetch by @JonasBa in [#113771](https://github.com/getsentry/sentry/pull/113771)

#### Dashboards

- Add Node.js runtime metrics prebuilt dashboard UI by @chargome in [#113517](https://github.com/getsentry/sentry/pull/113517)
- Backfill deprecated widget display types to area by @DominikB2014 in [#114560](https://github.com/getsentry/sentry/pull/114560)
- Add Copy Widget URL icon to the widget card header by @DominikB2014 in [#114594](https://github.com/getsentry/sentry/pull/114594)
- Default to table view on dashboards landing page by @gggritso in [#114182](https://github.com/getsentry/sentry/pull/114182)
- Display avatarUrl in revision list item by @skaasten in [#114199](https://github.com/getsentry/sentry/pull/114199)
- Return avatarUrl in dashboard revision createdBy response by @skaasten in [#114186](https://github.com/getsentry/sentry/pull/114186)
- UI to preview a revision before restoring it by @skaasten in [#113566](https://github.com/getsentry/sentry/pull/113566)
- Pass revision source for AI-assisted saves by @skaasten in [#113671](https://github.com/getsentry/sentry/pull/113671)
- Register Node.js runtime metrics prebuilt dashboard by @chargome in [#113516](https://github.com/getsentry/sentry/pull/113516)

#### Discover

- Move build query button to filters row by @priscilawebdev in [#113776](https://github.com/getsentry/sentry/pull/113776)
- Move primary actions to filter bar in page-frame mode by @JonasBa in [#113634](https://github.com/getsentry/sentry/pull/113634)

#### Dynamic Sampling

- Add per-org configuration by @shellmayr in [#114837](https://github.com/getsentry/sentry/pull/114837)
- Add per-org activity check by @shellmayr in [#114285](https://github.com/getsentry/sentry/pull/114285)
- Add org fan-out using buckets in redis & improve instrumentation by @shellmayr in [#114042](https://github.com/getsentry/sentry/pull/114042)
- Add per-org scheduler telemetry gates by @shellmayr in [#114031](https://github.com/getsentry/sentry/pull/114031)
- Add inert per-org scheduler cron by @shellmayr in [#114030](https://github.com/getsentry/sentry/pull/114030)

#### Eslint

- Enable @typescript-eslint/no-unnecessary-boolean-literal-compare by @JoshuaKGoldberg in [#113681](https://github.com/getsentry/sentry/pull/113681)
- Enable unicorn/no-useless-undefined by @JoshuaKGoldberg in [#113667](https://github.com/getsentry/sentry/pull/113667)
- Enable @typescript-eslint/non-nullable-type-assertion-style by @JoshuaKGoldberg in [#113676](https://github.com/getsentry/sentry/pull/113676)
- Enable @typescript-eslint/no-useless-default-assignment by @JoshuaKGoldberg in [#113678](https://github.com/getsentry/sentry/pull/113678)
- Enable unicorn/escape-case by @JoshuaKGoldberg in [#113677](https://github.com/getsentry/sentry/pull/113677)
- Enable unicorn/no-typeof-undefined by @JoshuaKGoldberg in [#113682](https://github.com/getsentry/sentry/pull/113682)
- Rule that disallows explicit type parameters on getQueryData and setQueryData by @TkDodo in [#113917](https://github.com/getsentry/sentry/pull/113917)
- Enable unicorn/no-useless-collection-argument by @JoshuaKGoldberg in [#113683](https://github.com/getsentry/sentry/pull/113683)
- Enable @typescript-eslint/prefer-return-this-type by @JoshuaKGoldberg in [#113684](https://github.com/getsentry/sentry/pull/113684)
- No-calling-components-as-functions by @TkDodo in [#113673](https://github.com/getsentry/sentry/pull/113673)

#### Explore

- Enable column editor drop downs to search the API by @nsdeschenes in [#114061](https://github.com/getsentry/sentry/pull/114061)
- Short circuit attribute value requests by @nsdeschenes in [#114338](https://github.com/getsentry/sentry/pull/114338)
- Add data-browsing-heat-map-widget feature flag by @gggritso in [#114717](https://github.com/getsentry/sentry/pull/114717)
- Save cross-event spans queries by @nsdeschenes in [#113417](https://github.com/getsentry/sentry/pull/113417)
- Add a prebuilt-query for AI Spans by @constantinius in [#111883](https://github.com/getsentry/sentry/pull/111883)
- Short-circuit attribute fetches when a shorter prefix returned empty by @nsdeschenes in [#113295](https://github.com/getsentry/sentry/pull/113295)
- Add support for arrays in Occurrences dataset by @manessaraj in [#113567](https://github.com/getsentry/sentry/pull/113567)
- Move to a sticky header layout by @nsdeschenes in [#113780](https://github.com/getsentry/sentry/pull/113780)
- Accept metrics as a cross-event type on saved queries by @nsdeschenes in [#113788](https://github.com/getsentry/sentry/pull/113788)

#### Explorer

- Stop polling on api error and show status code in empty state by @aliu39 in [#114273](https://github.com/getsentry/sentry/pull/114273)
- Implement chat links for drawer by @aliu39 in [#113849](https://github.com/getsentry/sentry/pull/113849)

#### Integrations

- Add `enabled` field to missing-members endpoint response by @evanpurkhiser in [#114462](https://github.com/getsentry/sentry/pull/114462)
- Drop SCM toggle fields from the organization details endpoint by @evanpurkhiser in [#113925](https://github.com/getsentry/sentry/pull/113925)
- Expose SCM toggles in integration config UI by @evanpurkhiser in [#113923](https://github.com/getsentry/sentry/pull/113923)
- Add SCM_INTEGRATION_CONFIG_BACKFILL outbox category by @evanpurkhiser in [#114160](https://github.com/getsentry/sentry/pull/114160)
- Read SCM toggles from OrganizationIntegration config behind feature flag by @evanpurkhiser in [#113864](https://github.com/getsentry/sentry/pull/113864)
- Add migration to backfill SCM toggles onto OrganizationIntegration config by @evanpurkhiser in [#113841](https://github.com/getsentry/sentry/pull/113841)
- Dual-write SCM org-option toggles onto OrganizationIntegration config by @evanpurkhiser in [#113842](https://github.com/getsentry/sentry/pull/113842)

#### Issues

- Pass active thread id to raw apple crash report by @scttcper in [#114258](https://github.com/getsentry/sentry/pull/114258)
- Allow prioritizing a thread in the Apple crash report by @scttcper in [#114231](https://github.com/getsentry/sentry/pull/114231)
- Render referenced-in-commit activity by @JoshFerge in [#114299](https://github.com/getsentry/sentry/pull/114299)
- Record per-branch timings for issue feed EAP double-read by @shashjar in [#113876](https://github.com/getsentry/sentry/pull/113876)
- Wire EAP double-read into issue feed search by @shashjar in [#112996](https://github.com/getsentry/sentry/pull/112996)
- Implement EAP group search for issue feed queries by @shashjar in [#112985](https://github.com/getsentry/sentry/pull/112985)
- Apply issue search conditions to prev/next event navigation by default by @shashjar in [#114063](https://github.com/getsentry/sentry/pull/114063)
- New stack trace on shared issues by @scttcper in [#111686](https://github.com/getsentry/sentry/pull/111686)

#### Minidump

- Add feature for uploading minidumps to object store by @tobias-wilfert in [#114851](https://github.com/getsentry/sentry/pull/114851)
- Add feature and option for uploading attachments to objectstore by @tobias-wilfert in [#113679](https://github.com/getsentry/sentry/pull/113679)

#### Night Shift

- Hand triage findings to autofix as user_context by @trevor-e in [#114276](https://github.com/getsentry/sentry/pull/114276)
- Add custom issue-details tool for agentic triage by @trevor-e in [#113982](https://github.com/getsentry/sentry/pull/113982)
- Add custom event-details tool for agentic triage by @trevor-e in [#113870](https://github.com/getsentry/sentry/pull/113870)

#### Nightshift

- Reorganize settings by @chromy in [#114171](https://github.com/getsentry/sentry/pull/114171)
- Stay on page when opening explorer by @chromy in [#113895](https://github.com/getsentry/sentry/pull/113895)
- Make table responsive by @chromy in [#113896](https://github.com/getsentry/sentry/pull/113896)
- Hook up button to manually trigger night-shift by @chromy in [#113804](https://github.com/getsentry/sentry/pull/113804)
- Add endpoint to manually trigger nightshift by @chromy in [#113803](https://github.com/getsentry/sentry/pull/113803)

#### Notifications

- Instrument killswitch mechanism for notifications by @hobzcalvin in [#114505](https://github.com/getsentry/sentry/pull/114505)
- Add sentry-app-webhook-disabled notification template by @Christinarlong in [#114114](https://github.com/getsentry/sentry/pull/114114)

#### Onboarding

- Refine SCM connect copy and visuals for legal review by @itsdangold in [#114655](https://github.com/getsentry/sentry/pull/114655)
- Add platform kind for SCM card display labels by @jaydgoss in [#114596](https://github.com/getsentry/sentry/pull/114596)
- Enforce display order for SCM feature cards by @jaydgoss in [#114481](https://github.com/getsentry/sentry/pull/114481)
- Force session replay for SCM onboarding flow by @jaydgoss in [#114329](https://github.com/getsentry/sentry/pull/114329)
- Add SCM-specific analytics variants to SetupDocs and back actions by @jaydgoss in [#113880](https://github.com/getsentry/sentry/pull/113880)

#### Ourlogs

- Switch table expando to visualizations, with collapsed chart previews by @JoshuaKGoldberg in [#114433](https://github.com/getsentry/sentry/pull/114433)
- Add trackAnalytics calls for new export modal by @JoshuaKGoldberg in [#113611](https://github.com/getsentry/sentry/pull/113611)
- Add export modal with row limit by @JoshuaKGoldberg in [#112674](https://github.com/getsentry/sentry/pull/112674)
- Add trackAnalytics for logs.explorer.continue_searching_clicked by @JoshuaKGoldberg in [#113668](https://github.com/getsentry/sentry/pull/113668)

#### Preprod

- Add per-category controls for snapshot PR comments (EME-1046) by @runningcode in [#114302](https://github.com/getsentry/sentry/pull/114302)
- Add Amplitude analytics to snapshot detail page by @mtopo27 in [#114767](https://github.com/getsentry/sentry/pull/114767)
- Add scroll wheel navigation in single snapshot view by @NicoHinderling in [#114565](https://github.com/getsentry/sentry/pull/114565)
- Add size status check rules API by @cameroncooke in [#114414](https://github.com/getsentry/sentry/pull/114414)
- Configure higher rate limits for image endpoint by @NicoHinderling in [#114559](https://github.com/getsentry/sentry/pull/114559)
- Add settings link to snapshot status checks by @NicoHinderling in [#114449](https://github.com/getsentry/sentry/pull/114449)
- Pare down snapshot search bar filters (EME-1071) by @runningcode in [#114316](https://github.com/getsentry/sentry/pull/114316)
- Update snapshot header with approval actions by @NicoHinderling in [#113959](https://github.com/getsentry/sentry/pull/113959)
- Complete the new snapshot viewer toolbar and controls by @NicoHinderling in [#113994](https://github.com/getsentry/sentry/pull/113994)
- Add view mode toggle between single and list views by @NicoHinderling in [#113993](https://github.com/getsentry/sentry/pull/113993)
- Add SnapshotListView virtualized list component by @NicoHinderling in [#113992](https://github.com/getsentry/sentry/pull/113992)
- Surface snapshot status check toggles in project settings by @mtopo27 in [#114220](https://github.com/getsentry/sentry/pull/114220)
- Surface install URL expiration via installInfo by @mtopo27 in [#114072](https://github.com/getsentry/sentry/pull/114072)
- Add fail_on_changed and fail_on_renamed snapshot status check options by @mtopo27 in [#114214](https://github.com/getsentry/sentry/pull/114214)
- Register git_* attributes in EAP attribute registry (EME-1047) by @runningcode in [#114153](https://github.com/getsentry/sentry/pull/114153)
- Track snapshots tab and row clicks by @mtopo27 in [#114067](https://github.com/getsentry/sentry/pull/114067)
- Add only-if-diff toggle for snapshot PR comments (EME-1046) by @runningcode in [#114035](https://github.com/getsentry/sentry/pull/114035)
- Add snapshot types and path helper by @NicoHinderling in [#113955](https://github.com/getsentry/sentry/pull/113955)
- Add app_info to snapshot response with prefetch by @NicoHinderling in [#113960](https://github.com/getsentry/sentry/pull/113960)
- Add granular installable app error codes (EME-883) by @runningcode in [#113440](https://github.com/getsentry/sentry/pull/113440)

#### Projects

- Remove Project Details removal banners by @gggritso in [#114600](https://github.com/getsentry/sentry/pull/114600)
- Add create_project_key, delete_project_key, delete_project RPCs by @BYK in [#113596](https://github.com/getsentry/sentry/pull/113596)

#### Releases

- Add activities for auto release resolutions by @JoshFerge in [#114443](https://github.com/getsentry/sentry/pull/114443)
- Add referenced-in-commit activity by @JoshFerge in [#114298](https://github.com/getsentry/sentry/pull/114298)

#### Replays

- Add bulk mark-as-viewed button by @JoshuaKGoldberg in [#113805](https://github.com/getsentry/sentry/pull/113805)
- Track event and video event counts on replay load by @gggritso in [#114001](https://github.com/getsentry/sentry/pull/114001)
- Accept events and transactions data_source on replay count by @mjq in [#113557](https://github.com/getsentry/sentry/pull/113557)
- Add replays as an events dataset by @wmak in [#113723](https://github.com/getsentry/sentry/pull/113723)

#### Repos

- Always show uninstall button, disabled without access in repos v2 by @evanpurkhiser in [#114751](https://github.com/getsentry/sentry/pull/114751)
- Add SCM repositories v2 page behind feature flag by @evanpurkhiser in [#114591](https://github.com/getsentry/sentry/pull/114591)
- Register scm-repositories-v2 feature flag by @evanpurkhiser in [#114558](https://github.com/getsentry/sentry/pull/114558)
- Add ScmRepositoryTable component and useRepoSearch hook by @evanpurkhiser in [#113570](https://github.com/getsentry/sentry/pull/113570)
- Add ConnectProviderDropdown component by @evanpurkhiser in [#113568](https://github.com/getsentry/sentry/pull/113568)
- Add NoIntegrationsEmptyState component by @evanpurkhiser in [#113569](https://github.com/getsentry/sentry/pull/113569)
- Track last_sync on OrganizationIntegration config by @evanpurkhiser in [#113686](https://github.com/getsentry/sentry/pull/113686)

#### Search

- Add userCount filter for issue search by @isaacwang-sentry in [#114814](https://github.com/getsentry/sentry/pull/114814)
- Add recommended sort to SortOptions enum by @mrduncan in [#113740](https://github.com/getsentry/sentry/pull/113740)

#### Seer

- Add ui_tools pass-through for client-side tool definitions by @JonasBa in [#114778](https://github.com/getsentry/sentry/pull/114778)
- Add seer-explorer-ui-tools feature flag by @JonasBa in [#114779](https://github.com/getsentry/sentry/pull/114779)
- Hide unconfigured Autofix projects by @ryan953 in [#114455](https://github.com/getsentry/sentry/pull/114455)
- Add structured LLM context for issue detail page by @Mihir-Mavalankar in [#114743](https://github.com/getsentry/sentry/pull/114743)
- Add projectSlug to the response of /autofix/automation-settings/ by @ryan953 in [#114457](https://github.com/getsentry/sentry/pull/114457)
- Add structured LLM context for issue list page by @Mihir-Mavalankar in [#114493](https://github.com/getsentry/sentry/pull/114493)
- Expose DSN lookup through public RPC by @JoshFerge in [#114514](https://github.com/getsentry/sentry/pull/114514)
- Allow admin night shift trigger to fan out to all orgs by @trevor-e in [#114496](https://github.com/getsentry/sentry/pull/114496)
- When repo is disabled, keep the Seer preference but filter it out in all read spots by @srest2021 in [#114326](https://github.com/getsentry/sentry/pull/114326)
- Open repo details in a GlobalDrawer by @ryan953 in [#113878](https://github.com/getsentry/sentry/pull/113878)
- Add project modal for Autofix by @ryan953 in [#113751](https://github.com/getsentry/sentry/pull/113751)
- Tag night_shift.triage_action with fixability threshold by @trevor-e in [#114404](https://github.com/getsentry/sentry/pull/114404)
- Show more workflow detail and add Autofix shortcut by @chromy in [#114340](https://github.com/getsentry/sentry/pull/114340)
- Default Night Shift to enabled by @chromy in [#114341](https://github.com/getsentry/sentry/pull/114341)
- Update Night Shift "default" label to on-by-default by @chromy in [#114342](https://github.com/getsentry/sentry/pull/114342)
- Plumb reasoning_effort through trigger_autofix_explorer by @trevor-e in [#114357](https://github.com/getsentry/sentry/pull/114357)
- Add structured LLM context for traces explorer page by @Mihir-Mavalankar in [#114347](https://github.com/getsentry/sentry/pull/114347)
- Log successful Slack agent triggers with referrer by @alexsohn1126 in [#114264](https://github.com/getsentry/sentry/pull/114264)
- Trigger explorer index if missing by @shruthilayaj in [#114219](https://github.com/getsentry/sentry/pull/114219)
- Code mode slash commands (off/on/only) by @azulus in [#114074](https://github.com/getsentry/sentry/pull/114074)
- Accept tri-state code mode (off/on/only) in explorer chat by @azulus in [#114259](https://github.com/getsentry/sentry/pull/114259)
- Add structured LLM context for trace details page by @Mihir-Mavalankar in [#114093](https://github.com/getsentry/sentry/pull/114093)
- Replay deferred Slack @-mentions after identity link by @alexsohn1126 in [#113940](https://github.com/getsentry/sentry/pull/113940)
- Allow manual night shift runs to be dry runs by @chromy in [#114036](https://github.com/getsentry/sentry/pull/114036)
- Add experiment tweaks to NightShiftTweaks model by @chromy in [#114034](https://github.com/getsentry/sentry/pull/114034)
- Apply night shift tweaks to org and project runs by @chromy in [#113905](https://github.com/getsentry/sentry/pull/113905)
- Add thinking blocks toggle to explorer chat by @chromy in [#113182](https://github.com/getsentry/sentry/pull/113182)
- Add seer-night-shift-settings feature flag by @chromy in [#113909](https://github.com/getsentry/sentry/pull/113909)
- Add get_dsn RPC method for Seer explorer agent by @JoshFerge in [#113881](https://github.com/getsentry/sentry/pull/113881)
- Parse night shift tweaks with a pydantic model by @chromy in [#113898](https://github.com/getsentry/sentry/pull/113898)
- Add SeerRun and SeerAgentRun mirror tables by @trevor-e in [#113483](https://github.com/getsentry/sentry/pull/113483)
- Add Alpha badge to Night Shift settings by @chromy in [#113787](https://github.com/getsentry/sentry/pull/113787)
- Add organization_id to Slack Seer agent analytics by @alexsohn1126 in [#113708](https://github.com/getsentry/sentry/pull/113708)
- Scaffold Night Shift settings section by @chromy in [#113697](https://github.com/getsentry/sentry/pull/113697)
- Add hotkey to global Ask Seer button by @natemoo-re in [#113759](https://github.com/getsentry/sentry/pull/113759)
- Add global `AskSeerButton` component by @natemoo-re in [#113727](https://github.com/getsentry/sentry/pull/113727)

#### Seer Explorer

- Add size="md" prop to TextArea components in inputSection by @aliu39 in [#113873](https://github.com/getsentry/sentry/pull/113873)
- Disable 'New chat' button when in empty state by @aliu39 in [#113840](https://github.com/getsentry/sentry/pull/113840)

#### Seer Slack

- Parse legacy attachments by @alexsohn1126 in [#114212](https://github.com/getsentry/sentry/pull/114212)
- Add hand-off button to slack autofix triggers by @leeandher in [#114089](https://github.com/getsentry/sentry/pull/114089)

#### Sentry Apps

- Enforce is_disabled at the endpoint layer by @Christinarlong in [#114469](https://github.com/getsentry/sentry/pull/114469)
- Add is_disabled field to SentryApp model by @Christinarlong in [#114263](https://github.com/getsentry/sentry/pull/114263)
- Expose creator_label on RpcSentryApp by @Christinarlong in [#114113](https://github.com/getsentry/sentry/pull/114113)

#### Slack

- Apply dashboard global filters when unfurling widgets by @DominikB2014 in [#114435](https://github.com/getsentry/sentry/pull/114435)
- Request extended OAuth scopes on production install by @alexsohn1126 in [#114091](https://github.com/getsentry/sentry/pull/114091)
- Unfurl issue dashboard widgets by @DominikB2014 in [#113941](https://github.com/getsentry/sentry/pull/113941)
- Unfurl mobile-build dashboard widgets by @DominikB2014 in [#113939](https://github.com/getsentry/sentry/pull/113939)
- Unfurl error-events dashboard widgets by @DominikB2014 in [#113937](https://github.com/getsentry/sentry/pull/113937)
- Add preferred organization stage for resolution by @leeandher in [#113854](https://github.com/getsentry/sentry/pull/113854)
- Add link parsing org esolution for multi-org seer events by @leeandher in [#113846](https://github.com/getsentry/sentry/pull/113846)

#### Snapshots

- Add scroll progress indicator to snapshot list toolbar by @NicoHinderling in [#114484](https://github.com/getsentry/sentry/pull/114484)
- Add Cmd/Ctrl+Arrow shortcuts to jump to first/last image by @NicoHinderling in [#114475](https://github.com/getsentry/sentry/pull/114475)
- Add Build Metadata modal to snapshot actions menu by @NicoHinderling in [#114470](https://github.com/getsentry/sentry/pull/114470)
- Show tooltip on truncated sidebar item names by @NicoHinderling in [#114460](https://github.com/getsentry/sentry/pull/114460)

#### Source Map Config Issues

- Switching to sentry metrics to measure cross-project impact by @Abdkhan14 in [#114461](https://github.com/getsentry/sentry/pull/114461)
- Filtering processing errors by source… by @Abdkhan14 in [#113809](https://github.com/getsentry/sentry/pull/113809)

#### Spans

- Detach subsegment when parent set is being flushed by @lvthanh03 in [#114580](https://github.com/getsentry/sentry/pull/114580)
- Add redis lock at flush time to not produce duplicate spans by @lvthanh03 in [#113850](https://github.com/getsentry/sentry/pull/113850)

#### Supergroups

- Track total supergroups viewed by @cvxluo in [#114606](https://github.com/getsentry/sentry/pull/114606)
- Sync drawer state to a query param by @scttcper in [#114116](https://github.com/getsentry/sentry/pull/114116)
- Add assignee summary to supergroups endpoint by @cvxluo in [#113856](https://github.com/getsentry/sentry/pull/113856)
- Add issues-with-supergroups endpoint by @cvxluo in [#113563](https://github.com/getsentry/sentry/pull/113563)

#### Tracemetrics

- Add feature flag for equations in dashboards by @narsaynorath in [#114720](https://github.com/getsentry/sentry/pull/114720)
- Change beta flags to new flags by @narsaynorath in [#114157](https://github.com/getsentry/sentry/pull/114157)
- Link Explore to Alerts/Detectors by @narsaynorath in [#113738](https://github.com/getsentry/sentry/pull/113738)
- Strip equation prefix from occurrence title by @narsaynorath in [#114038](https://github.com/getsentry/sentry/pull/114038)
- Hide special metrics keys in scrubbing dropdown by @narsaynorath in [#113807](https://github.com/getsentry/sentry/pull/113807)

#### Users

- Add suspension UI to gsAdmin user details by @dashed in [#114354](https://github.com/getsentry/sentry/pull/114354)
- Enforce account suspension across all auth paths by @dashed in [#114349](https://github.com/getsentry/sentry/pull/114349)
- Add is_suspended field to User model by @dashed in [#114328](https://github.com/getsentry/sentry/pull/114328)

#### Other

- (ai) Add output messages field renderer by @obostjancic in [#114412](https://github.com/getsentry/sentry/pull/114412)
- (ai-agents) Show estimated cost on AI agents overview by @obostjancic in [#114702](https://github.com/getsentry/sentry/pull/114702)
- (alerts) Add integration footer to alert action dropdown by @souredoutlook in [#113944](https://github.com/getsentry/sentry/pull/113944)
- (analytics) Track metrics widgets on dashboards for engagement by @bcoe in [#114195](https://github.com/getsentry/sentry/pull/114195)
- (api-docs) Document collapse query param on issue detail and short ID endpoints by @MathurAditya724 in [#114279](https://github.com/getsentry/sentry/pull/114279)
- (broadcasts) Add sync_locked to protect admin edits from changelog sync by @rahulchhabria in [#113633](https://github.com/getsentry/sentry/pull/113633)
- (chunk-upload) Add zstd compression support for sourcemap uploads by @BYK in [#113760](https://github.com/getsentry/sentry/pull/113760)
- (ci) Report backend test failures cleans up stale comments by @joshuarli in [#113963](https://github.com/getsentry/sentry/pull/113963)
- (code-review) Forward repo deletion to seer by @suejungshin in [#114117](https://github.com/getsentry/sentry/pull/114117)
- (conversations) Show tool input params in chat tool call lines by @matejminar in [#113888](https://github.com/getsentry/sentry/pull/113888)
- (cross-events) Support metric cross event querying by @nsdeschenes in [#113703](https://github.com/getsentry/sentry/pull/113703)
- (data-export) Render export_format extension in button text by @JoshuaKGoldberg in [#113591](https://github.com/getsentry/sentry/pull/113591)
- (detectors) Cache disabled Detectors in the source-based Detector cache by @kcons in [#114193](https://github.com/getsentry/sentry/pull/114193)
- (devserver) Auto-detect free port for dev-ui by @JonasBa in [#113961](https://github.com/getsentry/sentry/pull/113961)
- (errors) Add chart content and export/settings buttons by @nikkikapadia in [#113693](https://github.com/getsentry/sentry/pull/113693)
- (export) Support arrays in TraceItemDetailsEndpoint by @manessaraj in [#114353](https://github.com/getsentry/sentry/pull/114353)
- (github-enterprise) Support GitHub Enterprise Cloud (GHE.com) webhooks and API by @tnt-sentry in [#113966](https://github.com/getsentry/sentry/pull/113966)
- (hotkey) Add `mod` as alternative to `cmd`-on-mac, else `ctrl` by @natemoo-re in [#114198](https://github.com/getsentry/sentry/pull/114198)
- (issue-details) Show detector settings link for AI-detected issues by @roggenkemper in [#114062](https://github.com/getsentry/sentry/pull/114062)
- (issue-detection) Filter projects to those with transaction data by @roggenkemper in [#114716](https://github.com/getsentry/sentry/pull/114716)
- (llm-issue-detection) Forward plan_tier to seer budget check by @roggenkemper in [#114314](https://github.com/getsentry/sentry/pull/114314)
- (np) Warn, don't fail on missing test email configuration by @hobzcalvin in [#114506](https://github.com/getsentry/sentry/pull/114506)
- (oauth) Add age column to application settings by @dcramer in [#114736](https://github.com/getsentry/sentry/pull/114736)
- (organizations) Add find_organization_id_by_option_value RPC by @dashed in [#114203](https://github.com/getsentry/sentry/pull/114203)
- (profiling) Support span streaming on continuous profile page by @mjq in [#114184](https://github.com/getsentry/sentry/pull/114184)
- (repositories) Add api to expose auto sync for repositories by @wedamija in [#114396](https://github.com/getsentry/sentry/pull/114396)
- (scm) Get permissions from the GitHub App installation by @jacquev6 in [#114163](https://github.com/getsentry/sentry/pull/114163)
- (search-query-build) Force cmd + del to reset query builder by @nsdeschenes in [#114305](https://github.com/getsentry/sentry/pull/114305)
- (search-query-builder) Add highlighted text by @nsdeschenes in [#114472](https://github.com/getsentry/sentry/pull/114472)
- (seer agent) Add esc as a way to stop thinking by @sehr-m in [#113734](https://github.com/getsentry/sentry/pull/113734)
- (sentry apps) Send email when circuit breaker flips for webhook disabling by @Christinarlong in [#114115](https://github.com/getsentry/sentry/pull/114115)
- (skills) Add django-models agent skill by @trevor-e in [#113837](https://github.com/getsentry/sentry/pull/113837)
- (snuba) Add sample rate option for span with errors tracking by @constantinius in [#113785](https://github.com/getsentry/sentry/pull/113785)
- (taskworker) Accept Pod Name Argument for Push Taskworker by @george-sentry in [#114358](https://github.com/getsentry/sentry/pull/114358)
- (tokens) Make org:ci a first-class token scope by @dcramer in [#113394](https://github.com/getsentry/sentry/pull/113394)
- (trace-waterfall) Update empty state copy by @nsdeschenes in [#113815](https://github.com/getsentry/sentry/pull/113815)
- (uptime) Use get_detectors_by_data_source for cache by @kcons in [#114216](https://github.com/getsentry/sentry/pull/114216)

### Bug Fixes 🐛

#### Aci

- Change the issue stream query filter from detector to monitor by @saponifi3d in [#114796](https://github.com/getsentry/sentry/pull/114796)
- Re-land GitHub ticket action validation (#114095) with schema and selective test fix by @joshuarli in [#114500](https://github.com/getsentry/sentry/pull/114500)
- Surface API error detail in edit form save toast by @malwilley in [#114444](https://github.com/getsentry/sentry/pull/114444)
- Make ACTION_TARGET_TYPE_TO_STRING complete by @kcons in [#114482](https://github.com/getsentry/sentry/pull/114482)
- Don't show deactivated user id for detector created by by @ceorourke in [#114361](https://github.com/getsentry/sentry/pull/114361)
- Add an extra guard to legacy alert matching when executing an action by @malwilley in [#113990](https://github.com/getsentry/sentry/pull/113990)
- Preserve additional_data keys when serializing ticket actions by @malwilley in [#113770](https://github.com/getsentry/sentry/pull/113770)
- Rename automation to alert by @ceorourke in [#113865](https://github.com/getsentry/sentry/pull/113865)
- Fix bug in detector query filter when using workflow_ids by @saponifi3d in [#113768](https://github.com/getsentry/sentry/pull/113768)

#### Ai Conversations

- Extract gen_ai.output.messages when value is a string by @obostjancic in [#114151](https://github.com/getsentry/sentry/pull/114151)
- Ignore page filters on conversation detail by @obostjancic in [#114148](https://github.com/getsentry/sentry/pull/114148)
- Order conversation messages by span start/end by @obostjancic in [#114129](https://github.com/getsentry/sentry/pull/114129)

#### Alerts

- Stop writing rule environment into the metric alert URL by @malwilley in [#114206](https://github.com/getsentry/sentry/pull/114206)
- Skip orphaned triggers during detector serialization by @kcons in [#113772](https://github.com/getsentry/sentry/pull/113772)

#### Api

- Sync email_unique when primary email changes by @michelletran-sentry in [#114085](https://github.com/getsentry/sentry/pull/114085)
- Tighten project scoping on release-thresholds index by @michelletran-sentry in [#114049](https://github.com/getsentry/sentry/pull/114049)
- Add ViewerContextAuthentication to DRF default auth classes by @azulus in [#113985](https://github.com/getsentry/sentry/pull/113985)
- Catch OverflowError for out-of-range timestamp params by @mrduncan in [#113920](https://github.com/getsentry/sentry/pull/113920)

#### Autofix

- Handle errors in code generation better by @Zylphrex in [#114423](https://github.com/getsentry/sentry/pull/114423)
- Fix navigating to stale location in onClose by @aliu39 in [#113877](https://github.com/getsentry/sentry/pull/113877)
- Poll autofix state slower by @Zylphrex in [#114218](https://github.com/getsentry/sentry/pull/114218)
- Close drawer when navigating outside of current issue by @natemoo-re in [#113814](https://github.com/getsentry/sentry/pull/113814)

#### Ci

- Use current base commit to calculate type coverage by @natemoo-re in [#114739](https://github.com/getsentry/sentry/pull/114739)
- Fix snapshots to force usage of merge-base by @rbro112 in [#114519](https://github.com/getsentry/sentry/pull/114519)

#### Cmdk

- Restore Zendesk index to help search by @JonasBa in [#114368](https://github.com/getsentry/sentry/pull/114368)
- Remove extra virtualizer padding from command palette by @JonasBa in [#114257](https://github.com/getsentry/sentry/pull/114257)
- Preserve mouse-leave selection state by @JonasBa in [#114254](https://github.com/getsentry/sentry/pull/114254)
- Keep virtualized keyboard focus stable by @JonasBa in [#114202](https://github.com/getsentry/sentry/pull/114202)
- Prevent leading icon flash when clearing the input by @JonasBa in [#113975](https://github.com/getsentry/sentry/pull/113975)
- Show flat project settings list in browse mode by @JonasBa in [#113872](https://github.com/getsentry/sentry/pull/113872)
- Defer state reset until close animation completes by @JonasBa in [#113833](https://github.com/getsentry/sentry/pull/113833)

#### Conversations

- Keep detail panels independently scrollable by @obostjancic in [#114306](https://github.com/getsentry/sentry/pull/114306)
- Only show preview tooltips on overflow by @obostjancic in [#114294](https://github.com/getsentry/sentry/pull/114294)
- Collapse long traces list into '+N more' dropdown by @obostjancic in [#114041](https://github.com/getsentry/sentry/pull/114041)
- Improve trace view conversation panel UX by @obostjancic in [#113661](https://github.com/getsentry/sentry/pull/113661)

#### Dashboards

- Dashboard card preview misalignment by @nikkikapadia in [#114628](https://github.com/getsentry/sentry/pull/114628)
- Show last editor instead of creator on current version by @skaasten in [#114471](https://github.com/getsentry/sentry/pull/114471)
- Detect text widget content changes in revision diff by @skaasten in [#114479](https://github.com/getsentry/sentry/pull/114479)
- Use avatarType from API to render correct avatar in revision list by @skaasten in [#114336](https://github.com/getsentry/sentry/pull/114336)
- Remove checks needed for old pre-built dashboard handling by @gggritso in [#114249](https://github.com/getsentry/sentry/pull/114249)
- Return avatarType and correct avatarUrl in revision createdBy by @skaasten in [#114221](https://github.com/getsentry/sentry/pull/114221)
- Filter prebuilt dashboards server-side in add to dashboard modal by @DominikB2014 in [#114210](https://github.com/getsentry/sentry/pull/114210)
- Remove dashboard redirects to old pre-built dashboard by @gggritso in [#113758](https://github.com/getsentry/sentry/pull/113758)
- Allow wheel widgets to save with null limit by @DominikB2014 in [#114094](https://github.com/getsentry/sentry/pull/114094)
- Adds stacked_area to display type blocklist for generated dashboards by @edwardgou-sentry in [#113934](https://github.com/getsentry/sentry/pull/113934)
- Add validator in dashboard generation to enforce multiqueries having the same aggregates, columns, fields, and orderby by @edwardgou-sentry in [#113922](https://github.com/getsentry/sentry/pull/113922)

#### Detectors

- Clear out owners fields when transfering Detectors to a new org by @kcons in [#114333](https://github.com/getsentry/sentry/pull/114333)
- Propagate environment to metric issue occurrences by @malwilley in [#114201](https://github.com/getsentry/sentry/pull/114201)
- Clarify Detector status vs enabled; update code accordingly by @kcons in [#113761](https://github.com/getsentry/sentry/pull/113761)

#### Discover

- Remove my /result page redirect hacks by @nikkikapadia in [#113921](https://github.com/getsentry/sentry/pull/113921)
- Skip homepage query when discover-query is disabled by @evanpurkhiser in [#113911](https://github.com/getsentry/sentry/pull/113911)
- Add in redirect for discover-basic homepage by @nikkikapadia in [#113904](https://github.com/getsentry/sentry/pull/113904)
- Nav item has no redirect for discover basic users by @nikkikapadia in [#113847](https://github.com/getsentry/sentry/pull/113847)
- Render query name inside breadcrumb by @priscilawebdev in [#113656](https://github.com/getsentry/sentry/pull/113656)

#### Drawer

- Extend panel background past right edge by @evanpurkhiser in [#113919](https://github.com/getsentry/sentry/pull/113919)
- Tighten Seer Explorer header spacing by @JonasBa in [#113729](https://github.com/getsentry/sentry/pull/113729)

#### Experiments

- Skip exposure for non-experiment features by @jaydgoss in [#113698](https://github.com/getsentry/sentry/pull/113698)
- Close Amplitude race on experiment exposure by @jaydgoss in [#113635](https://github.com/getsentry/sentry/pull/113635)

#### Explore

- Avoid rendering empty Layout.Header on traces page by @nsdeschenes in [#113952](https://github.com/getsentry/sentry/pull/113952)
- Reduce repeated trace metric requests by @nsdeschenes in [#113660](https://github.com/getsentry/sentry/pull/113660)

#### Explorer

- Ensure discover errors tool link has fields by @Zylphrex in [#114573](https://github.com/getsentry/sentry/pull/114573)
- Conversation_url should always redirect to organizationSlug subdomain by @aliu39 in [#114344](https://github.com/getsentry/sentry/pull/114344)
- Fix slide in animation by @aliu39 in [#114250](https://github.com/getsentry/sentry/pull/114250)
- Move tool call status to text tooltip, differentiate failed vs empty by @aliu39 in [#113965](https://github.com/getsentry/sentry/pull/113965)
- Fix  broken runId state by @aliu39 in [#113748](https://github.com/getsentry/sentry/pull/113748)

#### Hotkey

- Guard against undefined event.key and skip IME composition events by @sentry in [#114371](https://github.com/getsentry/sentry/pull/114371)
- Migrate `useHotkeys` to `event.key|code` by @natemoo-re in [#114192](https://github.com/getsentry/sentry/pull/114192)

#### Integrations

- Register missing GitHub project management feature flag by @kcons in [#114789](https://github.com/getsentry/sentry/pull/114789)
- Match SCM repos by externalId by @jaydgoss in [#113949](https://github.com/getsentry/sentry/pull/113949)
- Support multiple provider values in organization-integrations endpoint by @Christinarlong in [#114393](https://github.com/getsentry/sentry/pull/114393)
- URL-safe quote project_id by @cmanallen in [#114418](https://github.com/getsentry/sentry/pull/114418)
- Route Perforce install through API pipeline modal by @mujacica in [#114312](https://github.com/getsentry/sentry/pull/114312)
- Switch SCM backfill migration to emit cell outboxes by @evanpurkhiser in [#114167](https://github.com/getsentry/sentry/pull/114167)
- Scope serialize_repository RPC by organization_id by @michelletran-sentry in [#114179](https://github.com/getsentry/sentry/pull/114179)
- Retry SCM backfill as a region-silo true-only scan by @evanpurkhiser in [#114046](https://github.com/getsentry/sentry/pull/114046)
- Use cell RPC for SCM backfill option reads by @evanpurkhiser in [#113908](https://github.com/getsentry/sentry/pull/113908)
- Return existing repo on concurrent create race by @jaydgoss in [#113813](https://github.com/getsentry/sentry/pull/113813)
- Match installed repos by external_id by @evanpurkhiser in [#113593](https://github.com/getsentry/sentry/pull/113593)

#### Issues

- When navigating issue groups, reset stack trace by @scttcper in [#114801](https://github.com/getsentry/sentry/pull/114801)
- Use tag-aware condition resolver for seen stats badge & sparkline by @shashjar in [#114245](https://github.com/getsentry/sentry/pull/114245)
- Use Heading in sentry app external issue modal title by @evanpurkhiser in [#114748](https://github.com/getsentry/sentry/pull/114748)
- Load member store on issue details page by @scttcper in [#114508](https://github.com/getsentry/sentry/pull/114508)
- Preserve clipped box reveal state by @scttcper in [#114489](https://github.com/getsentry/sentry/pull/114489)
- Route adjacent-event lookups to Events dataset by @yuvmen in [#114474](https://github.com/getsentry/sentry/pull/114474)
- Improve issue view title generation prompt by @scttcper in [#114391](https://github.com/getsentry/sentry/pull/114391)
- Persist stack trace display options by @scttcper in [#114256](https://github.com/getsentry/sentry/pull/114256)
- Thread selector dropdown order on event navigation by @scttcper in [#113946](https://github.com/getsentry/sentry/pull/113946)

#### Metrics

- Stabilize metric selector hover panel by @nsdeschenes in [#114162](https://github.com/getsentry/sentry/pull/114162)
- Use default value instead of hack by @wmak in [#113731](https://github.com/getsentry/sentry/pull/113731)

#### Notifications

- Filter organization-integrations to only allowed providers by @Christinarlong in [#114394](https://github.com/getsentry/sentry/pull/114394)
- Don't assume context.replay is not None by @kcons in [#114370](https://github.com/getsentry/sentry/pull/114370)
- Don't use None when a dict is expected by @kcons in [#114247](https://github.com/getsentry/sentry/pull/114247)
- Recursively serialize datetime in task arguments by @untitaker in [#114048](https://github.com/getsentry/sentry/pull/114048)

#### Onboarding

- Swap to variant prop on btn by @nsdeschenes in [#114842](https://github.com/getsentry/sentry/pull/114842)
- Add upgrade suffix to SCM metrics tooltip by @jaydgoss in [#114518](https://github.com/getsentry/sentry/pull/114518)
- Sync SCM context with product toggles on setup-docs by @jaydgoss in [#113763](https://github.com/getsentry/sentry/pull/113763)

#### Options

- Limit option logging by @klochek in [#114187](https://github.com/getsentry/sentry/pull/114187)
- Fix system options allowlist checks by @klochek in [#114181](https://github.com/getsentry/sentry/pull/114181)

#### Ourlogs

- Use default yAxisSplitNumber behavior for TimeSeriesWidgetVisualization by @JoshuaKGoldberg in [#113741](https://github.com/getsentry/sentry/pull/113741)
- Handle collapsing row heights in infinite table measurements by @JoshuaKGoldberg in [#113602](https://github.com/getsentry/sentry/pull/113602)

#### Preprod

- Derive sidebar highlight from selection state in list view by @NicoHinderling in [#114744](https://github.com/getsentry/sentry/pull/114744)
- Stabilize scroll position in Split mode snapshot list by @NicoHinderling in [#114589](https://github.com/getsentry/sentry/pull/114589)
- Keep snapshot group headers visible by @mtopo27 in [#114468](https://github.com/getsentry/sentry/pull/114468)
- Show total image count in snapshot status pills by @NicoHinderling in [#114561](https://github.com/getsentry/sentry/pull/114561)
- Detect renames when multiple files share the same content hash by @NicoHinderling in [#114497](https://github.com/getsentry/sentry/pull/114497)
- Stabilize snapshot toolbar controls by @runningcode in [#114409](https://github.com/getsentry/sentry/pull/114409)
- Keep snapshot diff toggle visible by @runningcode in [#114415](https://github.com/getsentry/sentry/pull/114415)
- Enforce has_project_access on snapshot detail GET and DELETE by @michelletran-sentry in [#114169](https://github.com/getsentry/sentry/pull/114169)
- Handle 404 gracefully in install details (EME-883) by @runningcode in [#113149](https://github.com/getsentry/sentry/pull/113149)

#### Replays

- Ignore issue stream sort on issue replays by @scttcper in [#114654](https://github.com/getsentry/sentry/pull/114654)
- Require project:write or project:admin to delete a replay by @michelletran-sentry in [#114159](https://github.com/getsentry/sentry/pull/114159)
- Constrain logs layout with ViewportConstrainedPage by @JoshuaKGoldberg in [#113899](https://github.com/getsentry/sentry/pull/113899)
- Disable the dataset by @wmak in [#113824](https://github.com/getsentry/sentry/pull/113824)

#### Repositories

- Silence github errors when performing auto-sync by @wedamija in [#114650](https://github.com/getsentry/sentry/pull/114650)
- Silence bitbucket errors when performing auto-sync by @wedamija in [#114651](https://github.com/getsentry/sentry/pull/114651)
- Fix some more VSTS repository errors by @wedamija in [#114643](https://github.com/getsentry/sentry/pull/114643)
- Silence gitlab errors when performing auto-sync by @wedamija in [#114647](https://github.com/getsentry/sentry/pull/114647)
- Don't raise errors for broken scms in repo sync task by @wedamija in [#113769](https://github.com/getsentry/sentry/pull/113769)
- Make sure that the repo-sync only disables tasks that haven't had any related activity for 30 days by @wedamija in [#114005](https://github.com/getsentry/sentry/pull/114005)
- Fix repo syncing to skip deletions if we hit the pagination limit when fetching repositories by @wedamija in [#113978](https://github.com/getsentry/sentry/pull/113978)
- Make sure we write `external_id` during auto source code mapping by @wedamija in [#113695](https://github.com/getsentry/sentry/pull/113695)

#### Search

- Don't assume non-empty projects in get_teams_for_users by @kcons in [#114517](https://github.com/getsentry/sentry/pull/114517)
- Map bare `duration` to `transaction.duration` in search parser by @BYK in [#114473](https://github.com/getsentry/sentry/pull/114473)

#### Search Query Builder

- Cmd del not clearing free text by @nsdeschenes in [#114577](https://github.com/getsentry/sentry/pull/114577)
- Fix semver issues and enable limiting keys to single selects by @nsdeschenes in [#114290](https://github.com/getsentry/sentry/pull/114290)

#### Seer

- Honor project stopping point preference in night shift runs by @trevor-e in [#114735](https://github.com/getsentry/sentry/pull/114735)
- Route seat-based-seer-enabled check per-org in night shift cron by @trevor-e in [#114590](https://github.com/getsentry/sentry/pull/114590)
- Tidy up the workflows table by @trevor-e in [#114545](https://github.com/getsentry/sentry/pull/114545)
- Persist night shift agent_run_id as soon as the run starts by @trevor-e in [#114544](https://github.com/getsentry/sentry/pull/114544)
- Pre-filter night-shift schedule by SeerProjectRepository by @trevor-e in [#114451](https://github.com/getsentry/sentry/pull/114451)
- Branch trigger_handoff on autofix-on-explorer flag by @leeandher in [#114360](https://github.com/getsentry/sentry/pull/114360)
- Open metrics links with encoded query state by @isaacwang-sentry in [#114237](https://github.com/getsentry/sentry/pull/114237)
- Responsive drawer handling by @natemoo-re in [#114325](https://github.com/getsentry/sentry/pull/114325)
- Hardcode alt layouts for seer hotkey by @natemoo-re in [#114238](https://github.com/getsentry/sentry/pull/114238)
- Propagate viewer_context on explorer run polling by @trevor-e in [#114281](https://github.com/getsentry/sentry/pull/114281)
- Hide hotkey on mobile by @natemoo-re in [#114176](https://github.com/getsentry/sentry/pull/114176)
- Clear Seer automation handoff preference atomically by @srest2021 in [#114073](https://github.com/getsentry/sentry/pull/114073)
- Cap profile execution tree depth to prevent Pydantic recursion errors by @Mihir-Mavalankar in [#114070](https://github.com/getsentry/sentry/pull/114070)
- Respect context engine toggle for screenshot selection by @Mihir-Mavalankar in [#114008](https://github.com/getsentry/sentry/pull/114008)
- Normalize bulk-selection alert styles for Autofix and Code Review by @ryan953 in [#113868](https://github.com/getsentry/sentry/pull/113868)
- Always use default variant by @natemoo-re in [#113800](https://github.com/getsentry/sentry/pull/113800)
- Center loading and toolcall states by @natemoo-re in [#113767](https://github.com/getsentry/sentry/pull/113767)
- Don't allow images in markdown by @chromy in [#113726](https://github.com/getsentry/sentry/pull/113726)
- Introduce synced useSeerExplorerRunId hook by @natemoo-re in [#113757](https://github.com/getsentry/sentry/pull/113757)
- Use animated icon for busy state by @natemoo-re in [#113746](https://github.com/getsentry/sentry/pull/113746)
- Fix textarea autosize and scrollbar bugs by @JonasBa in [#113745](https://github.com/getsentry/sentry/pull/113745)
- Inline explorer input action buttons by @JonasBa in [#113735](https://github.com/getsentry/sentry/pull/113735)
- Wrap user messages by @JonasBa in [#113725](https://github.com/getsentry/sentry/pull/113725)

#### Seer Agent

- Remove restart icon by @sehr-m in [#113733](https://github.com/getsentry/sentry/pull/113733)
- Tool call changes, icon changes, messages max width by @sehr-m in [#113732](https://github.com/getsentry/sentry/pull/113732)

#### Settings

- Consistently use row layout by @TkDodo in [#114150](https://github.com/getsentry/sentry/pull/114150)
- Preserve custom integration breadcrumb title by @priscilawebdev in [#114127](https://github.com/getsentry/sentry/pull/114127)
- Breadcrumb duplication on sentry app pages by @priscilawebdev in [#113891](https://github.com/getsentry/sentry/pull/113891)

#### Slack

- Drop stale aggregateSort in explore unfurl when field is unknown by @DominikB2014 in [#114334](https://github.com/getsentry/sentry/pull/114334)
- Prompt unlinked users to link identity for dashboards URLs by @DominikB2014 in [#113590](https://github.com/getsentry/sentry/pull/113590)
- Prefer aggregateField over visualize in explore unfurl by @DominikB2014 in [#114188](https://github.com/getsentry/sentry/pull/114188)
- Default dashboard unfurl to My Projects, not All Projects by @DominikB2014 in [#114164](https://github.com/getsentry/sentry/pull/114164)

#### Snuba

- Migration to remove QuerySubscription.time_window column by @kcons in [#114403](https://github.com/getsentry/sentry/pull/114403)
- Propagate referrer through trace sub-queries by @roggenkemper in [#114332](https://github.com/getsentry/sentry/pull/114332)

#### Tests

- Deflake registerForm tests by @ryan953 in [#114632](https://github.com/getsentry/sentry/pull/114632)
- Deflake projectQuickLinks tests by @ryan953 in [#114631](https://github.com/getsentry/sentry/pull/114631)
- Deflake stackTrace tooltip URL test by @ryan953 in [#114624](https://github.com/getsentry/sentry/pull/114624)
- Deflake customerDetails disabled permission test by @ryan953 in [#114640](https://github.com/getsentry/sentry/pull/114640)
- Deflake react-native metrics onboarding test by @ryan953 in [#114627](https://github.com/getsentry/sentry/pull/114627)
- Deflake timeSince tooltip timezone test by @ryan953 in [#114621](https://github.com/getsentry/sentry/pull/114621)
- Deflake versionHoverCard render test by @ryan953 in [#114623](https://github.com/getsentry/sentry/pull/114623)
- Fix flaky cart preview test by @dashed in [#114387](https://github.com/getsentry/sentry/pull/114387)

#### Trace

- Add referrer to the trace view by @wmak in [#114346](https://github.com/getsentry/sentry/pull/114346)
- Fix span bars rendering too far to the right when scrollbar is visible by @nsdeschenes in [#113166](https://github.com/getsentry/sentry/pull/113166)

#### Tracemetrics

- Remove sorting styles from embedded table by @nsdeschenes in [#114588](https://github.com/getsentry/sentry/pull/114588)
- Update delete metric tooltip message by @narsaynorath in [#114168](https://github.com/getsentry/sentry/pull/114168)
- Drop 'equation|' prefix in alerts/monitors UI by @narsaynorath in [#113979](https://github.com/getsentry/sentry/pull/113979)
- Remove optional platform check for metrics sidebar by @k-fish in [#114057](https://github.com/getsentry/sentry/pull/114057)
- Remove filter cell actions from aggregates by @k-fish in [#113973](https://github.com/getsentry/sentry/pull/113973)
- Cap metric queries in alerts to same as explore by @narsaynorath in [#113914](https://github.com/getsentry/sentry/pull/113914)
- Update equation filter for chart footer total count by @narsaynorath in [#113906](https://github.com/getsentry/sentry/pull/113906)
- Aggregates table tweaks by @nsdeschenes in [#113651](https://github.com/getsentry/sentry/pull/113651)

#### Traces

- Allow the chart to shrink by @nsdeschenes in [#114556](https://github.com/getsentry/sentry/pull/114556)
- Correct 429 and 500 help text for load failures by @JoshuaKGoldberg in [#114043](https://github.com/getsentry/sentry/pull/114043)

#### Typing

- Guard None options in ReconnectingMemcache by @JoshFerge in [#113928](https://github.com/getsentry/sentry/pull/113928)
- Narrow organization_id in from_auth by @JoshFerge in [#113927](https://github.com/getsentry/sentry/pull/113927)

#### Ui

- Disable links in project selector avatars by @scttcper in [#114775](https://github.com/getsentry/sentry/pull/114775)
- Use variant by @natemoo-re in [#114602](https://github.com/getsentry/sentry/pull/114602)
- Render passive drawer behind tooltips and modals by @natemoo-re in [#114488](https://github.com/getsentry/sentry/pull/114488)
- Snap-close stuck tooltips when transitioning through overlays by @obostjancic in [#114032](https://github.com/getsentry/sentry/pull/114032)

#### Uptime

- Add missing audit log data by @klochek in [#113794](https://github.com/getsentry/sentry/pull/113794)
- Add audit log when we disable broken uptime detectors by @klochek in [#113722](https://github.com/getsentry/sentry/pull/113722)

#### Other

- (agents) Allow token counts to wrap when space is constrained by @ArthurKnaus in [#114024](https://github.com/getsentry/sentry/pull/114024)
- (ai-trace) Minimize system prompts in trace input by @obostjancic in [#114701](https://github.com/getsentry/sentry/pull/114701)
- (alerts-migration) Make sure script processes generic metrics migrated alerts by @nikkikapadia in [#114612](https://github.com/getsentry/sentry/pull/114612)
- (api-docs) Widen dataset enum on /events/ to include discover, errors, transactions by @MathurAditya724 in [#114787](https://github.com/getsentry/sentry/pull/114787)
- (array-attributes) Expose flag via API by @nsdeschenes in [#114700](https://github.com/getsentry/sentry/pull/114700)
- (attachments) Delete based on date_expires in cleanup job by @matt-codecov in [#111955](https://github.com/getsentry/sentry/pull/111955)
- (auth) Cleanly handle malformed token IDs in ApiTokenDetailsEndpoint by @kcons in [#114386](https://github.com/getsentry/sentry/pull/114386)
- (automations) Hide value input for is set/not set match types by @malwilley in [#114452](https://github.com/getsentry/sentry/pull/114452)
- (breadcrumbs) Align severity level label with title by @cvxluo in [#114745](https://github.com/getsentry/sentry/pull/114745)
- (cache) Swap self-hosted to ReconnectingMemcache and ban PyMemcacheCache by @gricha in [#113871](https://github.com/getsentry/sentry/pull/113871)
- (chartcuterie) Render all timeseries when widget has multiple aggregates by @DominikB2014 in [#114436](https://github.com/getsentry/sentry/pull/114436)
- (charts) Guard echarts.getInstanceByDom against detached DOM nodes by @JoshuaKGoldberg in [#114608](https://github.com/getsentry/sentry/pull/114608)
- (checkout) Remove TopBar.Slot usage from CheckoutSuccess by @JonasBa in [#113754](https://github.com/getsentry/sentry/pull/113754)
- (cmd-k) Limit dsn lookup requests to member projects by @klochek in [#114174](https://github.com/getsentry/sentry/pull/114174)
- (codeBlock) Contain codeblock tabs row on narrow viewports by @jaydgoss in [#113455](https://github.com/getsentry/sentry/pull/113455)
- (CODEOWNERS) Transfer source_code_management to coding-workflows by @kcons in [#114255](https://github.com/getsentry/sentry/pull/114255)
- (cross-events) Change metrics to application metrics by @nsdeschenes in [#113969](https://github.com/getsentry/sentry/pull/113969)
- (csp) Allow browser.sentry-cdn.com in connect-src by @ryan953 in [#114617](https://github.com/getsentry/sentry/pull/114617)
- (detection) Reduce trace selection batch size from 50 to 5 by @roggenkemper in [#114372](https://github.com/getsentry/sentry/pull/114372)
- (digests) Retry deliver_digest on lock conflict by @kcons in [#114383](https://github.com/getsentry/sentry/pull/114383)
- (eap) Preserve metadata for convention replacements by @buenaflor in [#114039](https://github.com/getsentry/sentry/pull/114039)
- (forms) Reserve space for auto-save indicator to prevent layout shift by @TkDodo in [#114292](https://github.com/getsentry/sentry/pull/114292)
- (grouping) Prevent DiagnosticComposeException from determining issue title by @romtsn in [#114154](https://github.com/getsentry/sentry/pull/114154)
- (hooks) Convert Hook component to FC to prevent child remounting by @TkDodo in [#114289](https://github.com/getsentry/sentry/pull/114289)
- (hotkeys) Prevent event.code fallback from matching wrong keys on non-QWERTY layouts by @TkDodo in [#114714](https://github.com/getsentry/sentry/pull/114714)
- (hybridcloud) Improve invite RPC performance with caching and reduced retries by @sentry in [#113503](https://github.com/getsentry/sentry/pull/113503)
- (intercom) Move back to user ID by @sentaur-athena in [#114209](https://github.com/getsentry/sentry/pull/114209)
- (iswf) Fixes issue with old Sentry App rules failing to serialize when alert schema is removed by @GabeVillalobos in [#113829](https://github.com/getsentry/sentry/pull/113829)
- (java) Remap exceptions without a module by @romtsn in [#113691](https://github.com/getsentry/sentry/pull/113691)
- (jest) Update eventDisplay test for TanStack Query timing by @sentry in [#114734](https://github.com/getsentry/sentry/pull/114734)
- (jest-test) Make useReplayData incremental test deterministic with fake timers by @sentry in [#114733](https://github.com/getsentry/sentry/pull/114733)
- (legal) Prevent stored XSS via javascript: URLs in policy revision flow by @swartzrock in [#114283](https://github.com/getsentry/sentry/pull/114283)
- (member merge) Don't perform merge if the verification token is out of date by @klochek in [#114311](https://github.com/getsentry/sentry/pull/114311)
- (metric-alerts) Add app installations to alert serializer by @klochek in [#114429](https://github.com/getsentry/sentry/pull/114429)
- (native) Prioritize rendered crash report thread by @scttcper in [#114618](https://github.com/getsentry/sentry/pull/114618)
- (notification-actions) Better access control for org-wide actions by @malwilley in [#113718](https://github.com/getsentry/sentry/pull/113718)
- (organizations) Scope delete_organization_member by organization id by @michelletran-sentry in [#113793](https://github.com/getsentry/sentry/pull/113793)
- (pageFrame) Adjust header layout for better spacing above alert by @TkDodo in [#113781](https://github.com/getsentry/sentry/pull/113781)
- (perforce) Add config allowlist to exclude password from get_config_data by @mujacica in [#114021](https://github.com/getsentry/sentry/pull/114021)
- (pipeline) Guard against missing installation_id in GitHub install redirect by @evanpurkhiser in [#114363](https://github.com/getsentry/sentry/pull/114363)
- (pr-comments) Align option default in task body with queue gate by @evanpurkhiser in [#113806](https://github.com/getsentry/sentry/pull/113806)
- (profiles) Use EAP spans instead of Transaction event on Profile screens by @mjq in [#112975](https://github.com/getsentry/sentry/pull/112975)
- (releases) Prevent premature issue resolution from commit messages by @JoshFerge in [#107138](https://github.com/getsentry/sentry/pull/107138)
- (repos) Set minMatchCharLength to 1 for repo search by @evanpurkhiser in [#114582](https://github.com/getsentry/sentry/pull/114582)
- (seer-agent) Fix showActions on hover and cleanup broken focusedBlockIndex state by @aliu39 in [#113739](https://github.com/getsentry/sentry/pull/113739)
- (seer-explorer) Restrict block actions and copy button to assistant role only by @aliu39 in [#113843](https://github.com/getsentry/sentry/pull/113843)
- (seer-preferences) Don't delete SeerProjectRepository on repo hide by @srest2021 in [#114509](https://github.com/getsentry/sentry/pull/114509)
- (seer-slack) Skip subscription-gated access check in control silo by @leeandher in [#113716](https://github.com/getsentry/sentry/pull/113716)
- (skills) Remove billing from control silo references in agent skill docs by @dashed in [#114382](https://github.com/getsentry/sentry/pull/114382)
- (slack-seer) Ensure organization context is present for handoff storage + block kit fix by @leeandher in [#114585](https://github.com/getsentry/sentry/pull/114585)
- (slot) Prefer graceful degradation when slot not found by @natemoo-re in [#114547](https://github.com/getsentry/sentry/pull/114547)
- (snapshots) Hide diff overlay while image loads and deduplicate computeMaskSize by @NicoHinderling in [#114450](https://github.com/getsentry/sentry/pull/114450)
- (spans-migration) Don't migrate homepage discover queries by @nikkikapadia in [#114467](https://github.com/getsentry/sentry/pull/114467)
- (supergroups) Close drawer on click outside, but not modals by @scttcper in [#114574](https://github.com/getsentry/sentry/pull/114574)
- (sync_repos) Handle string JSON in VSTS and error dicts in GitLab by @wedamija in [#114656](https://github.com/getsentry/sentry/pull/114656)
- (trace-waterfall) Attempt to fix flaky test by @nsdeschenes in [#113801](https://github.com/getsentry/sentry/pull/113801)
- (tracemetrics, dashboards) Render metric selector via portal by @nsdeschenes in [#114604](https://github.com/getsentry/sentry/pull/114604)
- (types) Remove sentry.api.paginator from mypy ignore list by @kcons in [#114510](https://github.com/getsentry/sentry/pull/114510)
- (workflow_engine) Ignore Workflow.DoesNotExist in trigger_action task by @sentry in [#114385](https://github.com/getsentry/sentry/pull/114385)
- (workflows) Don't require Workflow.config to create by @kcons in [#113859](https://github.com/getsentry/sentry/pull/113859)
- Flaky `test_handler` by isolating trace context in log handler tests by @joshuarli in [#114491](https://github.com/getsentry/sentry/pull/114491)
- Handle duplicate list values in resolve_top_event_conditions by @JoshFerge in [#114400](https://github.com/getsentry/sentry/pull/114400)
- Do not export fetchDataQuery by @TkDodo in [#114408](https://github.com/getsentry/sentry/pull/114408)
- Reject card actions with integration is not linked to the group's org by @michelletran-sentry in [#114191](https://github.com/getsentry/sentry/pull/114191)
- Reject options-load when integration is not liked to the group's org by @michelletran-sentry in [#114185](https://github.com/getsentry/sentry/pull/114185)
- Normalize issues and replays to info alerts with icons by @JoshuaKGoldberg in [#113687](https://github.com/getsentry/sentry/pull/113687)
- Revert "fix(issues): Hide line numbers on non-in-app stack trace frames (#112885)" by @getsentry-bot in [996b5654](https://github.com/getsentry/sentry/commit/996b56547554af0f487eedda7858ee7716ff77b8)
- Revert parallel devservices startup by @joshuarli in [#113755](https://github.com/getsentry/sentry/pull/113755)

### Documentation 📚

- (agents) Mention ViewerContext identity wiring by @gricha in [#113617](https://github.com/getsentry/sentry/pull/113617)

### Internal Changes 🔧

#### ✂️

- Drop pipeline entry point from knip config by @evanpurkhiser in [#114228](https://github.com/getsentry/sentry/pull/114228)
- Update knip by @TkDodo in [#114037](https://github.com/getsentry/sentry/pull/114037)

#### Aci

- Fix monitor form editable breadcrumb titles by @malwilley in [#114726](https://github.com/getsentry/sentry/pull/114726)
- Add callout on inline alert form by @malwilley in [#114581](https://github.com/getsentry/sentry/pull/114581)
- Add test coverage around valid comparison delta values by @ceorourke in [#114092](https://github.com/getsentry/sentry/pull/114092)
- Return serialized Detector for metric alert rule POST and PUT endpoints by @ceorourke in [#113816](https://github.com/getsentry/sentry/pull/113816)
- Return workflow response from issue alert POST and PUT endpoints by @ceorourke in [#113752](https://github.com/getsentry/sentry/pull/113752)
- Unschedule prune_old_open_period_activity by @kcons in [#113744](https://github.com/getsentry/sentry/pull/113744)

#### Autofix

- Add analytic when users click on autofix evidence by @Zylphrex in [#114741](https://github.com/getsentry/sentry/pull/114741)
- Remove impact_assessment and triage steps by @chromy in [#114572](https://github.com/getsentry/sentry/pull/114572)
- Remove impact_assessment and triage from Explorer next steps by @chromy in [#114567](https://github.com/getsentry/sentry/pull/114567)
- Rollout autofix runs view with new autofix by @Zylphrex in [#114315](https://github.com/getsentry/sentry/pull/114315)
- Remove unused Seer API get preferences helpers by @srest2021 in [#114098](https://github.com/getsentry/sentry/pull/114098)
- Pass optional args to startStep as object by @Zylphrex in [#114097](https://github.com/getsentry/sentry/pull/114097)
- Split AutofixCards file into multiple files by @Zylphrex in [#114000](https://github.com/getsentry/sentry/pull/114000)

#### Billing

- Migrate spend notifications form to new form system by @TkDodo in [#114303](https://github.com/getsentry/sentry/pull/114303)
- Remove Developer plan changes link from cancel banner by @souredoutlook in [#114122](https://github.com/getsentry/sentry/pull/114122)
- Bump sentry-protos to 0.8.17 by @noahsmartin in [#113773](https://github.com/getsentry/sentry/pull/113773)
- Bumped protos version to 0.8.16 by @brendanhsentry in [#113766](https://github.com/getsentry/sentry/pull/113766)

#### Button Variant

- Remove deprecated priority prop from Button by @natemoo-re in [#114756](https://github.com/getsentry/sentry/pull/114756)
- Cleanup core and forms by @natemoo-re in [#114729](https://github.com/getsentry/sentry/pull/114729)
- Update docs to reference variant by @natemoo-re in [#114721](https://github.com/getsentry/sentry/pull/114721)
- Shim downstream components for priority/variant compat by @natemoo-re in [#114546](https://github.com/getsentry/sentry/pull/114546)

#### Cmdk

- Make CMDKQueryOptions generic to fix type inference by @TkDodo in [#114410](https://github.com/getsentry/sentry/pull/114410)
- Remove projects array from identifier lookup query key by @JonasBa in [#114512](https://github.com/getsentry/sentry/pull/114512)
- Remove cmd-k feature flags from backend by @JonasBa in [#114439](https://github.com/getsentry/sentry/pull/114439)
- Remove cmd-k feature flag checks from frontend by @JonasBa in [#114441](https://github.com/getsentry/sentry/pull/114441)
- Remove old cmdk implementation by @JonasBa in [#114224](https://github.com/getsentry/sentry/pull/114224)
- Wrap bulk assign action in parent 'Assigned to' action by @JonasBa in [#114374](https://github.com/getsentry/sentry/pull/114374)
- Eagerly load filter key sections and cap boolean attributes by @JonasBa in [#114125](https://github.com/getsentry/sentry/pull/114125)
- Split CMDKAction rendering to avoid useQuery without a resource by @JonasBa in [#114066](https://github.com/getsentry/sentry/pull/114066)
- Flatten modal.tsx into commandPalette.tsx by @JonasBa in [#113945](https://github.com/getsentry/sentry/pull/113945)

#### Conversations

- Further decouple conversations from insights by @nsdeschenes in [#113902](https://github.com/getsentry/sentry/pull/113902)
- Move conversations to explore layout by @nsdeschenes in [#113897](https://github.com/getsentry/sentry/pull/113897)

#### Dashboards

- Inline top_n -> area conversion into widget library templates by @DominikB2014 in [#114563](https://github.com/getsentry/sentry/pull/114563)
- Drop DashboardTombstone table by @gggritso in [#114267](https://github.com/getsentry/sentry/pull/114267)
- Remove DashboardTombstone model by @gggritso in [#114265](https://github.com/getsentry/sentry/pull/114265)
- Remove old prebuilt General dashboard by @gggritso in [#113608](https://github.com/getsentry/sentry/pull/113608)
- Clean up RevisionListItem logic and naming by @skaasten in [#114161](https://github.com/getsentry/sentry/pull/114161)

#### Deps

- Bump sentry-conventions to 0.6.0 by @buenaflor in [#114750](https://github.com/getsentry/sentry/pull/114750)
- Bump sentry-conventions to 0.5.0 by @buenaflor in [#113515](https://github.com/getsentry/sentry/pull/113515)

#### Experiments

- Default useExperiment reportExposure to false by @jaydgoss in [#114217](https://github.com/getsentry/sentry/pull/114217)
- Add flag to feature flag checking functions to allow us to skip exposing the experiment, and stop exposing experiments when we return all feature flags from the ui by @wedamija in [#114243](https://github.com/getsentry/sentry/pull/114243)

#### Explore

- Migrate useGetTraceItemAttributeValues to apiOptions by @nsdeschenes in [#114323](https://github.com/getsentry/sentry/pull/114323)
- Clean up page frame flag by @nsdeschenes in [#114304](https://github.com/getsentry/sentry/pull/114304)
- Move releases to views/explore by @nsdeschenes in [#113892](https://github.com/getsentry/sentry/pull/113892)
- Move profiles into views/explore by @nsdeschenes in [#113820](https://github.com/getsentry/sentry/pull/113820)
- Move replays to views/explore by @nsdeschenes in [#113827](https://github.com/getsentry/sentry/pull/113827)
- Move conversations to views/explore by @nsdeschenes in [#113893](https://github.com/getsentry/sentry/pull/113893)

#### Explorer

- Do slide in animation for loaded response blocks by @aliu39 in [#114280](https://github.com/getsentry/sentry/pull/114280)
- Simplify topbar fb condition by @aliu39 in [#114348](https://github.com/getsentry/sentry/pull/114348)
- Cleanup chat keyboard nav and dont show broken link icon while loading by @aliu39 in [#114223](https://github.com/getsentry/sentry/pull/114223)
- New prefill question by @aliu39 in [#113970](https://github.com/getsentry/sentry/pull/113970)
- Populate project repos in explorer user_org_context by @srest2021 in [#113844](https://github.com/getsentry/sentry/pull/113844)

#### Flags

- Remove organizations:releases-serializer-v2 by @wedamija in [#113504](https://github.com/getsentry/sentry/pull/113504)
- Remove `organizations:event-unique-user-frequency-condition-with-conditions` feature flag by @wedamija in [#112755](https://github.com/getsentry/sentry/pull/112755)

#### Forms

- Migrate reprocess event modal by @priscilawebdev in [#114836](https://github.com/getsentry/sentry/pull/114836)
- Migrate data secrecy support access toggle by @priscilawebdev in [#114840](https://github.com/getsentry/sentry/pull/114840)
- Migrate create release integration modal by @priscilawebdev in [#114832](https://github.com/getsentry/sentry/pull/114832)

#### Grouping

- Correctly parameterize dotted ints by @lobsterkatie in [#114776](https://github.com/getsentry/sentry/pull/114776)
- Improve URL parameterization by @lobsterkatie in [#114753](https://github.com/getsentry/sentry/pull/114753)
- Add more URL parameterization test cases by @lobsterkatie in [#114615](https://github.com/getsentry/sentry/pull/114615)
- Restrict values in IPv4 regex by @lobsterkatie in [#114362](https://github.com/getsentry/sentry/pull/114362)
- Add IP false positive test by @lobsterkatie in [#114458](https://github.com/getsentry/sentry/pull/114458)
- Clear old and invalid secondary grouping config options by @lobsterkatie in [#114378](https://github.com/getsentry/sentry/pull/114378)
- Parameterize ints and hexes abutting underscores by @lobsterkatie in [#114345](https://github.com/getsentry/sentry/pull/114345)
- Add random id parameterization regex by @lobsterkatie in [#113756](https://github.com/getsentry/sentry/pull/113756)
- Add more broken parameterization cases by @lobsterkatie in [#113737](https://github.com/getsentry/sentry/pull/113737)

#### Insights

- Remove dynamically loaded Insight widgets and cascading dead code by @gggritso in [#114381](https://github.com/getsentry/sentry/pull/114381)
- Delete Insights Overviews by @gggritso in [#114189](https://github.com/getsentry/sentry/pull/114189)
- Delete AI Insights Module pages by @gggritso in [#114248](https://github.com/getsentry/sentry/pull/114248)
- Delete Mobile Insights pages by @gggritso in [#114246](https://github.com/getsentry/sentry/pull/114246)
- Delete Frontend Insights Module pages by @gggritso in [#114233](https://github.com/getsentry/sentry/pull/114233)
- Delete Backend Insights Module pages by @gggritso in [#114200](https://github.com/getsentry/sentry/pull/114200)
- Platformize summary pages by @gggritso in [#113976](https://github.com/getsentry/sentry/pull/113976)

#### Integrations

- Drop legacy SCM-option plumbing and purge the option rows by @evanpurkhiser in [#114365](https://github.com/getsentry/sentry/pull/114365)
- Drop githubNudgeInvite from org object in invite banner by @evanpurkhiser in [#114463](https://github.com/getsentry/sentry/pull/114463)
- Remove legacy GitHub/GitLab feature toggles from detail view by @evanpurkhiser in [#113924](https://github.com/getsentry/sentry/pull/113924)
- Remove org-level gates for SCM source context and Perforce by @mujacica in [#114132](https://github.com/getsentry/sentry/pull/114132)
- More GitHub API request tagging + org_id by @armenzg in [#113786](https://github.com/getsentry/sentry/pull/113786)

#### Issue Detection

- Log AI General Issues rather than ingest them by @roggenkemper in [#114755](https://github.com/getsentry/sentry/pull/114755)
- Remove general AI detected issues by @roggenkemper in [#114754](https://github.com/getsentry/sentry/pull/114754)
- Move LLM detection scheduler by @roggenkemper in [#114044](https://github.com/getsentry/sentry/pull/114044)
- Remove unused LLM detection projects-allowlist by @roggenkemper in [#114045](https://github.com/getsentry/sentry/pull/114045)

#### Issues

- Fix typo groups_to_transistion -> groups_to_transition by @mrduncan in [#114633](https://github.com/getsentry/sentry/pull/114633)
- Drop redundant dict() re-cast in materialize_metadata by @mrduncan in [#114648](https://github.com/getsentry/sentry/pull/114648)
- Use module logger in issue_occurrence by @mrduncan in [#114646](https://github.com/getsentry/sentry/pull/114646)
- Use generator instead of list comp in handle_merge any() by @mrduncan in [#114644](https://github.com/getsentry/sentry/pull/114644)
- Simplify get_highlight_preset_for_project branches by @mrduncan in [#114642](https://github.com/getsentry/sentry/pull/114642)
- Remove redundant Fragment in EventCreatedTooltip by @mrduncan in [#114649](https://github.com/getsentry/sentry/pull/114649)
- Replace redundant elif with else in update_inbox by @mrduncan in [#114635](https://github.com/getsentry/sentry/pull/114635)
- Remove performance issues search flag by @ceorourke in [#114507](https://github.com/getsentry/sentry/pull/114507)
- Delete option registration for prev/next event navigation by @shashjar in [#114064](https://github.com/getsentry/sentry/pull/114064)
- Migrate similar stack trace to SimpleTable by @scttcper in [#113341](https://github.com/getsentry/sentry/pull/113341)
- Rename filterThreadInfo to getThreadInfo by @scttcper in [#113971](https://github.com/getsentry/sentry/pull/113971)
- Convert GroupType class config to ClassVar by @JoshFerge in [#113423](https://github.com/getsentry/sentry/pull/113423)

#### Llm Detection

- Updated titles and ordering to match the list in seer by @nora-shap in [#114783](https://github.com/getsentry/sentry/pull/114783)
- Add transacion to fingerprint for grouping by @shayna-ch in [#113974](https://github.com/getsentry/sentry/pull/113974)

#### Onboarding

- Enforce display order for SCM provider pills by @jaydgoss in [#114727](https://github.com/getsentry/sentry/pull/114727)
- Drive SCM feature card volumes from billing-config by @jaydgoss in [#114397](https://github.com/getsentry/sentry/pull/114397)
- Polish new SCM onboarding flow styling by @itsdangold in [#114261](https://github.com/getsentry/sentry/pull/114261)

#### Preprod

- Extract shared SnapshotsToolbar component by @mtopo27 in [#114746](https://github.com/getsentry/sentry/pull/114746)
- Update snapshot list framing by @mtopo27 in [#114448](https://github.com/getsentry/sentry/pull/114448)
- Add markdown snapshot coverage by @mtopo27 in [#114434](https://github.com/getsentry/sentry/pull/114434)
- Remove unused image column code by @mtopo27 in [#114431](https://github.com/getsentry/sentry/pull/114431)
- Migrate shared preprod status check functionality to shared utils by @rbro112 in [#114268](https://github.com/getsentry/sentry/pull/114268)
- Replace sidebar disclosure sections with status filter pills by @NicoHinderling in [#113988](https://github.com/getsentry/sentry/pull/113988)
- Use transparent color sentinel for overlay visibility by @NicoHinderling in [#113987](https://github.com/getsentry/sentry/pull/113987)
- Remove preprod-issues feature flag by @chromy in [#114023](https://github.com/getsentry/sentry/pull/114023)
- Flatten empty-state ternary and drop redundant Fragment by @NicoHinderling in [#113956](https://github.com/getsentry/sentry/pull/113956)
- Drop hash-keyed manifest fallback by @NicoHinderling in [#113967](https://github.com/getsentry/sentry/pull/113967)

#### Projects

- Fix N+1 in get_access_by_project by @scttcper in [#113879](https://github.com/getsentry/sentry/pull/113879)
- Harden regression coverage for delete_project and delete_project_key by @BYK in [#113792](https://github.com/getsentry/sentry/pull/113792)

#### Releases

- Filter artifact bundle joins by organization_id by @scttcper in [#114103](https://github.com/getsentry/sentry/pull/114103)
- Migrate releases to explore layout by @nsdeschenes in [#113950](https://github.com/getsentry/sentry/pull/113950)

#### Replays

- Migrate to explore layout by @nsdeschenes in [#113942](https://github.com/getsentry/sentry/pull/113942)
- Make useReplayCount discover uses explicit by @mjq in [#113586](https://github.com/getsentry/sentry/pull/113586)
- Fix flaky test_export_replay_row_set by @joshuarli in [#113742](https://github.com/getsentry/sentry/pull/113742)

#### Repos

- Use flag-aware Seer provider check in SCM views by @evanpurkhiser in [#114478](https://github.com/getsentry/sentry/pull/114478)
- Refactor ScmRepositoryTable to per-install actions and virtualized list by @evanpurkhiser in [#114511](https://github.com/getsentry/sentry/pull/114511)
- Share Seer-compatible provider check across SCM views by @evanpurkhiser in [#114364](https://github.com/getsentry/sentry/pull/114364)

#### Repositories

- Overide github error handling for repo sync by @wedamija in [#114595](https://github.com/getsentry/sentry/pull/114595)
- Clean up vsts error handling by @wedamija in [#114592](https://github.com/getsentry/sentry/pull/114592)
- Abstract broken integration handling into base class by @wedamija in [#114464](https://github.com/getsentry/sentry/pull/114464)

#### Scraps

- Adopt `GlobalModal` by @natemoo-re in [#114447](https://github.com/getsentry/sentry/pull/114447)
- Support `openInNewTab` on LinkButton by @natemoo-re in [#114490](https://github.com/getsentry/sentry/pull/114490)
- Add variant prop to button, deprecate priority by @natemoo-re in [#113838](https://github.com/getsentry/sentry/pull/113838)
- Adopt pagination by @natemoo-re in [#114079](https://github.com/getsentry/sentry/pull/114079)
- Export more Tanstack form helpers to enable composition by @malwilley in [#114260](https://github.com/getsentry/sentry/pull/114260)
- Migrate legal & compliance page to new form system by @TkDodo in [#114155](https://github.com/getsentry/sentry/pull/114155)
- Adopt standard backdrop by @natemoo-re in [#113968](https://github.com/getsentry/sentry/pull/113968)

#### Seer

- Refactor to leverage useOrganizationMutationOptions by @ryan953 in [#113861](https://github.com/getsentry/sentry/pull/113861)
- Move /seer/workflows to /issues/autofix by @chromy in [#114715](https://github.com/getsentry/sentry/pull/114715)
- Send project slugs instead of numeric IDs in LLM context by @Mihir-Mavalankar in [#114568](https://github.com/getsentry/sentry/pull/114568)
- Add progress logs to night shift schedule cron by @trevor-e in [#114557](https://github.com/getsentry/sentry/pull/114557)
- Remove unused SeerRawPreferenceResponse and improve write-time repo id validation by @srest2021 in [#114392](https://github.com/getsentry/sentry/pull/114392)
- Cleanup disabled seer onboarding wizard by @ryan953 in [#113857](https://github.com/getsentry/sentry/pull/113857)
- Move trace routes to stable structured context set by @Mihir-Mavalankar in [#114440](https://github.com/getsentry/sentry/pull/114440)
- Rename Explorer to Agent across backend Python by @trevor-e in [#114337](https://github.com/getsentry/sentry/pull/114337)
- Rename 'Open Seer' button to 'Open Autofix' by @chromy in [#114425](https://github.com/getsentry/sentry/pull/114425)
- Remove unused Seer project preferences cleanup tasks by @srest2021 in [#114112](https://github.com/getsentry/sentry/pull/114112)
- Remove Seer API dual writes in project preference endpoints by @srest2021 in [#114239](https://github.com/getsentry/sentry/pull/114239)
- Remove Seer API project preference dual writes in internal flows and helpers by @srest2021 in [#114240](https://github.com/getsentry/sentry/pull/114240)
- Remove enableSeerEnhancedAlerts org preference by @leeandher in [#114213](https://github.com/getsentry/sentry/pull/114213)
- Remove enableSeerEnhancedAlerts settings toggle by @leeandher in [#114211](https://github.com/getsentry/sentry/pull/114211)
- Skip stale and security-report groups in supergroups backfill by @yuvmen in [#114230](https://github.com/getsentry/sentry/pull/114230)
- Inline SeerProjectRepository and ProjectOption cleanups for disabled/hidden repos and deleted integrations by @srest2021 in [#114110](https://github.com/getsentry/sentry/pull/114110)
- Remove redundant page title from autofix project settings by @chromy in [#114145](https://github.com/getsentry/sentry/pull/114145)
- Update isSeerExplorerEnabled to use gen-ai-features flag by @aliu39 in [#114099](https://github.com/getsentry/sentry/pull/114099)
- Use neutral variant for `code` by @natemoo-re in [#114083](https://github.com/getsentry/sentry/pull/114083)
- Read project preferences only from Sentry DB, part 3 by @srest2021 in [#114002](https://github.com/getsentry/sentry/pull/114002)
- Tweak loading state by @natemoo-re in [#114075](https://github.com/getsentry/sentry/pull/114075)
- Use seer-night-shift-settings flag for night shift UI by @chromy in [#114022](https://github.com/getsentry/sentry/pull/114022)
- Read project preferences only from Sentry DB, part 2: handoff & stopping point paths by @srest2021 in [#113972](https://github.com/getsentry/sentry/pull/113972)
- Read project preferences only from Sentry DB, part 1 by @srest2021 in [#113835](https://github.com/getsentry/sentry/pull/113835)
- Implement custom loading state by @natemoo-re in [#113866](https://github.com/getsentry/sentry/pull/113866)
- Use priority field instead of frontend route filtering by @Mihir-Mavalankar in [#113717](https://github.com/getsentry/sentry/pull/113717)
- Add priority-based root node selection to snapshot_to_markdown by @Mihir-Mavalankar in [#113715](https://github.com/getsentry/sentry/pull/113715)
- Remove focus hijack by @JonasBa in [#113713](https://github.com/getsentry/sentry/pull/113713)

#### Seer Agent

- 30% default width for seer drawer by @sehr-m in [#113875](https://github.com/getsentry/sentry/pull/113875)
- Drawer in front of tooltips by @sehr-m in [#113869](https://github.com/getsentry/sentry/pull/113869)
- Remove enter hint by @sehr-m in [#113839](https://github.com/getsentry/sentry/pull/113839)
- Fix hotkeys by @sehr-m in [#113863](https://github.com/getsentry/sentry/pull/113863)
- Change user message and input margins/padding by @sehr-m in [#113836](https://github.com/getsentry/sentry/pull/113836)

#### Seer Slack

- Omit seer fix button when no other actions are present by @leeandher in [#114090](https://github.com/getsentry/sentry/pull/114090)
- Remove explorer cache key fallback by @alexsohn1126 in [#113810](https://github.com/getsentry/sentry/pull/113810)
- Safely convert routing to control silo task by @leeandher in [#113721](https://github.com/getsentry/sentry/pull/113721)
- Rename explorer to agent in seer agent slack integration by @alexsohn1126 in [#113444](https://github.com/getsentry/sentry/pull/113444)

#### Sentry Apps

- Bump time for issue webhook to 12s and cleanup old task by @Christinarlong in [#114205](https://github.com/getsentry/sentry/pull/114205)
- Bump task duration times for tasks by @Christinarlong in [#114101](https://github.com/getsentry/sentry/pull/114101)

#### Settings

- Use mutation hooks for sentry app tokens by @priscilawebdev in [#114833](https://github.com/getsentry/sentry/pull/114833)
- Migrate project release tracking to FormSearch by @priscilawebdev in [#114698](https://github.com/getsentry/sentry/pull/114698)
- Use SettingsPageHeader subtitle on dynamic sampling by @evanpurkhiser in [#114576](https://github.com/getsentry/sentry/pull/114576)
- Use SettingsPageHeader subtitle on console SDK invites by @evanpurkhiser in [#114575](https://github.com/getsentry/sentry/pull/114575)
- Migrate tempest credentials modal to scraps by @priscilawebdev in [#114144](https://github.com/getsentry/sentry/pull/114144)
- Migrate spike protection toggle to new form system by @TkDodo in [#114293](https://github.com/getsentry/sentry/pull/114293)
- Update Seer settings docs link for Autofix by @shashjar in [#114102](https://github.com/getsentry/sentry/pull/114102)
- Drop legacy FieldGroup in reportUri by @priscilawebdev in [#114142](https://github.com/getsentry/sentry/pull/114142)
- Migrate api applications form by @priscilawebdev in [#113887](https://github.com/getsentry/sentry/pull/113887)
- Migrate redeemPromoCode page to new form system attempt 2 by @TkDodo in [#113889](https://github.com/getsentry/sentry/pull/113889)
- Remove organization breadcrumb by @evanpurkhiser in [#113706](https://github.com/getsentry/sentry/pull/113706)

#### Snapshots

- Rename 'modified' to 'changed' in snapshot UI by @NicoHinderling in [#114747](https://github.com/getsentry/sentry/pull/114747)
- Update sidebar UI to be collapsible again by @NicoHinderling in [#114610](https://github.com/getsentry/sentry/pull/114610)
- Move card selection from header to card frame by @NicoHinderling in [#114645](https://github.com/getsentry/sentry/pull/114645)
- Share focused snapshot card frames by @mtopo27 in [#114498](https://github.com/getsentry/sentry/pull/114498)
- Add keyboard nav hints and visual feedback by @NicoHinderling in [#114432](https://github.com/getsentry/sentry/pull/114432)
- Refine snapshot sidebar by @mtopo27 in [#114356](https://github.com/getsentry/sentry/pull/114356)
- Add per-image diffThreshold support by @NicoHinderling in [#114335](https://github.com/getsentry/sentry/pull/114335)
- Buffer image swap to eliminate flash during single-view navigation by @NicoHinderling in [#114271](https://github.com/getsentry/sentry/pull/114271)
- Final UI tweaks by @NicoHinderling in [#114232](https://github.com/getsentry/sentry/pull/114232)

#### Spans

- Clean up enforce-segment-size option by @lvthanh03 in [#114593](https://github.com/getsentry/sentry/pull/114593)
- Unregister chunk oversized segments option by @lvthanh03 in [#113790](https://github.com/getsentry/sentry/pull/113790)

#### Tsc

- Migrate sentry-apps endpoints to apiOptions by @TkDodo in [#114834](https://github.com/getsentry/sentry/pull/114834)
- UseReleasesWidgetQuery to apiOptions by @TkDodo in [#114427](https://github.com/getsentry/sentry/pull/114427)
- Insights useReleases to apiOptions by @TkDodo in [#114411](https://github.com/getsentry/sentry/pull/114411)
- Migrate useOrganizationsWithRegion to apiOptions by @TkDodo in [#114413](https://github.com/getsentry/sentry/pull/114413)
- Remove any from QueryKeyEndpointOptions by @TkDodo in [#114419](https://github.com/getsentry/sentry/pull/114419)
- UseReleases to apiOptions by @TkDodo in [#114131](https://github.com/getsentry/sentry/pull/114131)
- Remaining widget queries to apiOptions by @TkDodo in [#114146](https://github.com/getsentry/sentry/pull/114146)
- UseFetchParallelPages and useFetchSequentialPages to apiOptions by @TkDodo in [#114139](https://github.com/getsentry/sentry/pull/114139)
- UseLogsQuery to apiOptions by @TkDodo in [#114143](https://github.com/getsentry/sentry/pull/114143)
- Replay-count to apiOptions by @TkDodo in [#114012](https://github.com/getsentry/sentry/pull/114012)
- Issue details endpoint to apiOptions by @TkDodo in [#114059](https://github.com/getsentry/sentry/pull/114059)
- Issue autofix endpoint to apiOptions by @TkDodo in [#113918](https://github.com/getsentry/sentry/pull/113918)
- Seer preferences to apiOptions by @TkDodo in [#113894](https://github.com/getsentry/sentry/pull/113894)
- Move events-stats endpoint to apiOptions by @TkDodo in [#113812](https://github.com/getsentry/sentry/pull/113812)
- Move event-timeseries endpoint to apiOptions by @TkDodo in [#113883](https://github.com/getsentry/sentry/pull/113883)
- Move attribute validation endpoint to apiOptions by @TkDodo in [#113886](https://github.com/getsentry/sentry/pull/113886)
- Organization details endpoint to apiOptions by @TkDodo in [#113782](https://github.com/getsentry/sentry/pull/113782)
- Issues-timeseries endpoint to apiOptions by @TkDodo in [#113779](https://github.com/getsentry/sentry/pull/113779)
- Move integrations-repos endpoint to apiOptions by @TkDodo in [#113784](https://github.com/getsentry/sentry/pull/113784)
- Remove useInfiniteApiQuery by @TkDodo in [#113778](https://github.com/getsentry/sentry/pull/113778)
- Remove getResponseHeader from useApiQuery by @TkDodo in [#113775](https://github.com/getsentry/sentry/pull/113775)
- Remove re-export of TansTack Query from queryClient.tsx by @TkDodo in [#113777](https://github.com/getsentry/sentry/pull/113777)
- Issues endpoint to apiOptions by @TkDodo in [#113525](https://github.com/getsentry/sentry/pull/113525)

#### Typing

- Drop redundant cast in trace metric search type by @JoshFerge in [#113930](https://github.com/getsentry/sentry/pull/113930)
- Drop redundant cast on TraceMetric.metric_type by @JoshFerge in [#113932](https://github.com/getsentry/sentry/pull/113932)
- Drop redundant casts in resolve_measurement_value by @JoshFerge in [#113933](https://github.com/getsentry/sentry/pull/113933)
- Upgrade mypy to 1.20.1 by @JoshFerge in [#113419](https://github.com/getsentry/sentry/pull/113419)
- Misc test-side type hint fixes by @JoshFerge in [#113428](https://github.com/getsentry/sentry/pull/113428)
- Convert RegressionDetector + AttributeHandler config to ClassVar by @JoshFerge in [#113422](https://github.com/getsentry/sentry/pull/113422)
- Strengthen shared integrations base client typing by @armenzg in [#113474](https://github.com/getsentry/sentry/pull/113474)
- Refetch via queryset instead of refresh_from_db after narrowing by @JoshFerge in [#113427](https://github.com/getsentry/sentry/pull/113427)

#### Ui

- Use `test-ci` instead of `CI=true` to run tests w/ agents by @scttcper in [#114759](https://github.com/getsentry/sentry/pull/114759)
- Drop jest-junit by @scttcper in [#114564](https://github.com/getsentry/sentry/pull/114564)
- Convert `useHoverOverlay` to state machine by @natemoo-re in [#113628](https://github.com/getsentry/sentry/pull/113628)

#### Other

- (ai-monitoring) Remove legacy aiModelCosts config and fetch_ai_model_costs task by @constantinius in [#113534](https://github.com/getsentry/sentry/pull/113534)
- (ai-spans) Tighten AI message normalizer types by @obostjancic in [#114705](https://github.com/getsentry/sentry/pull/114705)
- (ai-trace) Consolidate AI input/output format fallbacks by @obostjancic in [#114028](https://github.com/getsentry/sentry/pull/114028)
- (alerts) Move editable name into breadcrumbs and remove page frame checks by @malwilley in [#114476](https://github.com/getsentry/sentry/pull/114476)
- (api) Tighten accept-invite cleanup-delete path by @michelletran-sentry in [#114040](https://github.com/getsentry/sentry/pull/114040)
- (artifact-bundles) Filter search joins by organization_id by @scttcper in [#114111](https://github.com/getsentry/sentry/pull/114111)
- (auth) Add metrics for Relay authentication by @Dav1dde in [#114417](https://github.com/getsentry/sentry/pull/114417)
- (buffer) Delete unused InProcessBuffer class by @vgrozdanic in [#114843](https://github.com/getsentry/sentry/pull/114843)
- (cells) Remove platform filter and project sort from org listing by @lynnagara in [#114785](https://github.com/getsentry/sentry/pull/114785)
- (ci) Increase Jest shards from 4 to 8 for faster CI by @NicoHinderling in [#114388](https://github.com/getsentry/sentry/pull/114388)
- (coding-agent) Remove unused CodingAgentPipelineView by @evanpurkhiser in [#113436](https://github.com/getsentry/sentry/pull/113436)
- (copilot) Remove Copilot Extension by @JoshFerge in [#113882](https://github.com/getsentry/sentry/pull/113882)
- (crons) Adjust specific environment monitor stats query by @scttcper in [#114277](https://github.com/getsentry/sentry/pull/114277)
- (cross-events) Remove disabled save button by @nsdeschenes in [#114330](https://github.com/getsentry/sentry/pull/114330)
- (db) Migrate remaining create_or_update call sites to update_or_create by @vgrozdanic in [#114430](https://github.com/getsentry/sentry/pull/114430)
- (dep) Bump granian to 2.7.4 by @gi0baro in [#113799](https://github.com/getsentry/sentry/pull/113799)
- (detectors) Migrate error detector form to TanStack Form by @malwilley in [#114377](https://github.com/getsentry/sentry/pull/114377)
- (discover) Make Save As a primary button and reorder action buttons by @JonasBa in [#114503](https://github.com/getsentry/sentry/pull/114503)
- (eco) Adds debug keys to bitbucket integration by @GabeVillalobos in [#114068](https://github.com/getsentry/sentry/pull/114068)
- (emails) Update Sentry logo asset and display dimensions by @rahulchhabria in [#114123](https://github.com/getsentry/sentry/pull/114123)
- (escalating) Skip flaky test_is_forecast_out_of_range by @JoshFerge in [#113951](https://github.com/getsentry/sentry/pull/113951)
- (explore-events) Delay requests until in view by @nsdeschenes in [#114420](https://github.com/getsentry/sentry/pull/114420)
- (features) Remove graduated SCM source context and Perforce flags by @mujacica in [#114134](https://github.com/getsentry/sentry/pull/114134)
- (frontend) Add type coverage diff PR comment by @TkDodo in [#114428](https://github.com/getsentry/sentry/pull/114428)
- (getsentry) Lazy load enhanced org stats by @scttcper in [#114121](https://github.com/getsentry/sentry/pull/114121)
- (gitlab) Wrap status sync delete+create in transaction.atomic() by @iamrajjoshi in [#112490](https://github.com/getsentry/sentry/pull/112490)
- (groups) Replace category with category_v2 by @ceorourke in [#114251](https://github.com/getsentry/sentry/pull/114251)
- (ingest) Register option for default trace ID by @thetruecpaul in [#114376](https://github.com/getsentry/sentry/pull/114376)
- (intercom) Replace zendesk with new help center by @sentaur-athena in [#114609](https://github.com/getsentry/sentry/pull/114609)
- (issue-ownership) Switch issue assignment off OwnerActorField by @cvxluo in [#113707](https://github.com/getsentry/sentry/pull/113707)
- (jest) Update known flaky tests [2026-05-04] by @cursor[bot] in [#114697](https://github.com/getsentry/sentry/pull/114697)
- (logs) Move Set Up Logs button from top bar to page filters by @JonasBa in [#114502](https://github.com/getsentry/sentry/pull/114502)
- (metrics) Align trace metrics layout spacing by @nsdeschenes in [#113680](https://github.com/getsentry/sentry/pull/113680)
- (mypy) Make strong typing the default by @armenzg in [#114719](https://github.com/getsentry/sentry/pull/114719)
- (nightshift) Rename agent_run_id to run_id in response by @chromy in [#114301](https://github.com/getsentry/sentry/pull/114301)
- (notifications) Remove initial guess from slack alert notifications by @leeandher in [#114483](https://github.com/getsentry/sentry/pull/114483)
- (objectstore) Make ObjectstoreEndpoint unauthenticated and remove feature gate by @lcian in [#114288](https://github.com/getsentry/sentry/pull/114288)
- (pageframe) Inline help actions by @natemoo-re in [#114375](https://github.com/getsentry/sentry/pull/114375)
- (perforce) Remove legacy Django pipeline views by @evanpurkhiser in [#113701](https://github.com/getsentry/sentry/pull/113701)
- (performance) Use useSpans for transaction replay count by @mjq in [#114058](https://github.com/getsentry/sentry/pull/114058)
- (pipeline) Hide step counter when pipeline has one step by @evanpurkhiser in [#113916](https://github.com/getsentry/sentry/pull/113916)
- (processing_errors) Sample processing error analytic events at 100% for orgs younger than 30 days. by @wedamija in [#114398](https://github.com/getsentry/sentry/pull/114398)
- (profiling) Migrate profiles to explore layout by @nsdeschenes in [#113910](https://github.com/getsentry/sentry/pull/113910)
- (queryClient) Cache safeParseQueryKey results in a WeakMap by @TkDodo in [#114553](https://github.com/getsentry/sentry/pull/114553)
- (react router) Replace `useRoutes` usage in `useGroupDetailsRoute` by @shashjar in [#113858](https://github.com/getsentry/sentry/pull/113858)
- (seer-agent) Use Link component to enable cmd clicking tool links by @aliu39 in [#114494](https://github.com/getsentry/sentry/pull/114494)
- (seer-explorer) Move widget builder routes into STRUCTURED_CONTEXT_ROUTES by @Mihir-Mavalankar in [#113853](https://github.com/getsentry/sentry/pull/113853)
- (seer-grouping) Rm v2 by @kddubey in [#114538](https://github.com/getsentry/sentry/pull/114538)
- (seer-preferences) Remove dual-write and read-from-sentry feature flags and unused Seer API write helpers by @srest2021 in [#114242](https://github.com/getsentry/sentry/pull/114242)
- (slack) Prep work for link parsing by @leeandher in [#113599](https://github.com/getsentry/sentry/pull/113599)
- (snuba) Add LOW_VALUE_SPANS_JOB referrer by @vgrozdanic in [#114416](https://github.com/getsentry/sentry/pull/114416)
- (stacktrace) Drop org-flag gate for SCM source context UI by @mujacica in [#114133](https://github.com/getsentry/sentry/pull/114133)
- (supergroups) Stop sending explorer-based RCA requests by @cvxluo in [#114659](https://github.com/getsentry/sentry/pull/114659)
- (theme) Remove unused z-index values by @natemoo-re in [#114096](https://github.com/getsentry/sentry/pull/114096)
- (ts) Avoid type assertion in useOrganizationMutationOptions by @evanpurkhiser in [#114788](https://github.com/getsentry/sentry/pull/114788)
- (vercel) Skip deployment when only backend files change by @vgrozdanic in [#114029](https://github.com/getsentry/sentry/pull/114029)
- (warden) Configure remote Warden skills by @dcramer in [#114253](https://github.com/getsentry/sentry/pull/114253)
- (workflow-engine-ui) Update example for slack notes by @leeandher in [#113798](https://github.com/getsentry/sentry/pull/113798)
- Remove test analytics images by @calvin-codecov in [#114769](https://github.com/getsentry/sentry/pull/114769)
- Update protos by @noahsmartin in [#114737](https://github.com/getsentry/sentry/pull/114737)
- Mark failing jest-balance tests as isKnownFlake by @ryan953 in [#114619](https://github.com/getsentry/sentry/pull/114619)
- Bump protos version by @noahsmartin in [#114566](https://github.com/getsentry/sentry/pull/114566)
- Reset translations by @joshuarli in [#114485](https://github.com/getsentry/sentry/pull/114485)
- Bump sentry-protos to 0.8.22 by @noahsmartin in [#114445](https://github.com/getsentry/sentry/pull/114445)
- Bump sentry-protos to 0.8.21 by @brendanhsentry in [#114389](https://github.com/getsentry/sentry/pull/114389)
- Update Taskbroker Client Version to 0.1.12 by @george-sentry in [#114343](https://github.com/getsentry/sentry/pull/114343)
- Bump sentry-arroyo to 2.39.1 by @getsentry-bot in [#114226](https://github.com/getsentry/sentry/pull/114226)
- Bump protos by @noahsmartin in [#114244](https://github.com/getsentry/sentry/pull/114244)
- Use StatusIndicator and Grid primitives in service incident details by @evanpurkhiser in [#114158](https://github.com/getsentry/sentry/pull/114158)
- Maybe fix git by @joshuarli in [#114194](https://github.com/getsentry/sentry/pull/114194)
- Xfail test_eap_occurrence_stores_exception_stack_as_array_attributes (flaky) by @JoshFerge in [#114190](https://github.com/getsentry/sentry/pull/114190)
- Expose function to safeParse an queryKey into our ApiQueryKey schema by @TkDodo in [#114026](https://github.com/getsentry/sentry/pull/114026)
- Bump devservices by @joshuarli in [#114100](https://github.com/getsentry/sentry/pull/114100)
- Bump sentry-protos by @noahsmartin in [#114003](https://github.com/getsentry/sentry/pull/114003)
- Bump sentry-protos 0.8.18 by @brendanhsentry in [#113984](https://github.com/getsentry/sentry/pull/113984)
- Fix unicorn/no-useless-collection-argument in useSeerExplorer.tsx by @JoshuaKGoldberg in [#113901](https://github.com/getsentry/sentry/pull/113901)
- Update Projects page title to 'All Projects' by @JonasBa in [#113845](https://github.com/getsentry/sentry/pull/113845)
- Bump new development version by @sentry-release-bot[bot] in [6fa540d4](https://github.com/getsentry/sentry/commit/6fa540d490aedd011cb9e0c8c1ee49de8f074ff4)

### Other

- deps(ui): Upgrade dompurify, marked by @scttcper in [#114359](https://github.com/getsentry/sentry/pull/114359)
- codemod(button-variant): apply changes to performance and discover by @natemoo-re in [#114730](https://github.com/getsentry/sentry/pull/114730)
- codemod(button-variant): apply changes to events, profiling, and misc components by @natemoo-re in [#114731](https://github.com/getsentry/sentry/pull/114731)
- codemod(button-variant): apply changes to settings, alerts, and remaining views by @natemoo-re in [#114732](https://github.com/getsentry/sentry/pull/114732)
- codemod(button-variant): apply changes to gsApp by @natemoo-re in [#114722](https://github.com/getsentry/sentry/pull/114722)
- codemod(button-variant): apply changes for explore by @natemoo-re in [#114522](https://github.com/getsentry/sentry/pull/114522)
- codemod(button-variant): apply changes for machine-learning-ai by @natemoo-re in [#114528](https://github.com/getsentry/sentry/pull/114528)
- Replace auto muting useEffect in SnoozeAlert by @geoffg-sentry in [#112588](https://github.com/getsentry/sentry/pull/112588)
- codemod(button-variant): apply changes for alerts-notifications by @natemoo-re in [#114539](https://github.com/getsentry/sentry/pull/114539)
- codemod(button-variant): apply changes for ecosystem by @natemoo-re in [#114526](https://github.com/getsentry/sentry/pull/114526)
- codemod(button-variant): apply changes for emerge-tools by @natemoo-re in [#114534](https://github.com/getsentry/sentry/pull/114534)
- codemod(button-variant): apply changes for alerts-create-issues by @natemoo-re in [#114525](https://github.com/getsentry/sentry/pull/114525)
- codemod(button-variant): apply changes for issue-workflow by @natemoo-re in [#114532](https://github.com/getsentry/sentry/pull/114532)
- codemod(button-variant): apply changes for telemetry-experience by @natemoo-re in [#114529](https://github.com/getsentry/sentry/pull/114529)
- codemod(button-variant): apply changes for profiling by @natemoo-re in [#114523](https://github.com/getsentry/sentry/pull/114523)
- codemod(button-variant): apply changes for dashboards by @natemoo-re in [#114521](https://github.com/getsentry/sentry/pull/114521)
- chore(hybridcloud) Add logging to start of outbox backfill by @markstory in [#114605](https://github.com/getsentry/sentry/pull/114605)
- cleanup(ACI): Remove the cache-detectors-by-data-source feature flag by @saponifi3d in [#114586](https://github.com/getsentry/sentry/pull/114586)
- codemod(button-variant): apply changes for revenue by @natemoo-re in [#114533](https://github.com/getsentry/sentry/pull/114533)
- cleanup(ACI): Remove Workflows Cache Flag by @saponifi3d in [#114584](https://github.com/getsentry/sentry/pull/114584)
- cleanup(ACI): Remove a feature flag for action-filter-cache by @saponifi3d in [#114583](https://github.com/getsentry/sentry/pull/114583)
- codemod(button-variant): apply changes for enterprise by @natemoo-re in [#114527](https://github.com/getsentry/sentry/pull/114527)
- codemod(button-variant): apply changes for design-engineering by @natemoo-re in [#114535](https://github.com/getsentry/sentry/pull/114535)
- codemod(button-variant): apply changes for orphaned files by @natemoo-re in [#114537](https://github.com/getsentry/sentry/pull/114537)

_Plus 24 more_

26.4.1
------

### New Features ✨

#### Aci

- Require at least one connected monitor in the alert builder by @malwilley in [#113246](https://github.com/getsentry/sentry/pull/113246)
- Add `Moved` Banner and redirects to `Crons` and `Uptime` nav items by @saponifi3d in [#113340](https://github.com/getsentry/sentry/pull/113340)
- Send project slug with test fire action request by @malwilley in [#113127](https://github.com/getsentry/sentry/pull/113127)
- Add empty states for Monitors / Alerts by @saponifi3d in [#113126](https://github.com/getsentry/sentry/pull/113126)

#### Autofix

- Add copy button to artifact cards by @Zylphrex in [#113549](https://github.com/getsentry/sentry/pull/113549)
- Show referrer InfoTip in Seer drawer header by @chromy in [#113279](https://github.com/getsentry/sentry/pull/113279)

#### Claude Code

- Add frontend pipeline step for Claude Code integration setup by @evanpurkhiser in [#113213](https://github.com/getsentry/sentry/pull/113213)
- Add API-driven pipeline backend for Claude Code integration setup by @evanpurkhiser in [#113202](https://github.com/getsentry/sentry/pull/113202)

#### Cmdk

- Group project settings actions by @JonasBa in [#112913](https://github.com/getsentry/sentry/pull/112913)
- Show hotkey label in search button tooltip for command palette by @JonasBa in [#113382](https://github.com/getsentry/sentry/pull/113382)
- Improve issue detail actions by @JonasBa in [#112982](https://github.com/getsentry/sentry/pull/112982)

#### Code Review

- Update backend so legacy seer orgs no code review by @suejungshin in [#113578](https://github.com/getsentry/sentry/pull/113578)
- Disable code review feature for seer-added by @suejungshin in [#113564](https://github.com/getsentry/sentry/pull/113564)
- Support Seer code review for GitHub Enterprise Server by @tnt-sentry in [#112938](https://github.com/getsentry/sentry/pull/112938)

#### Cursor

- Add frontend pipeline step for Cursor integration setup by @evanpurkhiser in [#113212](https://github.com/getsentry/sentry/pull/113212)
- Add API-driven pipeline backend for Cursor integration setup by @evanpurkhiser in [#113203](https://github.com/getsentry/sentry/pull/113203)

#### Dashboards

- Store revision source for AI-assisted saves by @skaasten in [#113670](https://github.com/getsentry/sentry/pull/113670)
- Add flag for dashboards widget unfurl by @DominikB2014 in [#113469](https://github.com/getsentry/sentry/pull/113469)
- Add UI to view dashboard revisions by @skaasten in [#113441](https://github.com/getsentry/sentry/pull/113441)
- Add endpoint to preview a dashboard revision by @skaasten in [#113316](https://github.com/getsentry/sentry/pull/113316)
- Add endpoint to restore a dashboard revision by @skaasten in [#113176](https://github.com/getsentry/sentry/pull/113176)
- Add endpoint to list dashboard revisions by @skaasten in [#113084](https://github.com/getsentry/sentry/pull/113084)
- Store dashboard snapshot on PUT when revisions flag is enabled by @skaasten in [#113065](https://github.com/getsentry/sentry/pull/113065)
- Redirect Insights pages to corresponding dashboards by @gggritso in [#113201](https://github.com/getsentry/sentry/pull/113201)
- Use org option for widget query queue concurrency by @DominikB2014 in [#113185](https://github.com/getsentry/sentry/pull/113185)
- Add AI-generated warning to edit chat panel by @edwardgou-sentry in [#113055](https://github.com/getsentry/sentry/pull/113055)

#### Detectors

- Add connected line graph to mobile build visualization by @mtopo27 in [#113012](https://github.com/getsentry/sentry/pull/113012)
- Add workflow filter to detector search query by @malwilley in [#113115](https://github.com/getsentry/sentry/pull/113115)

#### Discord

- Add API-driven pipeline backend for Discord integration setup by @evanpurkhiser in [#113102](https://github.com/getsentry/sentry/pull/113102)
- Add frontend pipeline step for Discord integration setup by @evanpurkhiser in [#113098](https://github.com/getsentry/sentry/pull/113098)

#### Eslint

- Extend no-flag-comments to catch `=`, `*`, `_`, `#`, `~` separators by @evanpurkhiser in [#113594](https://github.com/getsentry/sentry/pull/113594)
- Bump eslint-plugin-unicorn to v64 by @JoshuaKGoldberg in [#113207](https://github.com/getsentry/sentry/pull/113207)
- Enable unicorn/no-new-array by @JoshuaKGoldberg in [#113204](https://github.com/getsentry/sentry/pull/113204)
- No-unnecessary-type-narrowing by @TkDodo in [#113285](https://github.com/getsentry/sentry/pull/113285)
- Prefer-reduce-type-parameter by @TkDodo in [#113193](https://github.com/getsentry/sentry/pull/113193)

#### Explore

- Accept crossEvents param on saved queries by @nsdeschenes in [#113286](https://github.com/getsentry/sentry/pull/113286)
- Hide internal fields from search bars and scope attribute lookups to selected metric by @nsdeschenes in [#113036](https://github.com/getsentry/sentry/pull/113036)

#### Explorer

- Updated drawer header with dropdown menu by @aliu39 in [#113637](https://github.com/getsentry/sentry/pull/113637)
- Tab key returns focus to input by @aliu39 in [#113641](https://github.com/getsentry/sentry/pull/113641)
- Migrate chat UI to global drawer by @aliu39 in [#113481](https://github.com/getsentry/sentry/pull/113481)
- Use local storage for explorer override by @Zylphrex in [#113475](https://github.com/getsentry/sentry/pull/113475)
- Expose export-indexes via public org seer RPC by @shruthilayaj in [#113227](https://github.com/getsentry/sentry/pull/113227)
- Add Code Mode toggle to Explorer UI by @azulus in [#112882](https://github.com/getsentry/sentry/pull/112882)

#### Integrations

- Update example integration for api pipeline by @evanpurkhiser in [#113350](https://github.com/getsentry/sentry/pull/113350)
- Add direct link to GitLab user settings by @evanpurkhiser in [#113558](https://github.com/getsentry/sentry/pull/113558)
- Prevent fetching thousands of commits by @armenzg in [#113526](https://github.com/getsentry/sentry/pull/113526)
- Track cache hit ratio by API request type by @armenzg in [#113463](https://github.com/getsentry/sentry/pull/113463)
- Route Claude Code and Cursor through API pipeline modal by @evanpurkhiser in [#113326](https://github.com/getsentry/sentry/pull/113326)
- Remove feature flags for GAd pipelines by @evanpurkhiser in [#113097](https://github.com/getsentry/sentry/pull/113097)
- GA all API Integration Pipelines by @evanpurkhiser in [#113067](https://github.com/getsentry/sentry/pull/113067)

#### Issue Detection

- Add weighted project selection by @roggenkemper in [#113466](https://github.com/getsentry/sentry/pull/113466)
- Add org-level scheduling for AI issue detection by @roggenkemper in [#113060](https://github.com/getsentry/sentry/pull/113060)

#### Issues

- Tag issue stream analytics with AnalyticsArea by @scttcper in [#113505](https://github.com/getsentry/sentry/pull/113505)
- Add project-level enable option for LLM issue detection by @roggenkemper in [#112710](https://github.com/getsentry/sentry/pull/112710)

#### Logs

- Add ourlogs-modal-export flag by @JoshuaKGoldberg in [#113363](https://github.com/getsentry/sentry/pull/113363)
- Switch needle-in-haystack auto-fetching from 5 tries to time-based by @JoshuaKGoldberg in [#113219](https://github.com/getsentry/sentry/pull/113219)

#### Occurrences On Eap

- Make organization trace item stats API endpoint generic over trace item type by @shashjar in [#112889](https://github.com/getsentry/sentry/pull/112889)
- Implement `run_stats_query` in Occurrences EAP RPC class by @shashjar in [#112878](https://github.com/getsentry/sentry/pull/112878)

#### Onboarding

- Fire distinct analytics for SCM setup-docs events by @jaydgoss in [#113552](https://github.com/getsentry/sentry/pull/113552)
- Update SCM onboarding styles to match updated designs by @jaydgoss in [#113352](https://github.com/getsentry/sentry/pull/113352)
- Gate SCM_PROJECT_DETAILS step with feature flag by @jaydgoss in [#113112](https://github.com/getsentry/sentry/pull/113112)
- Fire distinct analytics events for SCM welcome by @jaydgoss in [#113364](https://github.com/getsentry/sentry/pull/113364)
- Register onboarding-scm-project-details-experiment flag by @jaydgoss in [#113072](https://github.com/getsentry/sentry/pull/113072)

#### Opsgenie

- Add frontend pipeline step for Opsgenie integration setup by @evanpurkhiser in [#113214](https://github.com/getsentry/sentry/pull/113214)
- Add API-driven pipeline backend for Opsgenie integration setup by @evanpurkhiser in [#113174](https://github.com/getsentry/sentry/pull/113174)

#### Pagerduty

- Add frontend pipeline step for PagerDuty integration setup by @evanpurkhiser in [#113173](https://github.com/getsentry/sentry/pull/113173)
- Add API-driven pipeline backend for PagerDuty integration setup by @evanpurkhiser in [#113103](https://github.com/getsentry/sentry/pull/113103)

#### Perforce

- Add API-driven pipeline backend for Perforce integration setup by @evanpurkhiser in [#113468](https://github.com/getsentry/sentry/pull/113468)
- Add frontend pipeline steps for Perforce integration setup by @evanpurkhiser in [#113471](https://github.com/getsentry/sentry/pull/113471)

#### Pipeline

- Route additional integrations through API pipeline modal by @evanpurkhiser in [#113302](https://github.com/getsentry/sentry/pull/113302)
- Optimistically render first step during initialization by @evanpurkhiser in [#113307](https://github.com/getsentry/sentry/pull/113307)

#### Preprod

- Use images endpoint for snapshot diffs by @lcian in [#113312](https://github.com/getsentry/sentry/pull/113312)
- Expose snapshot filters in search typeahead by @NicoHinderling in [#113332](https://github.com/getsentry/sentry/pull/113332)
- Add snapshot and approval search filters by @NicoHinderling in [#113331](https://github.com/getsentry/sentry/pull/113331)

#### Scraps

- Adopt GlobalDrawer component into design system by @natemoo-re in [#113489](https://github.com/getsentry/sentry/pull/113489)
- Opinionated scrollbar styles by @natemoo-re in [#113477](https://github.com/getsentry/sentry/pull/113477)

#### Seer

- Add per-issue Explorer button to workflow run drill-down by @trevor-e in [#113620](https://github.com/getsentry/sentry/pull/113620)
- Clear Seer automation handoff preferences on integration deletion by @srest2021 in [#113337](https://github.com/getsentry/sentry/pull/113337)
- Add user_id to SlackSeerAgentResponded analytics event by @alexsohn1126 in [#113550](https://github.com/getsentry/sentry/pull/113550)
- Add timeout and reasoning params to LlmGenerateRequest by @ArthurKnaus in [#113544](https://github.com/getsentry/sentry/pull/113544)
- Add get_metric_metadata RPC for Seer metrics agent by @isaacwang-sentry in [#113462](https://github.com/getsentry/sentry/pull/113462)
- Add Night Shift workflows list page by @trevor-e in [#113500](https://github.com/getsentry/sentry/pull/113500)
- Add workflows list endpoint for Night Shift runs by @trevor-e in [#113491](https://github.com/getsentry/sentry/pull/113491)
- Update Seer Autofix settings table to match details page by @ryan953 in [#113472](https://github.com/getsentry/sentry/pull/113472)
- Add feature flag for thinking blocks toggle by @chromy in [#113437](https://github.com/getsentry/sentry/pull/113437)
- Add LLM context to widget builder page by @Mihir-Mavalankar in [#112703](https://github.com/getsentry/sentry/pull/112703)
- Consolidate fields on the Autofix Project details page by @ryan953 in [#113236](https://github.com/getsentry/sentry/pull/113236)
- Allow filtering the autofix settings table by agent name by @ryan953 in [#113309](https://github.com/getsentry/sentry/pull/113309)
- Move the advanced seer settings to their own page by @ryan953 in [#113248](https://github.com/getsentry/sentry/pull/113248)
- Gate Night Shift projects behind projects:seer-night-shift by @chromy in [#113283](https://github.com/getsentry/sentry/pull/113283)
- Print Explorer URL after night shift trigger script runs by @trevor-e in [#113239](https://github.com/getsentry/sentry/pull/113239)
- Allow bulk-editing Code Review triggers by @ryan953 in [#113116](https://github.com/getsentry/sentry/pull/113116)
- Add max candidates input to admin night shift form by @trevor-e in [#113223](https://github.com/getsentry/sentry/pull/113223)
- Allow max candidate override on admin night shift trigger by @trevor-e in [#113222](https://github.com/getsentry/sentry/pull/113222)
- Add extras JSON column to SeerNightShiftRun by @trevor-e in [#113178](https://github.com/getsentry/sentry/pull/113178)
- Add command palette action to resume night shift explorer chats by @chromy in [#113161](https://github.com/getsentry/sentry/pull/113161)
- Implement sorting for the remaining columns on the Code Review settings table by @ryan953 in [#112973](https://github.com/getsentry/sentry/pull/112973)

#### Slack

- Unfurl logs/metrics widget URLs by @DominikB2014 in [#113577](https://github.com/getsentry/sentry/pull/113577)
- Unfurl spans dashboard widget URLs in slack by @DominikB2014 in [#113478](https://github.com/getsentry/sentry/pull/113478)

#### Snapshots

- Show skipped count in status checks and PR comments by @NicoHinderling in [#113007](https://github.com/getsentry/sentry/pull/113007)
- Add selective flag and rename all_image_names to all_image_file_names by @NicoHinderling in [#113006](https://github.com/getsentry/sentry/pull/113006)
- Add images_skipped and is_selective columns for selective testing by @NicoHinderling in [#113005](https://github.com/getsentry/sentry/pull/113005)

#### Spans

- Make salt deterministic for subsegments by @lvthanh03 in [#113659](https://github.com/getsentry/sentry/pull/113659)
- Add flush_id to flushed segment messages by @untitaker in [#113416](https://github.com/getsentry/sentry/pull/113416)

#### Tracemetrics

- Add equation support in old tracemetric alerts by @narsaynorath in [#113665](https://github.com/getsentry/sentry/pull/113665)
- Open Alert in Explore by @narsaynorath in [#113511](https://github.com/getsentry/sentry/pull/113511)
- Add updating functionality to alerts by @narsaynorath in [#113487](https://github.com/getsentry/sentry/pull/113487)
- Implement read-only view for equations in alerts by @narsaynorath in [#113446](https://github.com/getsentry/sentry/pull/113446)
- Add parser for resolved expressions by @narsaynorath in [#113230](https://github.com/getsentry/sentry/pull/113230)
- Add equations in alerts flag by @narsaynorath in [#113181](https://github.com/getsentry/sentry/pull/113181)
- Add PII scrubbing UI by @k-fish in [#113078](https://github.com/getsentry/sentry/pull/113078)
- Add alert via dropdown in explore by @k-fish in [#112963](https://github.com/getsentry/sentry/pull/112963)
- Disable Save As for equations by @narsaynorath in [#113089](https://github.com/getsentry/sentry/pull/113089)
- Disable filter actions on equations/results by @narsaynorath in [#113088](https://github.com/getsentry/sentry/pull/113088)
- Add filter bar to equation by @narsaynorath in [#113057](https://github.com/getsentry/sentry/pull/113057)

#### Viewer Context

- Add observe() helper and instrument 3 chokepoints by @gricha in [#113237](https://github.com/getsentry/sentry/pull/113237)
- Switch Seer API to JWT X-Viewer-Context header by @gricha in [#112894](https://github.com/getsentry/sentry/pull/112894)

#### Vsts

- Add API-driven integration setup by @evanpurkhiser in [#113073](https://github.com/getsentry/sentry/pull/113073)
- Add API pipeline frontend flow by @evanpurkhiser in [#113095](https://github.com/getsentry/sentry/pull/113095)

#### Other

- (agent-monitoring) Refer to sentry ai skills instead of hardcoding agent instructions by @shellmayr in [#113049](https://github.com/getsentry/sentry/pull/113049)
- (agents) Surface context utilization in AI span details by @obostjancic in [#113407](https://github.com/getsentry/sentry/pull/113407)
- (alerts) Allow arithmetic in alert validation by @wmak in [#113105](https://github.com/getsentry/sentry/pull/113105)
- (analytics) Tag integration install events with is_scm by @jaydgoss in [#113225](https://github.com/getsentry/sentry/pull/113225)
- (api) Allow per-org rate limit overrides for project transfer by @cleptric in [#113507](https://github.com/getsentry/sentry/pull/113507)
- (cells) Add organization avatar to control silo by @lynnagara in [#113008](https://github.com/getsentry/sentry/pull/113008)
- (coding agent integrations) Move alerts into the drawer instead of as toasts by @sehr-m in [#113306](https://github.com/getsentry/sentry/pull/113306)
- (compactSelect) Add menuMinWidth prop by @DominikB2014 in [#113545](https://github.com/getsentry/sentry/pull/113545)
- (crons) Update onboarding empty state illustration by @evanpurkhiser in [#112399](https://github.com/getsentry/sentry/pull/112399)
- (data-explore) Add new Query type for full export for simpler request validation by @manessaraj in [#112953](https://github.com/getsentry/sentry/pull/112953)
- (data-export) Exported attributes in data export should have public names by @manessaraj in [#112846](https://github.com/getsentry/sentry/pull/112846)
- (dev) Replace pre-commit with prek --quiet by @joshuarli in [#110808](https://github.com/getsentry/sentry/pull/110808)
- (disclosure) Support HTML attributes in Disclosure.Content by @Zylphrex in [#113572](https://github.com/getsentry/sentry/pull/113572)
- (errors) Create errors toolbar components by @nikkikapadia in [#112526](https://github.com/getsentry/sentry/pull/112526)
- (hotkey) Add hotkey icons, update docs by @natemoo-re in [#113465](https://github.com/getsentry/sentry/pull/113465)
- (identity) Add identity_ext_ids filter to identity RPC service by @alexsohn1126 in [#113447](https://github.com/getsentry/sentry/pull/113447)
- (insights) Integrate conversation details into trace AI tab by @obostjancic in [#112907](https://github.com/getsentry/sentry/pull/112907)
- (llm-detection) Add Seer budget pre-check before dispatching traces by @nora-shap in [#113253](https://github.com/getsentry/sentry/pull/113253)
- (mcp) Add devinfra-mcp to dotagents by @kenzoengineer in [#113367](https://github.com/getsentry/sentry/pull/113367)
- (navigation) Hide Insights sidebar behind feature flag by @gggritso in [#112965](https://github.com/getsentry/sentry/pull/112965)
- (night-shift) Trigger autofix for fixable candidates and add dry run mode by @trevor-e in [#113056](https://github.com/getsentry/sentry/pull/113056)
- (nightshift) Add tweaks option for prototyping nightshift by @chromy in [#113675](https://github.com/getsentry/sentry/pull/113675)
- (objectstore) Add CLI rate limiting to Objectstore endpoint by @lcian in [#111063](https://github.com/getsentry/sentry/pull/111063)
- (replay) Remove canvas recording by @billyvg in [#113657](https://github.com/getsentry/sentry/pull/113657)
- (replays) Move timestamp and widget controls inline in page-frame mode by @JonasBa in [#113694](https://github.com/getsentry/sentry/pull/113694)
- (seer agent) Add suggested question buttons to empty state by @sehr-m in [#113636](https://github.com/getsentry/sentry/pull/113636)
- (seer-slack) Add analytics for Seer agent Slack responses by @alexsohn1126 in [#113318](https://github.com/getsentry/sentry/pull/113318)
- (st) Install gcloud for local selective testing by @joshuarli in [#113496](https://github.com/getsentry/sentry/pull/113496)
- (supergroup) Retry snuba batch query in supergroups lightweight backfill by @cvxluo in [#113184](https://github.com/getsentry/sentry/pull/113184)
- (supergroups) Track drawer opens and add feedback button to header by @scttcper in [#113497](https://github.com/getsentry/sentry/pull/113497)
- (ui) Add LLM issue detection toggle to performance settings by @roggenkemper in [#112711](https://github.com/getsentry/sentry/pull/112711)
- (utils) Add PK caching and validate_item to CursoredScheduler by @roggenkemper in [#113238](https://github.com/getsentry/sentry/pull/113238)
- (vercel) Add frontend pipeline step for Vercel integration setup by @evanpurkhiser in [#113220](https://github.com/getsentry/sentry/pull/113220)
- (workflows) Restrict APIs based on metrics alert features by @kcons in [#112600](https://github.com/getsentry/sentry/pull/112600)

### Bug Fixes 🐛

#### Aci

- Don't allowe editing a project by @saponifi3d in [#113355](https://github.com/getsentry/sentry/pull/113355)
- Only show gridline information, if we have data available by @saponifi3d in [#113353](https://github.com/getsentry/sentry/pull/113353)
- Restrict percent sessions interval choices to supported values by @malwilley in [#113313](https://github.com/getsentry/sentry/pull/113313)

#### Alerts

- Accept "default" as a valid PagerDuty severity by @malwilley in [#113614](https://github.com/getsentry/sentry/pull/113614)
- Make everything vertical aligned by @priscilawebdev in [#113532](https://github.com/getsentry/sentry/pull/113532)
- Don't log APIException as error in alert rule serializer by @malwilley in [#113584](https://github.com/getsentry/sentry/pull/113584)
- More graceful handling of missing Detector in WorkflowEngineDataConditionSerializer by @kcons in [#113575](https://github.com/getsentry/sentry/pull/113575)

#### Api

- Allow Bearer token auth for GET /api/0/auth/ by @BYK in [#112853](https://github.com/getsentry/sentry/pull/112853)
- Serialize defaultCodingAgentIntegrationId as a string by @srest2021 in [#113198](https://github.com/getsentry/sentry/pull/113198)

#### Auth

- Pin SSO setup identity link to the authenticated session by @michelletran-sentry in [#113720](https://github.com/getsentry/sentry/pull/113720)
- Bypass SSO for viewer-context requests by @gricha in [#113124](https://github.com/getsentry/sentry/pull/113124)

#### Automations

- Keep alert titles in page layout by @priscilawebdev in [#113405](https://github.com/getsentry/sentry/pull/113405)
- Move detail header into the page-frame top bar by @priscilawebdev in [#113270](https://github.com/getsentry/sentry/pull/113270)

#### Chartcuterie

- Reduce legend font size and truncation length by @DominikB2014 in [#113180](https://github.com/getsentry/sentry/pull/113180)
- Stack grouped bar charts in unfurls by @DominikB2014 in [#113177](https://github.com/getsentry/sentry/pull/113177)

#### Claude Code

- Use deterministic external_id scoped to organization by @sehr-m in [#113256](https://github.com/getsentry/sentry/pull/113256)
- Convert workspace option to default-checkbox by @sehr-m in [#113255](https://github.com/getsentry/sentry/pull/113255)

#### Conversations

- Normalize lastOutput array format to prevent .replace TypeError by @obostjancic in [#113410](https://github.com/getsentry/sentry/pull/113410)
- Show when a conversation happened on detail page by @obostjancic in [#112910](https://github.com/getsentry/sentry/pull/112910)

#### Dashboards

- Add telemetry and guard for non-string filter values by @gggritso in [#113589](https://github.com/getsentry/sentry/pull/113589)
- Alignment and sizing of IntervalSelector on Dashboards by @TkDodo in [#113642](https://github.com/getsentry/sentry/pull/113642)
- Bump react-grid-layout to fix maximize bug by @DominikB2014 in [#113587](https://github.com/getsentry/sentry/pull/113587)
- Disable generate dashboard button when dashboard limit is reached by @edwardgou-sentry in [#113301](https://github.com/getsentry/sentry/pull/113301)
- Restore release bubbles when thresholds are configured by @DominikB2014 in [#113565](https://github.com/getsentry/sentry/pull/113565)
- Widget builder cut off when editing widget on page scroll by @nikkikapadia in [#113479](https://github.com/getsentry/sentry/pull/113479)
- Guard getTimeseriesSortOptions call in widget builder by @edwardgou-sentry in [#113467](https://github.com/getsentry/sentry/pull/113467)
- Apply prebuilt globalFilter to saved prebuilt dashboards by @DominikB2014 in [#113454](https://github.com/getsentry/sentry/pull/113454)
- Add character limit to text widget content by @nikkikapadia in [#113348](https://github.com/getsentry/sentry/pull/113348)
- Align embedded insights alerts by @priscilawebdev in [#113271](https://github.com/getsentry/sentry/pull/113271)
- Reject new widgets with deprecated display types by @DominikB2014 in [#113294](https://github.com/getsentry/sentry/pull/113294)
- Persist legend selection to URL for new chart widgets by @gggritso in [#112974](https://github.com/getsentry/sentry/pull/112974)
- Remove "Insights" from breadcrumbs by @gggritso in [#113209](https://github.com/getsentry/sentry/pull/113209)
- Enable search for filter values over 70 characters by @jameskeane in [#113197](https://github.com/getsentry/sentry/pull/113197)
- Use scientific notation for small numbers in breakdown table by @gggritso in [#113144](https://github.com/getsentry/sentry/pull/113144)
- Use dashboards as fallback secondary nav content for Insights pages by @gggritso in [#113210](https://github.com/getsentry/sentry/pull/113210)
- Show no data message for details widget by @DominikB2014 in [#113172](https://github.com/getsentry/sentry/pull/113172)
- Unescape alias lookup in visualizations by @narsaynorath in [#113170](https://github.com/getsentry/sentry/pull/113170)
- Hide legend alias option for details widget type by @DominikB2014 in [#112957](https://github.com/getsentry/sentry/pull/112957)
- Preserve page filters when navigating from prebuilt dashboard link by @edwardgou-sentry in [#113070](https://github.com/getsentry/sentry/pull/113070)

#### Detectors

- Don't assume the Detector cache is limited to enabled by @kcons in [#113627](https://github.com/getsentry/sentry/pull/113627)
- Bulk-fetch resolve thresholds in WorkflowEngineDataConditionSerializer by @kcons in [#113347](https://github.com/getsentry/sentry/pull/113347)

#### Eco

- Updates external ID field length for integrations by @GabeVillalobos in [#113308](https://github.com/getsentry/sentry/pull/113308)
- Improves domain checking for next URL in installation flow by @GabeVillalobos in [#113118](https://github.com/getsentry/sentry/pull/113118)
- Re-adds the Complete Installation button to integration config pages" by @GabeVillalobos in [#113076](https://github.com/getsentry/sentry/pull/113076)

#### Explorer

- Use new isDrawerOpen state for more accurate open/closed tracking by @aliu39 in [#113639](https://github.com/getsentry/sentry/pull/113639)
- Move CM toggle after CE in top bar by @azulus in [#113315](https://github.com/getsentry/sentry/pull/113315)

#### Insights

- Handle gen_ai.output.messages as JSON object by @obostjancic in [#113537](https://github.com/getsentry/sentry/pull/113537)
- Fix empty txn summary when transaction.op is default by @mjq in [#113099](https://github.com/getsentry/sentry/pull/113099)

#### Integrations

- Cache missing GitHub repo tree lookups by @armenzg in [#113113](https://github.com/getsentry/sentry/pull/113113)
- Read dataset-specific query params in explore unfurls by @DominikB2014 in [#113304](https://github.com/getsentry/sentry/pull/113304)

#### Issue Details

- Align content with page-frame top bar by @priscilawebdev in [#113519](https://github.com/getsentry/sentry/pull/113519)
- Update unassign assignee action by @JonasBa in [#113510](https://github.com/getsentry/sentry/pull/113510)
- Keep sticky event nav below page frame by @priscilawebdev in [#113401](https://github.com/getsentry/sentry/pull/113401)

#### Issue Detection

- Filter to early adopter orgs by @roggenkemper in [#113559](https://github.com/getsentry/sentry/pull/113559)
- Use 'AI Detected' label by @roggenkemper in [#113310](https://github.com/getsentry/sentry/pull/113310)
- Don't use "Other" as title for uncategorized AI issues by @roggenkemper in [#113311](https://github.com/getsentry/sentry/pull/113311)

#### Issues

- Apply issue search conditions to next/prev event buttons on issue details page by @shashjar in [#113234](https://github.com/getsentry/sentry/pull/113234)
- Include group type id in AI-detected fingerprint by @roggenkemper in [#113289](https://github.com/getsentry/sentry/pull/113289)
- Forward message query in project events endpoint in EAP conditions by @shashjar in [#113250](https://github.com/getsentry/sentry/pull/113250)
- Prevent descender cutoff in GroupMetaRow annotations by @scttcper in [#113243](https://github.com/getsentry/sentry/pull/113243)
- Include event property fields in has: suggestions by @scttcper in [#113231](https://github.com/getsentry/sentry/pull/113231)
- Skip duplicate issue attachments query when possible by @scttcper in [#113085](https://github.com/getsentry/sentry/pull/113085)

#### Migrations

- Prevent modifying the type of a column that is part of an index during migrations by @wedamija in [#113370](https://github.com/getsentry/sentry/pull/113370)
- 0007 had the wrong migration dependency by @wmak in [#113451](https://github.com/getsentry/sentry/pull/113451)

#### Onboarding

- Scm onboarding reuse project on back-nav when nothing changed by @jaydgoss in [#113111](https://github.com/getsentry/sentry/pull/113111)
- Emit scm_platform_selected on auto-detection by @jaydgoss in [#113351](https://github.com/getsentry/sentry/pull/113351)

#### Ourlogs

- Pipe case sensitivity through Highlight component by @JoshuaKGoldberg in [#113448](https://github.com/getsentry/sentry/pull/113448)
- Enable notMerge option for time series ECharts by @JoshuaKGoldberg in [#113434](https://github.com/getsentry/sentry/pull/113434)

#### Page Frame

- Move primary actions into local page controls by @JonasBa in [#113612](https://github.com/getsentry/sentry/pull/113612)
- Remove empty headers and move breadcrumbs by @priscilawebdev in [#113654](https://github.com/getsentry/sentry/pull/113654)
- Constrain replay and feedback layouts by @priscilawebdev in [#113266](https://github.com/getsentry/sentry/pull/113266)

#### Pageframe

- SubscriptionHeader by @TkDodo in [#113648](https://github.com/getsentry/sentry/pull/113648)
- Render settings layout subtitle by @TkDodo in [#113518](https://github.com/getsentry/sentry/pull/113518)
- Integration layout header by @TkDodo in [#113406](https://github.com/getsentry/sentry/pull/113406)
- Remove muted variant from InfoTip by @TkDodo in [#113403](https://github.com/getsentry/sentry/pull/113403)
- Render replay actions into TopBarSlot by @TkDodo in [#113164](https://github.com/getsentry/sentry/pull/113164)

#### Releases

- Remove unused statsPeriod query parameter by @scttcper in [#113482](https://github.com/getsentry/sentry/pull/113482)
- Move feedback to top bar slot by @JonasBa in [#113378](https://github.com/getsentry/sentry/pull/113378)
- Move page-frame breadcrumbs into the top bar by @priscilawebdev in [#113042](https://github.com/getsentry/sentry/pull/113042)

#### Replays

- Hide trace ID in replay waterfall by @nsdeschenes in [#113535](https://github.com/getsentry/sentry/pull/113535)
- Move replay actions into the page-frame top bar by @priscilawebdev in [#113148](https://github.com/getsentry/sentry/pull/113148)

#### Repos

- Call repo sync batch tasks by @wedamija in [#113132](https://github.com/getsentry/sentry/pull/113132)
- Fix vsts sync error by @wedamija in [#113136](https://github.com/getsentry/sentry/pull/113136)
- Have repo sync batch up the work by @wedamija in [#113131](https://github.com/getsentry/sentry/pull/113131)

#### Seer

- Bill seat-based autofix based on Seer project preferences instead of code mappings and tuning by @srest2021 in [#113700](https://github.com/getsentry/sentry/pull/113700)
- Use count(value) in tracemetrics query for metric metadata by @isaacwang-sentry in [#113616](https://github.com/getsentry/sentry/pull/113616)
- Trigger night shift autofix end-to-end and persist Seer run ids by @trevor-e in [#113619](https://github.com/getsentry/sentry/pull/113619)
- Render all root nodes in snapshot_to_markdown by @Mihir-Mavalankar in [#113607](https://github.com/getsentry/sentry/pull/113607)
- Remove code mappings fallback when configuring Seer for existing org by @srest2021 in [#113582](https://github.com/getsentry/sentry/pull/113582)
- Remove code mappings fallback from has_project_connected_repos by @srest2021 in [#113509](https://github.com/getsentry/sentry/pull/113509)
- Correct coding agent docs links by @nikolovlazar in [#113546](https://github.com/getsentry/sentry/pull/113546)
- Clean up SeerProjectRepository after Seer API call succeeds on integration disabled and repo hidden/disabled by @srest2021 in [#113345](https://github.com/getsentry/sentry/pull/113345)
- Handle SeerApiError in Explorer chat endpoint by @Mihir-Mavalankar in [#113458](https://github.com/getsentry/sentry/pull/113458)
- Add kwargs to Seer cleanup tasks for safe arg change deploy by @srest2021 in [#113449](https://github.com/getsentry/sentry/pull/113449)
- Linkify short IDs with multi-hyphen project slugs by @JoshFerge in [#113431](https://github.com/getsentry/sentry/pull/113431)
- Extract clean message from coding agent HTTPError bodies by @sehr-m in [#113305](https://github.com/getsentry/sentry/pull/113305)

#### Settings

- Move primary actions inline in settings pages (page-frame) by @JonasBa in [#113626](https://github.com/getsentry/sentry/pull/113626)
- Avoid duplicate dynamic sampling title by @JonasBa in [#113383](https://github.com/getsentry/sentry/pull/113383)
- Add spacing above notification alert on emails page by @scttcper in [#113123](https://github.com/getsentry/sentry/pull/113123)

#### Slack

- Apply dashboard-stored filters when unfurling widget URLs by @DominikB2014 in [#113711](https://github.com/getsentry/sentry/pull/113711)
- Add slack-staging to a list of of new oauth pipeline providers by @alexsohn1126 in [#113464](https://github.com/getsentry/sentry/pull/113464)
- Use only first chart when unfurling multi-aggregate Explore URLs by @DominikB2014 in [#113303](https://github.com/getsentry/sentry/pull/113303)
- Restrict trace unfurling to /traces links by @DominikB2014 in [#113218](https://github.com/getsentry/sentry/pull/113218)

#### Spans

- Enable better_backpressure in span buffer RunTask by @untitaker in [#113692](https://github.com/getsentry/sentry/pull/113692)
- Avoid unpack() crashes when merging sets by @untitaker in [#113442](https://github.com/getsentry/sentry/pull/113442)

#### Supergroups

- Fallback to limited query on large supergroups by @scttcper in [#113573](https://github.com/getsentry/sentry/pull/113573)
- Hoist stream issues to the first page of the drawer by @scttcper in [#113192](https://github.com/getsentry/sentry/pull/113192)
- Add backfill referrer to Referrer enum by @cvxluo in [#113092](https://github.com/getsentry/sentry/pull/113092)

#### Tracemetrics

- Disable multi select for aggregations field in alerts by @narsaynorath in [#113712](https://github.com/getsentry/sentry/pull/113712)
- Samples table UI tweaks by @nsdeschenes in [#113650](https://github.com/getsentry/sentry/pull/113650)
- Styling on visualize field for alerts by @narsaynorath in [#113704](https://github.com/getsentry/sentry/pull/113704)
- Metric panel padding fixes by @nsdeschenes in [#113581](https://github.com/getsentry/sentry/pull/113581)
- Flaky metrics tab test by @narsaynorath in [#113625](https://github.com/getsentry/sentry/pull/113625)
- Pass project and env in alerts by @narsaynorath in [#113551](https://github.com/getsentry/sentry/pull/113551)
- PII tooltip should appear in metrics samples by @k-fish in [#113339](https://github.com/getsentry/sentry/pull/113339)
- Make metric option search case insensitive by @nsdeschenes in [#113188](https://github.com/getsentry/sentry/pull/113188)
- Metric panel title should use equation with label by @narsaynorath in [#113143](https://github.com/getsentry/sentry/pull/113143)
- Resolve all equations at once when subcomponents update by @narsaynorath in [#113117](https://github.com/getsentry/sentry/pull/113117)
- Prep for stats flip by @k-fish in [#113114](https://github.com/getsentry/sentry/pull/113114)
- Disable recent searches until ready by @narsaynorath in [#113091](https://github.com/getsentry/sentry/pull/113091)
- Allow sorting on all aggregate tab columns by @narsaynorath in [#113090](https://github.com/getsentry/sentry/pull/113090)

#### Ui

- Add tooltips to icon-only header actions by @priscilawebdev in [#113151](https://github.com/getsentry/sentry/pull/113151)
- Track topbar offset for sticky headers by @natemoo-re in [#113298](https://github.com/getsentry/sentry/pull/113298)
- Adjust placeholder height for DashboardGrid by @TkDodo in [#113160](https://github.com/getsentry/sentry/pull/113160)

#### Workflows

- Delete workflows when the Rule is deleted by @kcons in [#113588](https://github.com/getsentry/sentry/pull/113588)
- Handle duplicated AlertRuleWorkflow entries for a Workflow more gracefully by @kcons in [#113138](https://github.com/getsentry/sentry/pull/113138)
- Don't reuse existing workflow in create_priority_workflow by @kcons in [#113133](https://github.com/getsentry/sentry/pull/113133)
- Cache integration lookups, and pass the cache to render_label by @kcons in [#112976](https://github.com/getsentry/sentry/pull/112976)

#### Other

- (api-docs) Add missing spaces in stats endpoint help text by @sentry-junior in [#113529](https://github.com/getsentry/sentry/pull/113529)
- (assisted-query) Apply Seer visualizations and sort to metrics page by @isaacwang-sentry in [#113232](https://github.com/getsentry/sentry/pull/113232)
- (autofix) Remove unconfigured projects gate and remove code mapping repos fallback by @srest2021 in [#113077](https://github.com/getsentry/sentry/pull/113077)
- (billing) Account for gifted quantities in productIsEnabled check by @dashed in [#113142](https://github.com/getsentry/sentry/pull/113142)
- (button) Map button size="zero" to icon size "xs" by @TkDodo in [#113646](https://github.com/getsentry/sentry/pull/113646)
- (ci) Prevent shell injection in setup-devservices action by @fix-it-felix-sentry in [#113400](https://github.com/getsentry/sentry/pull/113400)
- (cmdk) Do not fire selections on Tab key press by @JonasBa in [#113381](https://github.com/getsentry/sentry/pull/113381)
- (dashoards) Fix table widget column widths snapping after user resize by @edwardgou-sentry in [#112960](https://github.com/getsentry/sentry/pull/112960)
- (drawer) Match responsive header height on small screens by @priscilawebdev in [#113016](https://github.com/getsentry/sentry/pull/113016)
- (dropdowns) Match focused item mask to overlay background token by @cvxluo in [#113354](https://github.com/getsentry/sentry/pull/113354)
- (eslint) Used extends for remaining plugin configs by @JoshuaKGoldberg in [#113365](https://github.com/getsentry/sentry/pull/113365)
- (explore) Handle nullable aggregations in equations by @wmak in [#113456](https://github.com/getsentry/sentry/pull/113456)
- (feature-flags) Add Node.js support to feature flag onboarding by @scttcper in [#112745](https://github.com/getsentry/sentry/pull/112745)
- (grouping) Remove redundant time regex by @lobsterkatie in [#113601](https://github.com/getsentry/sentry/pull/113601)
- (issue-views) Render editable title in topbar slot for page-frame layout by @JonasBa in [#113488](https://github.com/getsentry/sentry/pull/113488)
- (iswf) Surfaces linked issues for Sentry Apps with no UI components by @GabeVillalobos in [#113372](https://github.com/getsentry/sentry/pull/113372)
- (logs) Remove duplicate main element on logs page by @priscilawebdev in [#113649](https://github.com/getsentry/sentry/pull/113649)
- (mcp) Sync .cursor/mcp.json with dotagents output by @hubertdeng123 in [#113512](https://github.com/getsentry/sentry/pull/113512)
- (metrics) Prevent page scroll when opening metric selector by @nsdeschenes in [#113460](https://github.com/getsentry/sentry/pull/113460)
- (monitors) Move edit breadcrumbs into the top bar by @priscilawebdev in [#113272](https://github.com/getsentry/sentry/pull/113272)
- (mypy) Fix issues with test_scm_onboarding.py by @kcons in [#113598](https://github.com/getsentry/sentry/pull/113598)
- (night-shift) Remove poll timeout that aborted Explorer runs by @trevor-e in [#113137](https://github.com/getsentry/sentry/pull/113137)
- (paginator) Replace f-string with % formatting to avoid SQL injection false positive by @fix-it-felix-sentry in [#113402](https://github.com/getsentry/sentry/pull/113402)
- (performance) Support continuous profiling in sampled events table by @mjq in [#113183](https://github.com/getsentry/sentry/pull/113183)
- (pipeline) Fix GitHub setup_action=install breaking API pipeline popup flow by @evanpurkhiser in [#113240](https://github.com/getsentry/sentry/pull/113240)
- (replay) Add tooltip to timestamp settings button by @JonasBa in [#113377](https://github.com/getsentry/sentry/pull/113377)
- (repositories) Properly set `external_id` in `organization_code_mappings_bulk` by @wedamija in [#113618](https://github.com/getsentry/sentry/pull/113618)
- (scraps) Propagate drf field validation errors in autoSaveForm by @TkDodo in [#113644](https://github.com/getsentry/sentry/pull/113644)
- (search) Return empty result on disjoint group_id intersection by @yuvmen in [#113320](https://github.com/getsentry/sentry/pull/113320)
- (search-query-builder) Escape literal asterisks in filter values by @nsdeschenes in [#113404](https://github.com/getsentry/sentry/pull/113404)
- (selective-testing) Update to fix import gap raised in getsentry by @rbro112 in [#113357](https://github.com/getsentry/sentry/pull/113357)
- (stack-trace) Show <unknown> for frames with no filename by @scttcper in [#113108](https://github.com/getsentry/sentry/pull/113108)
- (tests) Stabilize flaky React Native metrics onboarding test by @JoshuaKGoldberg in [#112000](https://github.com/getsentry/sentry/pull/112000)
- (trace) Keep loading breadcrumbs in the page-frame top bar by @JonasBa in [#113384](https://github.com/getsentry/sentry/pull/113384)
- (tracemetric) Change metric selector syntax by @k-fish in [#113206](https://github.com/getsentry/sentry/pull/113206)
- (traces) Add md gap in explore content section by @nsdeschenes in [#113333](https://github.com/getsentry/sentry/pull/113333)
- (typing) Annotate group_status parameters as int by @JoshFerge in [#113424](https://github.com/getsentry/sentry/pull/113424)
- (uptime) Fix cron monitor incident timing inconsistency by @klochek in [#112692](https://github.com/getsentry/sentry/pull/112692)
- (viewer-context) Populate org after request resolution by @gricha in [#113139](https://github.com/getsentry/sentry/pull/113139)
- (views) Standardize Save as buttons by @priscilawebdev in [#113655](https://github.com/getsentry/sentry/pull/113655)
- (workflow_engine) Manually add date_updated/added timestamps for detectorstate commits by @klochek in [#113480](https://github.com/getsentry/sentry/pull/113480)
- (workflowEngine) Use primary border color by @TkDodo in [#113560](https://github.com/getsentry/sentry/pull/113560)
- Revert "feat(integrations): Send SLO lifecycle metrics to Sentry via SDK (#112839)" by @getsentry-bot in [7e3195c1](https://github.com/getsentry/sentry/commit/7e3195c12364a1a435da331b770042ce3e6461be)
- Don't use type as a variable by @wmak in [#113080](https://github.com/getsentry/sentry/pull/113080)

### Documentation 📚

- (agents) Forbid customer info in PRs, commits, and code by @JoshFerge in [#113300](https://github.com/getsentry/sentry/pull/113300)

### Internal Changes 🔧

#### Aci

- Replace multiple flag usage with single flag by @ceorourke in [#113461](https://github.com/getsentry/sentry/pull/113461)
- Add single flag to control metric alert backwards compatible endpoints by @ceorourke in [#113228](https://github.com/getsentry/sentry/pull/113228)
- Split connected detectors into projects and monitors lists by @malwilley in [#113205](https://github.com/getsentry/sentry/pull/113205)
- Roll out DELETE metric alert endpoint flag by @klochek in [#113215](https://github.com/getsentry/sentry/pull/113215)
- Roll out DELETE issue alert endpoint flag by @klochek in [#113216](https://github.com/getsentry/sentry/pull/113216)
- Report more used legacy models by @ceorourke in [#113233](https://github.com/getsentry/sentry/pull/113233)

#### Alerts

- More efficient GroupOpenPeriod query by @kcons in [#113556](https://github.com/getsentry/sentry/pull/113556)
- Migrate rule node fields to JsonFormAdapterFieldConfig by @priscilawebdev in [#112779](https://github.com/getsentry/sentry/pull/112779)

#### Api

- Remove single trace summary backend endpoint by @nsdeschenes in [#113666](https://github.com/getsentry/sentry/pull/113666)
- Add collapse=organization to project details endpoint by @scttcper in [#113140](https://github.com/getsentry/sentry/pull/113140)

#### Billing

- Bumped protos version to 0.8.15 by @krithikravi in [#113699](https://github.com/getsentry/sentry/pull/113699)
- Renamed metrics to application metric counts(BIL-2237) by @krithikravi in [#113580](https://github.com/getsentry/sentry/pull/113580)

#### Cells

- Update field definitions on BaseRelocationTransfer by @lynnagara in [#113000](https://github.com/getsentry/sentry/pull/113000)
- Remove deprecated get_region_for_organization alias by @lynnagara in [#113003](https://github.com/getsentry/sentry/pull/113003)
- Remove dead SiloMode.CELL check from ReactPageView by @lynnagara in [#113001](https://github.com/getsentry/sentry/pull/113001)

#### Ci

- Tolerate action-download flakes on collect-test-data by @mchen-sentry in [#113453](https://github.com/getsentry/sentry/pull/113453)
- Wait.py, add healthcheck logging by @joshuarli in [#113361](https://github.com/getsentry/sentry/pull/113361)
- Add import analysis to selective testing by @rbro112 in [#113247](https://github.com/getsentry/sentry/pull/113247)

#### Cmdk

- Add Seer actions to command palette by @JonasBa in [#113490](https://github.com/getsentry/sentry/pull/113490)
- Add missing secondary nav items to command palette by @JonasBa in [#113155](https://github.com/getsentry/sentry/pull/113155)

#### Commits

- Remove "Unable to Fetch Commits" email by @leeandher in [#113445](https://github.com/getsentry/sentry/pull/113445)
- Simplify main loop, extra logging & CODEOWNERS update by @armenzg in [#113418](https://github.com/getsentry/sentry/pull/113418)
- Refactor fetch_commits task by @armenzg in [#113293](https://github.com/getsentry/sentry/pull/113293)
- Improve fetch commit task observability by @armenzg in [#113282](https://github.com/getsentry/sentry/pull/113282)

#### Dashboards

- Normalize error responses to use detail key by @gggritso in [#113606](https://github.com/getsentry/sentry/pull/113606)
- Use Dashboard router hint in revision restore by @gggritso in [#113605](https://github.com/getsentry/sentry/pull/113605)
- Reorder primary actions by @JonasBa in [#113443](https://github.com/getsentry/sentry/pull/113443)
- Remove Dashboard Templates feature by @gggritso in [#113343](https://github.com/getsentry/sentry/pull/113343)
- Remove dashboards-interval-selection flag declaration (backend) by @gggritso in [#113290](https://github.com/getsentry/sentry/pull/113290)
- Remove dashboards-interval-selection feature flag (frontend) by @gggritso in [#113288](https://github.com/getsentry/sentry/pull/113288)
- Migrate widget type selector to CompactSelect by @DominikB2014 in [#112927](https://github.com/getsentry/sentry/pull/112927)

#### Explore

- Add header hints and update explore headers by @nsdeschenes in [#113571](https://github.com/getsentry/sentry/pull/113571)
- Normalize ExploreControlSection padding to md xl by @JonasBa in [#113579](https://github.com/getsentry/sentry/pull/113579)
- Use paste instead of type for spans tab query input by @scttcper in [#113349](https://github.com/getsentry/sentry/pull/113349)
- Move attribute key fetching to apiOptions utility by @nsdeschenes in [#113047](https://github.com/getsentry/sentry/pull/113047)
- Add dev features flag by @k-fish in [#113081](https://github.com/getsentry/sentry/pull/113081)

#### Explorer

- SwitchToRun should be a no-op for same runId by @aliu39 in [#113262](https://github.com/getsentry/sentry/pull/113262)
- Rename global context provider + use it for close button and external opens by @aliu39 in [#113264](https://github.com/getsentry/sentry/pull/113264)
- Reorg directory structure by @aliu39 in [#113263](https://github.com/getsentry/sentry/pull/113263)
- Update hook to use useMutation by @aliu39 in [#113146](https://github.com/getsentry/sentry/pull/113146)

#### Flags

- Remove dead projects:data-forwarding flag by @wedamija in [#113374](https://github.com/getsentry/sentry/pull/113374)
- Remove 5 dead feature flag registrations by @wedamija in [#113373](https://github.com/getsentry/sentry/pull/113373)

#### Grouping

- Add MAC address parameterization regex by @lobsterkatie in [#113129](https://github.com/getsentry/sentry/pull/113129)
- Make ip regex stricter by @lobsterkatie in [#112995](https://github.com/getsentry/sentry/pull/112995)

#### Integrations

- Make GitHub compare-commits caching default by @armenzg in [#113536](https://github.com/getsentry/sentry/pull/113536)
- Remove totally unused `claude-code-environment.html` by @evanpurkhiser in [#113317](https://github.com/getsentry/sentry/pull/113317)
- Request recent GitHub commits with explicit page size by @armenzg in [#113217](https://github.com/getsentry/sentry/pull/113217)
- Clarify which endpoints gets called by @armenzg in [#113196](https://github.com/getsentry/sentry/pull/113196)
- Halting events to be logged as warning by @armenzg in [#113104](https://github.com/getsentry/sentry/pull/113104)
- Gate disabling repositories behind a separate flag by @wedamija in [#113071](https://github.com/getsentry/sentry/pull/113071)

#### Issue Detection

- Increase tick frequency to 5 min, reduce cycle to 1 hour by @roggenkemper in [#113621](https://github.com/getsentry/sentry/pull/113621)
- Hide search and settings behind `hideAiFeatures` by @roggenkemper in [#113542](https://github.com/getsentry/sentry/pull/113542)
- Make AI issue types searchable when feature flag by @roggenkemper in [#113470](https://github.com/getsentry/sentry/pull/113470)
- Set `api_expose` to True by @roggenkemper in [#113093](https://github.com/getsentry/sentry/pull/113093)

#### Issues

- Extract shared search + serialize helpers by @cvxluo in [#113562](https://github.com/getsentry/sentry/pull/113562)
- Removing option registration no longer needed by @shashjar in [#113597](https://github.com/getsentry/sentry/pull/113597)
- Use boolean option for application of issue search conditions to prev/next event navigation by @shashjar in [#113555](https://github.com/getsentry/sentry/pull/113555)
- Migrate similar stack trace to react-query by @scttcper in [#113344](https://github.com/getsentry/sentry/pull/113344)
- Consolidate duplicate issue tags requests into one by @scttcper in [#113079](https://github.com/getsentry/sentry/pull/113079)

#### Iswf

- Uses repository URL by default when linking external repos by @GabeVillalobos in [#113360](https://github.com/getsentry/sentry/pull/113360)
- Adds Repository URL to organization_integration_repos endpoint by @GabeVillalobos in [#113358](https://github.com/getsentry/sentry/pull/113358)

#### Nav

- Simplify setting breadcrumbs by @natemoo-re in [#113101](https://github.com/getsentry/sentry/pull/113101)
- Extract header actions, use pageframe slots by @natemoo-re in [#113083](https://github.com/getsentry/sentry/pull/113083)

#### Nightshift

- Expose seer-night-shift flag to UI by @chromy in [#113543](https://github.com/getsentry/sentry/pull/113543)
- Log agent_run_id in night shift logs by @chromy in [#113171](https://github.com/getsentry/sentry/pull/113171)

#### Onboarding

- Persist project details form state in onboarding context by @jaydgoss in [#113128](https://github.com/getsentry/sentry/pull/113128)
- Move less common SCM providers into a More dropdown by @jaydgoss in [#112730](https://github.com/getsentry/sentry/pull/112730)
- Clean up useCallback in firstEventFooter, rm project.org by @scttcper in [#113134](https://github.com/getsentry/sentry/pull/113134)

#### Pipeline

- Remove missed pipeline reference from rspack by @evanpurkhiser in [#113438](https://github.com/getsentry/sentry/pull/113438)
- Remove unused react_pipeline template and render_react_view by @evanpurkhiser in [#113439](https://github.com/getsentry/sentry/pull/113439)
- Remove now unused legacy integrationPipeline views by @evanpurkhiser in [#113328](https://github.com/getsentry/sentry/pull/113328)
- Extract shared test helpers from pipeline integration specs by @evanpurkhiser in [#113224](https://github.com/getsentry/sentry/pull/113224)
- Use getApiUrl for type-safe API URL construction by @evanpurkhiser in [#113226](https://github.com/getsentry/sentry/pull/113226)

#### Preprod

- Revert odiff CLI-mode workaround after v4.3.8 fix by @NicoHinderling in [#113335](https://github.com/getsentry/sentry/pull/113335)
- Move Snapshots tab to standalone settings subpage by @NicoHinderling in [#113175](https://github.com/getsentry/sentry/pull/113175)

#### Seer

- Make chat and copy primary buttons by @JonasBa in [#113719](https://github.com/getsentry/sentry/pull/113719)
- Filter LLM context to widget-builder on builder routes by @Mihir-Mavalankar in [#113623](https://github.com/getsentry/sentry/pull/113623)
- Split structured context routes by feature flag by @Mihir-Mavalankar in [#113485](https://github.com/getsentry/sentry/pull/113485)
- Reapply JWT proxy_headers for Seer callbacks by @gricha in [#113499](https://github.com/getsentry/sentry/pull/113499)
- Remove duplicate useFetchAgentOptions, replaced by useCodingAgentSelectQueryOptions by @ryan953 in [#113498](https://github.com/getsentry/sentry/pull/113498)
- Accept **kwargs on night_shift instrumented tasks by @chromy in [#113284](https://github.com/getsentry/sentry/pull/113284)
- Refactor Seer Autofix Project table to remove internal abstractions by @ryan953 in [#113459](https://github.com/getsentry/sentry/pull/113459)
- Retire the seer-overview feature flag by @ryan953 in [#113249](https://github.com/getsentry/sentry/pull/113249)
- Filter private fields from explorer chat API response by @trevor-e in [#113199](https://github.com/getsentry/sentry/pull/113199)
- Refactor Code Review table to better optimistically update by @ryan953 in [#112979](https://github.com/getsentry/sentry/pull/112979)

#### Selective Testing

- Add selective testing instructions to agents.md files by @rbro112 in [#113334](https://github.com/getsentry/sentry/pull/113334)
- Re-add make test-selective command by @rbro112 in [#113265](https://github.com/getsentry/sentry/pull/113265)

#### Supergroups

- Always use lightweight RCA read path by @cvxluo in [#113583](https://github.com/getsentry/sentry/pull/113583)
- Extract helper for get-by-group-ids Seer call by @cvxluo in [#113492](https://github.com/getsentry/sentry/pull/113492)
- Remove id from drawer breadcrumb by @cvxluo in [#113179](https://github.com/getsentry/sentry/pull/113179)
- Make backfill tuning params configurable via options by @yuvmen in [#113074](https://github.com/getsentry/sentry/pull/113074)

#### Tracemetrics

- Remove refresh ui flag by @nsdeschenes in [#113669](https://github.com/getsentry/sentry/pull/113669)
- Mark test as known flake by @narsaynorath in [#113484](https://github.com/getsentry/sentry/pull/113484)
- Remove legacy metrics UI by @nsdeschenes in [#113278](https://github.com/getsentry/sentry/pull/113278)
- Extract state keeping from state changes in provider by @narsaynorath in [#113211](https://github.com/getsentry/sentry/pull/113211)

#### Tsc

- UsageHistory endpoint to apiOptions by @TkDodo in [#113672](https://github.com/getsentry/sentry/pull/113672)
- Invoices endpoint to apiOptions by @TkDodo in [#113548](https://github.com/getsentry/sentry/pull/113548)
- UsageLogs endpoint to apiOptions by @TkDodo in [#113647](https://github.com/getsentry/sentry/pull/113647)
- Billing-seats endpoint to apiOptions by @TkDodo in [#113685](https://github.com/getsentry/sentry/pull/113685)
- CheckIns endpoint to apiOptions by @TkDodo in [#113273](https://github.com/getsentry/sentry/pull/113273)
- Trace item stats to apiOptions by @TkDodo in [#113299](https://github.com/getsentry/sentry/pull/113299)
- Projects endpoint to apiOptions by @TkDodo in [#113045](https://github.com/getsentry/sentry/pull/113045)
- Ai-conversations endpoint to apiOptions by @TkDodo in [#113287](https://github.com/getsentry/sentry/pull/113287)
- :key and :key/values endpoint to apiOptions by @TkDodo in [#113275](https://github.com/getsentry/sentry/pull/113275)
- Explore saved queries endpoint to apiOptions by @TkDodo in [#113292](https://github.com/getsentry/sentry/pull/113292)
- Group-search-views endpoint to apiOptions by @TkDodo in [#113280](https://github.com/getsentry/sentry/pull/113280)
- Replays endpoint to apiOptions by @TkDodo in [#113158](https://github.com/getsentry/sentry/pull/113158)
- Profile events endpoint to apiOptions by @TkDodo in [#113163](https://github.com/getsentry/sentry/pull/113163)
- Open-period endpoint to apiOptions by @TkDodo in [#113167](https://github.com/getsentry/sentry/pull/113167)
- Dashboards endpoint to apiOptions by @TkDodo in [#113068](https://github.com/getsentry/sentry/pull/113068)
- Keys endpoint to apiOptions by @TkDodo in [#113053](https://github.com/getsentry/sentry/pull/113053)
- Repos endpoint to apiOptions by @TkDodo in [#112926](https://github.com/getsentry/sentry/pull/112926)
- Members endpoint to apiOptions by @TkDodo in [#113023](https://github.com/getsentry/sentry/pull/113023)
- Teams endpoint to apiOptions by @TkDodo in [#113033](https://github.com/getsentry/sentry/pull/113033)
- ProjectTeams endpoint to apiOptions by @TkDodo in [#113063](https://github.com/getsentry/sentry/pull/113063)

#### Ui

- Change bulk delete modal text from 'automations' to 'alerts' by @souredoutlook in [#113631](https://github.com/getsentry/sentry/pull/113631)
- Scope `isDrawerOpen` to `useDrawer` callsite by @natemoo-re in [#113629](https://github.com/getsentry/sentry/pull/113629)
- Add jest/swc transform cache to frontend-optional workflow by @scttcper in [#113086](https://github.com/getsentry/sentry/pull/113086)
- Prefer InfoTip for page title help by @JonasBa in [#113026](https://github.com/getsentry/sentry/pull/113026)

#### Viewer Context

- Remove legacy header fallback by @gricha in [#113592](https://github.com/getsentry/sentry/pull/113592)
- Switch observe helper to sentry_sdk.metrics.count by @gricha in [#113260](https://github.com/getsentry/sentry/pull/113260)

#### Other

- (agents) Remove Gen AI cost warning captureMessage calls by @obostjancic in [#113653](https://github.com/getsentry/sentry/pull/113653)
- (aws-lambda) Remove legacy pipeline views by @evanpurkhiser in [#113075](https://github.com/getsentry/sentry/pull/113075)
- (bitbucket) Remove legacy pipeline views by @evanpurkhiser in [#113327](https://github.com/getsentry/sentry/pull/113327)
- (chartcuterie) Restrict browser imports in chartcuterie files by @DominikB2014 in [#113187](https://github.com/getsentry/sentry/pull/113187)
- (claude-code) Remove legacy pipeline views by @evanpurkhiser in [#113329](https://github.com/getsentry/sentry/pull/113329)
- (cursor) Remove legacy pipeline views by @evanpurkhiser in [#113330](https://github.com/getsentry/sentry/pull/113330)
- (deps) Bump taskbroker-client from >=0.1.8 to >=0.1.9,<1 by @untitaker in [#113603](https://github.com/getsentry/sentry/pull/113603)
- (discord) Remove legacy pipeline views by @evanpurkhiser in [#113323](https://github.com/getsentry/sentry/pull/113323)
- (discover) Remove dead saved query delete code by @priscilawebdev in [#113156](https://github.com/getsentry/sentry/pull/113156)
- (drawer) Add `shouldLockScroll` option by @natemoo-re in [#113245](https://github.com/getsentry/sentry/pull/113245)
- (eslint) Directly extend from tseslint preset configs by @JoshuaKGoldberg in [#113189](https://github.com/getsentry/sentry/pull/113189)
- (fetch_commits) Unify commit fetch interfaces by @armenzg in [#113281](https://github.com/getsentry/sentry/pull/113281)
- (github) Remove legacy pipeline views by @evanpurkhiser in [#113338](https://github.com/getsentry/sentry/pull/113338)
- (gitlab) Remove legacy pipeline views by @evanpurkhiser in [#113322](https://github.com/getsentry/sentry/pull/113322)
- (incidents) Add serializer parity test for incident activity by @kcons in [#113010](https://github.com/getsentry/sentry/pull/113010)
- (insights) Remove starfish-view feature flag by @gggritso in [#113435](https://github.com/getsentry/sentry/pull/113435)
- (issue-details) Use shared Sticky for event nav by @priscilawebdev in [#113514](https://github.com/getsentry/sentry/pull/113514)
- (logs) Use primary button variant for Save As action by @JonasBa in [#113380](https://github.com/getsentry/sentry/pull/113380)
- (metrics) Update Android and Java onboarding to require SDK 8.34.0 by @markushi in [#113150](https://github.com/getsentry/sentry/pull/113150)
- (opsgenie) Remove legacy pipeline views by @evanpurkhiser in [#113324](https://github.com/getsentry/sentry/pull/113324)
- (page-frame) Compact editable titles in topbar for dashboards and monitors by @JonasBa in [#113574](https://github.com/getsentry/sentry/pull/113574)
- (pageFrame) Move texts into subTitle of SettingsPageHeader by @TkDodo in [#113521](https://github.com/getsentry/sentry/pull/113521)
- (pagerduty) Remove legacy pipeline views by @evanpurkhiser in [#113325](https://github.com/getsentry/sentry/pull/113325)
- (pagination) Reduce unnecessary overquerying in CombinedQuerysetPaginator by @kcons in [#113200](https://github.com/getsentry/sentry/pull/113200)
- (perforce) Add gdx as integration owner by @Dav1dde in [#113689](https://github.com/getsentry/sentry/pull/113689)
- (profiling) Remove differential flamegraph page flag by @mjq in [#113014](https://github.com/getsentry/sentry/pull/113014)
- (project-detail) Use relative period params for previous period queries by @gggritso in [#113100](https://github.com/getsentry/sentry/pull/113100)
- (projects) Use collapse=organization on project details fetches by @scttcper in [#113186](https://github.com/getsentry/sentry/pull/113186)
- (replays) Use generic /events/ endpoint in useReplayData by @mjq in [#113346](https://github.com/getsentry/sentry/pull/113346)
- (repositories) Default `is_rate_limited_error` to False by @wedamija in [#113366](https://github.com/getsentry/sentry/pull/113366)
- (scm) Implement sentry-scm dependency by @cmanallen in [#112969](https://github.com/getsentry/sentry/pull/112969)
- (sdk) Allow to disable threading integration by @gi0baro in [#113154](https://github.com/getsentry/sentry/pull/113154)
- (seer-slack) Move organization resolution to control by @leeandher in [#113107](https://github.com/getsentry/sentry/pull/113107)
- (slack) Remove legacy pipeline views by @evanpurkhiser in [#113321](https://github.com/getsentry/sentry/pull/113321)
- (snapshots) Bump sentry-cli to 3.4.0 by @lcian in [#113409](https://github.com/getsentry/sentry/pull/113409)
- (stories) Automatic categories via index by @natemoo-re in [#113506](https://github.com/getsentry/sentry/pull/113506)
- (theme) Migrate shadows by @natemoo-re in [#112997](https://github.com/getsentry/sentry/pull/112997)
- (trace) Remove new trace summary tab by @nsdeschenes in [#113663](https://github.com/getsentry/sentry/pull/113663)
- Upgrade sentry-scm to 0.5.0 for GitLab token refresh fix by @billyvg in [#113658](https://github.com/getsentry/sentry/pull/113658)
- Fix 'occured' -> 'occurred' typos across sentry_apps, UI, and loader templates by @SAY-5 in [#113145](https://github.com/getsentry/sentry/pull/113145)
- Bump protos to 0.8.13 by @noahsmartin in [#113476](https://github.com/getsentry/sentry/pull/113476)
- Bump devservices to 1.3.1 by @joshuarli in [#113393](https://github.com/getsentry/sentry/pull/113393)
- Bump new development version by @sentry-release-bot[bot] in [3136d52d](https://github.com/getsentry/sentry/commit/3136d52d5cceb6c6a577dc3c08ba354cd6f69e31)

### Other

- ref(seer) remove seer border by @JonasBa in [#113710](https://github.com/getsentry/sentry/pull/113710)
- devenv: optional gcloud by @joshuarli in [#113709](https://github.com/getsentry/sentry/pull/113709)
- feature(seer agent): change styling of input bar and message bubbles by @sehr-m in [#113630](https://github.com/getsentry/sentry/pull/113630)
- feature(seer agent): icon changes by @sehr-m in [#113632](https://github.com/getsentry/sentry/pull/113632)
- styles(scraps): Subtract top from SlideOverPanel height by @Zylphrex in [#113610](https://github.com/getsentry/sentry/pull/113610)
- styles(autofix): Format autofix message content as markdown by @Zylphrex in [#113433](https://github.com/getsentry/sentry/pull/113433)
- ref(cmdk) improve nesting structure by @JonasBa in [#113152](https://github.com/getsentry/sentry/pull/113152)
- enh(code-mappings): Improve bulk code mappings validation error message for wrong mappings format by @romtsn in [#113296](https://github.com/getsentry/sentry/pull/113296)
- types: Move sentry.search.events.filter from mypy ignore to stronglist by @kcons in [#113191](https://github.com/getsentry/sentry/pull/113191)
- Add logger warnings for display name filter action by @geoffg-sentry in [#113168](https://github.com/getsentry/sentry/pull/113168)
- Display name validation and filtering for apps and orgs by @geoffg-sentry in [#113106](https://github.com/getsentry/sentry/pull/113106)
- Fix/monitors UI copy by @souredoutlook in [#113050](https://github.com/getsentry/sentry/pull/113050)
- Add project auth checks in external issue creation and deletion by @geoffg-sentry in [#112709](https://github.com/getsentry/sentry/pull/112709)
- Restrict allowed values in sentry.conf.py for feature-flags by @geoffg-sentry in [#112980](https://github.com/getsentry/sentry/pull/112980)

26.4.0
------

### New Features ✨

#### Aci

- Implement created_by search filter in Alerts by @malwilley in [#112950](https://github.com/getsentry/sentry/pull/112950)
- Add created_by search filter to workflow index endpoint by @malwilley in [#112873](https://github.com/getsentry/sentry/pull/112873)
- Modify test action endpoint to accept a project slug by @malwilley in [#112859](https://github.com/getsentry/sentry/pull/112859)
- Add onboarding banner by @malwilley in [#112737](https://github.com/getsentry/sentry/pull/112737)
- Register workflow engine onboarding banner prompt by @malwilley in [#112615](https://github.com/getsentry/sentry/pull/112615)
- Add ability to create envs inline by @saponifi3d in [#112558](https://github.com/getsentry/sentry/pull/112558)
- Add ability to create new environments in the API by @saponifi3d in [#112537](https://github.com/getsentry/sentry/pull/112537)
- Update connected alerts empty state by @malwilley in [#112397](https://github.com/getsentry/sentry/pull/112397)
- Add 'moved' badge to old alerts nav item by @malwilley in [#112392](https://github.com/getsentry/sentry/pull/112392)
- Add markdown icon to monitor description input by @malwilley in [#112295](https://github.com/getsentry/sentry/pull/112295)
- Update all monitor forms use more consistent wording and a combined assign/describe section by @malwilley in [#112205](https://github.com/getsentry/sentry/pull/112205)
- Add issue preview to uptime monitor form by @malwilley in [#112224](https://github.com/getsentry/sentry/pull/112224)
- Add issue preview to cron monitor form by @malwilley in [#112237](https://github.com/getsentry/sentry/pull/112237)
- Update new alert UI copy to make it a bit easier to unders… by @malwilley in [#112051](https://github.com/getsentry/sentry/pull/112051)
- Add numbers to monitor and alert form sections by @malwilley in [#111898](https://github.com/getsentry/sentry/pull/111898)
- Add types for DetectorInput and DataSourceInput by @saponifi3d in [#112050](https://github.com/getsentry/sentry/pull/112050)
- Add/update workflows to a detector in DetectorValidator by @ceorourke in [#111925](https://github.com/getsentry/sentry/pull/111925)
- Move monitor project/environment fields from the header to the form body by @malwilley in [#111762](https://github.com/getsentry/sentry/pull/111762)
- Release rule stats and group history wfe endpoints by @ceorourke in [#111737](https://github.com/getsentry/sentry/pull/111737)
- Add feature flag for combined rules endpoint by @ceorourke in [#111677](https://github.com/getsentry/sentry/pull/111677)
- Align metric chart data points with open period markers by @malwilley in [#111595](https://github.com/getsentry/sentry/pull/111595)
- Schedule sentry.workflow_engine.tasks.cleanup.prune_old_fire_history every 2min by @kcons in [#111550](https://github.com/getsentry/sentry/pull/111550)
- Add issue preview to the metric monitor form by @malwilley in [#111420](https://github.com/getsentry/sentry/pull/111420)
- Make rule stats and group history endpoints backwards compatible by @ceorourke in [#111159](https://github.com/getsentry/sentry/pull/111159)
- Add owner to workflow serializer response by @ceorourke in [#110817](https://github.com/getsentry/sentry/pull/110817)

#### Admin

- Add gsAdmin action to adjust dashboard parallel query limit by @DominikB2014 in [#111889](https://github.com/getsentry/sentry/pull/111889)
- Replace startup program notes field with program dropdown by @rahulchhabria in [#111701](https://github.com/getsentry/sentry/pull/111701)
- Add "Add to Startup Program" customer action by @rahulchhabria in [#111266](https://github.com/getsentry/sentry/pull/111266)

#### Agents

- Improve AI span presentation with tool input preview and response model by @obostjancic in [#112579](https://github.com/getsentry/sentry/pull/112579)
- Use CurrencyCell in Agent Monitoring dashboards and handle negative costs by @obostjancic in [#111986](https://github.com/getsentry/sentry/pull/111986)
- Fall back to gen_ai.function_id for agent name resolution by @obostjancic in [#111608](https://github.com/getsentry/sentry/pull/111608)
- Add agent monitoring onboarding for Deno by @priscilawebdev in [#111282](https://github.com/getsentry/sentry/pull/111282)
- Add agent monitoring onboarding for Bun by @priscilawebdev in [#111281](https://github.com/getsentry/sentry/pull/111281)

#### Ai Insights

- Add param change analytics event by @obostjancic in [#111392](https://github.com/getsentry/sentry/pull/111392)
- Update dashboard widgets by @obostjancic in [#111069](https://github.com/getsentry/sentry/pull/111069)
- Ai content renderer by @obostjancic in [#110847](https://github.com/getsentry/sentry/pull/110847)

#### Ai Issues

- Add new AI detected issue types to frontend by @roggenkemper in [#112971](https://github.com/getsentry/sentry/pull/112971)
- Maps issue titles to new groups by @roggenkemper in [#112972](https://github.com/getsentry/sentry/pull/112972)

#### Alerts

- Add per-method workflow engine flags for project alert rule endpoints by @kcons in [#112827](https://github.com/getsentry/sentry/pull/112827)
- Set up prune_old_open_period_activity by @kcons in [#112243](https://github.com/getsentry/sentry/pull/112243)
- Report in Sentry and headers whether legacy models were used by @kcons in [#110954](https://github.com/getsentry/sentry/pull/110954)
- Add pure Detector/Workflow version of OrganizationCombinedRuleIndexEndpoint by @kcons in [#110700](https://github.com/getsentry/sentry/pull/110700)

#### Api

- Make InvalidParams a ParseError by @kcons in [#112542](https://github.com/getsentry/sentry/pull/112542)
- Track camelCase vs snake_case parameter key usage in CamelSnakeSerializer by @michelletran-sentry in [#111120](https://github.com/getsentry/sentry/pull/111120)

#### Assisted Query

- Add AI search bar to metrics tab by @isaacwang-sentry in [#111797](https://github.com/getsentry/sentry/pull/111797)
- Add metrics search feature flag and forward options by @isaacwang-sentry in [#112240](https://github.com/getsentry/sentry/pull/112240)
- Add tracemetrics built-in fields to \_get_built_in_fields by @isaacwang-sentry in [#111587](https://github.com/getsentry/sentry/pull/111587)

#### Attachments

- Backfill EventAttachment.date_expires by @jan-auer in [#111980](https://github.com/getsentry/sentry/pull/111980)
- Write date_expires when saving attachments by @jan-auer in [#111983](https://github.com/getsentry/sentry/pull/111983)
- Add a `date_expires` column by @jan-auer in [#111881](https://github.com/getsentry/sentry/pull/111881)

#### Autofix

- Pass reasoning_effort=medium for explorer autofix RCA by @JoshFerge in [#112928](https://github.com/getsentry/sentry/pull/112928)
- Change default intelligence level from low to medium by @JoshFerge in [#112920](https://github.com/getsentry/sentry/pull/112920)
- Add Seer project preference getters to Seer RPC by @srest2021 in [#112624](https://github.com/getsentry/sentry/pull/112624)
- Thread insert_index through explorer API for step retry by @isaacwang-sentry in [#112287](https://github.com/getsentry/sentry/pull/112287)
- Add copy PR URL button and open icon to pull request card by @chromy in [#112358](https://github.com/getsentry/sentry/pull/112358)
- Add analytics events for autofix phase start and completion by @chromy in [#112098](https://github.com/getsentry/sentry/pull/112098)
- Add copy PR URL button to v3 pull request card by @chromy in [#112356](https://github.com/getsentry/sentry/pull/112356)
- Add root cause as valid stopping point under feature flag by @srest2021 in [#112055](https://github.com/getsentry/sentry/pull/112055)
- Add seerDrawer to location by @Zylphrex in [#112048](https://github.com/getsentry/sentry/pull/112048)
- Replace ghost with loading text by @Zylphrex in [#112014](https://github.com/getsentry/sentry/pull/112014)
- Remove empty file patches from autofix by @Zylphrex in [#111961](https://github.com/getsentry/sentry/pull/111961)
- Use autofix endpoint for PR creation by @Zylphrex in [#111888](https://github.com/getsentry/sentry/pull/111888)
- Pass PR description suffix for explorer autofix by @Zylphrex in [#111814](https://github.com/getsentry/sentry/pull/111814)
- Support optional repo name when creating PRs by @Zylphrex in [#111804](https://github.com/getsentry/sentry/pull/111804)
- Update seer explorer autofix last triggered on completion by @Zylphrex in [#111663](https://github.com/getsentry/sentry/pull/111663)
- Autotrigger root cause if legacy autofix ran by @Zylphrex in [#111718](https://github.com/getsentry/sentry/pull/111718)
- Handle PR creation in group ai autofix endpoint by @Zylphrex in [#111565](https://github.com/getsentry/sentry/pull/111565)
- Track below_occurrence_threshold as a filtered skip reason by @trevor-e in [#111669](https://github.com/getsentry/sentry/pull/111669)
- Remove agent handoff from solution step by @Zylphrex in [#111653](https://github.com/getsentry/sentry/pull/111653)
- Break down not_eligible skip reasons for seer automation by @trevor-e in [#111638](https://github.com/getsentry/sentry/pull/111638)
- Use new seer explorer autofix last triggered column by @Zylphrex in [#111484](https://github.com/getsentry/sentry/pull/111484)
- Add metrics and logging for filtered-out seer automation issues by @trevor-e in [#111486](https://github.com/getsentry/sentry/pull/111486)
- Add explorer autofix fields by @Zylphrex in [#111367](https://github.com/getsentry/sentry/pull/111367)
- Render full coding agent result text as markdown in card by @sehr-m in [#111365](https://github.com/getsentry/sentry/pull/111365)
- Support agent handoff after root cause by @Zylphrex in [#111164](https://github.com/getsentry/sentry/pull/111164)
- Better loading and error states for autofix in sidebar by @Zylphrex in [#111144](https://github.com/getsentry/sentry/pull/111144)
- Support autofix configurations in redesigns by @Zylphrex in [#111081](https://github.com/getsentry/sentry/pull/111081)
- Support coding agents in redesigns by @Zylphrex in [#110900](https://github.com/getsentry/sentry/pull/110900)
- Handle when autofix generates no artfacts by @Zylphrex in [#110797](https://github.com/getsentry/sentry/pull/110797)

#### Aws Lambda

- Add frontend pipeline steps for AWS Lambda integration setup by @evanpurkhiser in [#112736](https://github.com/getsentry/sentry/pull/112736)
- Add API-driven pipeline backend by @evanpurkhiser in [#112626](https://github.com/getsentry/sentry/pull/112626)

#### Billing

- Add checkout tooltip for metrics by @brendanhsentry in [#112951](https://github.com/getsentry/sentry/pull/112951)
- Display a customer's managed status in \_admin by @swartzrock in [#112757](https://github.com/getsentry/sentry/pull/112757)
- Add notification setting for trace metric bytes by @brendanhsentry in [#112282](https://github.com/getsentry/sentry/pull/112282)
- Gate trace metric bytes notification behind feature flag by @brendanhsentry in [#112285](https://github.com/getsentry/sentry/pull/112285)
- Select single project usage CSV by @brendanhsentry in [#112044](https://github.com/getsentry/sentry/pull/112044)
- Implement ClickHouse backend for UsageService by @dashed in [#111799](https://github.com/getsentry/sentry/pull/111799)

#### Bitbucket

- Add API-driven pipeline backend for Bitbucket integration setup by @evanpurkhiser in [#112396](https://github.com/getsentry/sentry/pull/112396)
- Add frontend pipeline step for Bitbucket integration setup by @evanpurkhiser in [#112418](https://github.com/getsentry/sentry/pull/112418)

#### Cells

- Compare locality not cell name in fork locality restriction by @lynnagara in [#112883](https://github.com/getsentry/sentry/pull/112883)
- Add GET path for /organization list on control silo by @lynnagara in [#112622](https://github.com/getsentry/sentry/pull/112622)
- Remove legacy non-org-scoped accept invite API route by @lynnagara in [#112767](https://github.com/getsentry/sentry/pull/112767)
- Remove the legacy org invite route by @lynnagara in [#112634](https://github.com/getsentry/sentry/pull/112634)
- Create the projectkey endpoint for synapse by @lynnagara in [#112047](https://github.com/getsentry/sentry/pull/112047)
- Support multi-cell jira integration by @lynnagara in [#111696](https://github.com/getsentry/sentry/pull/111696)
- Migrate clear_region_cache  to clear_cell_cache by @lynnagara in [#111681](https://github.com/getsentry/sentry/pull/111681)
- Wire projectkeymapping to the control silo by @lynnagara in [#110231](https://github.com/getsentry/sentry/pull/110231)
- Cell architecture and migration skill by @lynnagara in [#111563](https://github.com/getsentry/sentry/pull/111563)
- Locality configuration should specify cell for new orgs by @lynnagara in [#111241](https://github.com/getsentry/sentry/pull/111241)

#### Chartcuterie

- Support multiple display types in Explore chart rendering by @DominikB2014 in [#112610](https://github.com/getsentry/sentry/pull/112610)
- Add explore line chart render descriptor by @DominikB2014 in [#112584](https://github.com/getsentry/sentry/pull/112584)

#### Ci

- Backend selective via unified coverage db by @joshuarli in [#110792](https://github.com/getsentry/sentry/pull/110792)
- Xdist backend test workflow by @mchen-sentry in [#110776](https://github.com/getsentry/sentry/pull/110776)

#### Cmd K

- Add 'superuser' keyword to admin actions by @JonasBa in [#112298](https://github.com/getsentry/sentry/pull/112298)
- Add comprehensive analytics for the new command palette by @jshchnz in [#111684](https://github.com/getsentry/sentry/pull/111684)
- Add Amplitude analytics instrumentation to command palette by @JonasBa in [#111553](https://github.com/getsentry/sentry/pull/111553)

#### Cmdk

- Add default limit=4 for async resource actions by @JonasBa in [#112649](https://github.com/getsentry/sentry/pull/112649)
- Add admin actions group for staff users by @JonasBa in [#112244](https://github.com/getsentry/sentry/pull/112244)
- Add Project Settings group to command palette by @JonasBa in [#111659](https://github.com/getsentry/sentry/pull/111659)

#### Code Mappings

- Handle Java monorepo source roots in auto-derivation task by @romtsn in [#112655](https://github.com/getsentry/sentry/pull/112655)
- Allow multiple source roots per stack root by @romtsn in [#111704](https://github.com/getsentry/sentry/pull/111704)

#### Codecov

- Remove Codecov webhooks and TA feature flag by @calvin-codecov in [#109844](https://github.com/getsentry/sentry/pull/109844)
- Remove Test Analytics UI and Prevent tokens by @calvin-codecov in [#109291](https://github.com/getsentry/sentry/pull/109291)

#### Codeowners

- Optimize DB query construction for building CODEOWNERS associations by @shashjar in [#111693](https://github.com/getsentry/sentry/pull/111693)
- Add data-browsing and streaming owners for spans scripts by @lvthanh03 in [#111735](https://github.com/getsentry/sentry/pull/111735)
- Allow a dirty baseline file as long as code has CODEOWNERS coverage by @mikejihbe in [#111491](https://github.com/getsentry/sentry/pull/111491)
- Add codeowners enforcement by @mikejihbe in [#110578](https://github.com/getsentry/sentry/pull/110578)

#### Coding Integrations

- Add github copilot as an integration (frontend) by @sehr-m in [#111851](https://github.com/getsentry/sentry/pull/111851)
- Github copilot integration backend by @sehr-m in [#111850](https://github.com/getsentry/sentry/pull/111850)

#### Context Engine

- Only search orgs with SCM integration for index by @Mihir-Mavalankar in [#111537](https://github.com/getsentry/sentry/pull/111537)
- Index scheduling job changes by @Mihir-Mavalankar in [#111035](https://github.com/getsentry/sentry/pull/111035)

#### Conversations

- Show [Filtered] in conversation list for scrubbed data by @obostjancic in [#112786](https://github.com/getsentry/sentry/pull/112786)
- Add conversation detail page with new design by @obostjancic in [#112571](https://github.com/getsentry/sentry/pull/112571)

#### Dashboards

- Add DashboardRevision model and migration by @skaasten in [#112929](https://github.com/getsentry/sentry/pull/112929)
- Add organizations:dashboards-revisions feature flag by @skaasten in [#112923](https://github.com/getsentry/sentry/pull/112923)
- Add insights-to-dashboards-ui-rollout feature flag by @gggritso in [#112916](https://github.com/getsentry/sentry/pull/112916)
- Add performance_score and opportunity_score to Explore by @DominikB2014 in [#112146](https://github.com/getsentry/sentry/pull/112146)
- Add thresholds support to generated dashboard widgets by @edwardgou-sentry in [#112682](https://github.com/getsentry/sentry/pull/112682)
- Track metrics for Seer dashboard create and edit flows by @edwardgou-sentry in [#112595](https://github.com/getsentry/sentry/pull/112595)
- Add beta badge to dashboard chat panel and minor style changes by @edwardgou-sentry in [#112539](https://github.com/getsentry/sentry/pull/112539)
- Support dashboard editing via Seer chat session by @edwardgou-sentry in [#112489](https://github.com/getsentry/sentry/pull/112489)
- Add ESC key to dismiss widget builder slideout by @NicoHinderling in [#112186](https://github.com/getsentry/sentry/pull/112186)
- Allow dashboard generation to filter for project and env by @edwardgou-sentry in [#112150](https://github.com/getsentry/sentry/pull/112150)
- Add text widget support to generated dashboards by @edwardgou-sentry in [#112132](https://github.com/getsentry/sentry/pull/112132)
- Use new loader visual in dashboard generation loading page by @edwardgou-sentry in [#112365](https://github.com/getsentry/sentry/pull/112365)
- Add flag to manage editing existing dashboards with ai by @edwardgou-sentry in [#112394](https://github.com/getsentry/sentry/pull/112394)
- Apply widget defaults to generated widgets by @edwardgou-sentry in [#112036](https://github.com/getsentry/sentry/pull/112036)
- Update /dashboard/generate endpoint to accept edit prompts by @edwardgou-sentry in [#111957](https://github.com/getsentry/sentry/pull/111957)
- Track seer session errors on generating dashboards by @edwardgou-sentry in [#111827](https://github.com/getsentry/sentry/pull/111827)
- Adds `dashboards-ai-generate` flag to Seer Explorer access list by @edwardgou-sentry in [#111667](https://github.com/getsentry/sentry/pull/111667)
- Add tableWidths to backend overview transactions table by @DominikB2014 in [#111790](https://github.com/getsentry/sentry/pull/111790)
- Add async queue parallel limit org option by @DominikB2014 in [#111615](https://github.com/getsentry/sentry/pull/111615)
- Blocks http_error_count function from dashboard generation by @edwardgou-sentry in [#111637](https://github.com/getsentry/sentry/pull/111637)
- Generated dashboards artifact schema improvements by @edwardgou-sentry in [#111533](https://github.com/getsentry/sentry/pull/111533)
- Adds more description context to artifact schema by @edwardgou-sentry in [#111417](https://github.com/getsentry/sentry/pull/111417)
- Redesign dashboard generation initial prompt step by @edwardgou-sentry in [#111377](https://github.com/getsentry/sentry/pull/111377)
- Disable lazy loading generated dashboards by @edwardgou-sentry in [#111402](https://github.com/getsentry/sentry/pull/111402)
- Use theme tokens for dashboard widget previews by @obostjancic in [#110963](https://github.com/getsentry/sentry/pull/110963)
- Updates initial loading page design for Dashboard generation by @edwardgou-sentry in [#111327](https://github.com/getsentry/sentry/pull/111327)
- Add category params to SeerExplorerClient in dashboard generate by @JoshFerge in [#111301](https://github.com/getsentry/sentry/pull/111301)
- Improvements to Dashboard generation tracking by @edwardgou-sentry in [#111199](https://github.com/getsentry/sentry/pull/111199)
- Moves dashboard generation metric to after polling reaches settled state + small fixes by @edwardgou-sentry in [#111138](https://github.com/getsentry/sentry/pull/111138)
- Add tooltips explaining dashboard linking by @DominikB2014 in [#111139](https://github.com/getsentry/sentry/pull/111139)
- Support linked dashboards in timeseries widgets by @DominikB2014 in [#111078](https://github.com/getsentry/sentry/pull/111078)
- Text widget add to dashboard flow by @nikkikapadia in [#111019](https://github.com/getsentry/sentry/pull/111019)
- Linkify replay.id and profile.id columns in table widgets by @gggritso in [#111029](https://github.com/getsentry/sentry/pull/111029)
- Adds serializer check to dashboards generation on completion hook by @edwardgou-sentry in [#111059](https://github.com/getsentry/sentry/pull/111059)
- Updates dashboard chat to continue polling after completion in case of validation errors resuming seer run by @edwardgou-sentry in [#111027](https://github.com/getsentry/sentry/pull/111027)
- Text widget in widget builder + edit flows by @nikkikapadia in [#110800](https://github.com/getsentry/sentry/pull/110800)
- Adds interval to dashboard artifact schema by @edwardgou-sentry in [#110999](https://github.com/getsentry/sentry/pull/110999)
- Add legendType configuration to widget builder by @DominikB2014 in [#110906](https://github.com/getsentry/sentry/pull/110906)
- Track dashboard generation validation success and fail metrics by @edwardgou-sentry in [#110958](https://github.com/getsentry/sentry/pull/110958)
- Dashboards generation chat panel improvements by @edwardgou-sentry in [#110960](https://github.com/getsentry/sentry/pull/110960)
- Adds validation completion hook to generate dashboards endpoint by @edwardgou-sentry in [#110903](https://github.com/getsentry/sentry/pull/110903)
- Tighten generated dashboard artifact model and improvements by @edwardgou-sentry in [#110881](https://github.com/getsentry/sentry/pull/110881)

#### Data Export

- Add exponential back off in case of rate limit errors from snuba by @manessaraj in [#112813](https://github.com/getsentry/sentry/pull/112813)
- Add synchronous in-browser download for small log exports by @manessaraj in [#112688](https://github.com/getsentry/sentry/pull/112688)
- Add logging for data-export-failure by @JoshuaKGoldberg in [#112169](https://github.com/getsentry/sentry/pull/112169)

#### Errors

- Main body content sections by @nikkikapadia in [#112139](https://github.com/getsentry/sentry/pull/112139)
- Add page filters and search bar UI by @nikkikapadia in [#112003](https://github.com/getsentry/sentry/pull/112003)
- Add sidebar item and routes for new Errors ui by @nikkikapadia in [#111786](https://github.com/getsentry/sentry/pull/111786)

#### Eslint

- No-unnecessary-use-callback by @TkDodo in [#112689](https://github.com/getsentry/sentry/pull/112689)
- Add no-flag-comments rule to disallow section separator comments by @evanpurkhiser in [#112836](https://github.com/getsentry/sentry/pull/112836)
- Enable @typescript-eslint/no-unnecessary-type-parameters by @JoshuaKGoldberg in [#112404](https://github.com/getsentry/sentry/pull/112404)
- Expand no-default-exports rule to all static default exports by @JoshuaKGoldberg in [#111070](https://github.com/getsentry/sentry/pull/111070)
- Expand no-default-exports rule to files with other named exports by @JoshuaKGoldberg in [#110860](https://github.com/getsentry/sentry/pull/110860)

#### Experiments

- Add useExperiment hook for flagpole experiments by @evanpurkhiser in [#112001](https://github.com/getsentry/sentry/pull/112001)
- Populate org serializer experiments dict from flagpole by @wedamija in [#110814](https://github.com/getsentry/sentry/pull/110814)

#### Explore

- Add 1 day interval option for durations >= 14 days by @gggritso in [#112919](https://github.com/getsentry/sentry/pull/112919)
- Enlarge chart size for explore Slack unfurls by @DominikB2014 in [#112697](https://github.com/getsentry/sentry/pull/112697)
- Add issue post processor on occurrences dataset by @manessaraj in [#111724](https://github.com/getsentry/sentry/pull/111724)
- Validate trace item search keys asynchronously by @nsdeschenes in [#111189](https://github.com/getsentry/sentry/pull/111189)
- EAP occurrences: resolve issue in query string via group_id by @manessaraj in [#111101](https://github.com/getsentry/sentry/pull/111101)
- Prioritize known fields in group by dropdown by @nsdeschenes in [#109957](https://github.com/getsentry/sentry/pull/109957)
- Allow skipping attribute type by @wmak in [#110916](https://github.com/getsentry/sentry/pull/110916)
- Add drag-and-drop reordering to Visualize toolbar by @JoshuaKGoldberg in [#110842](https://github.com/getsentry/sentry/pull/110842)

#### Flagpole

- Register onboarding-scm-experiment feature flag by @jaydgoss in [#112157](https://github.com/getsentry/sentry/pull/112157)
- Add experiment_mode field to Feature dataclass by @wedamija in [#110806](https://github.com/getsentry/sentry/pull/110806)

#### Github

- Handle installation_repositories webhook by @wedamija in [#112227](https://github.com/getsentry/sentry/pull/112227)
- Add missing test for githubIntegrationPipeline + cleanup by @evanpurkhiser in [#112116](https://github.com/getsentry/sentry/pull/112116)
- Add frontend implementation for GitHub integration pipeline by @evanpurkhiser in [#111996](https://github.com/getsentry/sentry/pull/111996)
- Add API-driven GitHub integration setup by @evanpurkhiser in [#111728](https://github.com/getsentry/sentry/pull/111728)

#### Gitlab

- Add frontend implementation for GitLab integration pipeline by @evanpurkhiser in [#112153](https://github.com/getsentry/sentry/pull/112153)
- Add API pipleine flag by @evanpurkhiser in [#112367](https://github.com/getsentry/sentry/pull/112367)
- Add API-driven GitLab integration setup by @evanpurkhiser in [#111999](https://github.com/getsentry/sentry/pull/111999)
- Add task to upgrade project webhooks by @iamrajjoshi in [#111388](https://github.com/getsentry/sentry/pull/111388)
- Add `get_access_token()` to GitLab integration by @billyvg in [#111001](https://github.com/getsentry/sentry/pull/111001)

#### Grouping

- Add replacement callback option to parameterizer by @lobsterkatie in [#111352](https://github.com/getsentry/sentry/pull/111352)
- Add `raw_message` fingerprint variable by @lobsterkatie in [#111172](https://github.com/getsentry/sentry/pull/111172)

#### Hybridcloud

- Propagate ViewerContext through cross-silo RPC by @gricha in [#112248](https://github.com/getsentry/sentry/pull/112248)
- Async apigateway by @gi0baro in [#111307](https://github.com/getsentry/sentry/pull/111307)

#### Insights

- Remove Projects from Insights navigation by @gggritso in [#112535](https://github.com/getsentry/sentry/pull/112535)
- Navigate to prebuilt dashboards from trace view and span summary by @DominikB2014 in [#110739](https://github.com/getsentry/sentry/pull/110739)
- Add banner to Mobile Overview page linking to Mobile Vitals Dashboard by @DominikB2014 in [#110880](https://github.com/getsentry/sentry/pull/110880)

#### Integrations

- Log integration_id and endpoint in integrations.http_response by @armenzg in [#112961](https://github.com/getsentry/sentry/pull/112961)
- Increase compare-commits cache by @armenzg in [#112922](https://github.com/getsentry/sentry/pull/112922)
- Add metrics to pipeline advancer and pipeline API endpoints by @evanpurkhiser in [#112935](https://github.com/getsentry/sentry/pull/112935)
- Pass initialData through to initialize by @evanpurkhiser in [#112851](https://github.com/getsentry/sentry/pull/112851)
- Support initial data binding during pipeline initialization by @evanpurkhiser in [#112849](https://github.com/getsentry/sentry/pull/112849)
- Send SLO lifecycle metrics to Sentry via SDK by @trevor-e in [#112839](https://github.com/getsentry/sentry/pull/112839)
- Log as warning when failed http.response by @armenzg in [#112665](https://github.com/getsentry/sentry/pull/112665)
- Propagate ViewerContext in MS Teams webhook by @gricha in [#112414](https://github.com/getsentry/sentry/pull/112414)
- Propagate ViewerContext in VSTS webhook by @gricha in [#112413](https://github.com/getsentry/sentry/pull/112413)
- Propagate ViewerContext in Jira Server webhook by @gricha in [#112411](https://github.com/getsentry/sentry/pull/112411)
- Propagate ViewerContext in Jira Cloud webhook by @gricha in [#112412](https://github.com/getsentry/sentry/pull/112412)
- Genericise repository syncing task by @wedamija in [#112519](https://github.com/getsentry/sentry/pull/112519)
- Return `externalId` from OrganizationIntegrationReposEndpoint by @wedamija in [#112529](https://github.com/getsentry/sentry/pull/112529)
- Add bitbucket, gitlab, slack to api mode features by @evanpurkhiser in [#112501](https://github.com/getsentry/sentry/pull/112501)
- Add flags for slack + bitbucket API pipelines by @evanpurkhiser in [#112497](https://github.com/getsentry/sentry/pull/112497)
- Add API driven pipeline for Slack by @evanpurkhiser in [#112315](https://github.com/getsentry/sentry/pull/112315)
- Set ViewerContext on webhook handlers by @gricha in [#112284](https://github.com/getsentry/sentry/pull/112284)
- Add API pipeline flag for github by @evanpurkhiser in [#112280](https://github.com/getsentry/sentry/pull/112280)
- Add on-demand source context fetching from SCM integrations by @mujacica in [#110324](https://github.com/getsentry/sentry/pull/110324)
- Add API mode support to IntegrationPipeline by @evanpurkhiser in [#111454](https://github.com/getsentry/sentry/pull/111454)
- Add lightweight RPC method to fetch org IDs by providers by @Mihir-Mavalankar in [#111528](https://github.com/getsentry/sentry/pull/111528)

#### Intercom

- Separate chat per org by @sentaur-athena in [#112551](https://github.com/getsentry/sentry/pull/112551)
- Closing intercom session on org change by @sentaur-athena in [#112549](https://github.com/getsentry/sentry/pull/112549)

#### Issue Details

- Add android native tombstones onboarding banner by @romtsn in [#112478](https://github.com/getsentry/sentry/pull/112478)
- Add analytics for similar and merged issues drawers by @cvxluo in [#112618](https://github.com/getsentry/sentry/pull/112618)
- Show supergroup in issue details sidebar by @scttcper in [#112543](https://github.com/getsentry/sentry/pull/112543)

#### Issues

- Use new stack trace in stack trace preview by @scttcper in [#111592](https://github.com/getsentry/sentry/pull/111592)
- Deduplicate replay-count API requests in issue stream by @scttcper in [#112323](https://github.com/getsentry/sentry/pull/112323)
- Refactor SuspectCommits layout, clean up types by @scttcper in [#111818](https://github.com/getsentry/sentry/pull/111818)
- Prefetch supergroup data and add stats columns to rows by @scttcper in [#111719](https://github.com/getsentry/sentry/pull/111719)
- Simplify shared issue event rendering by @scttcper in [#111769](https://github.com/getsentry/sentry/pull/111769)
- Recent issues with autofix view by @Zylphrex in [#111617](https://github.com/getsentry/sentry/pull/111617)
- New stack trace component by @scttcper in [#109428](https://github.com/getsentry/sentry/pull/109428)

#### Logs

- Moved LogsInfiniteTable inline with expand/contract button by @JoshuaKGoldberg in [#109819](https://github.com/getsentry/sentry/pull/109819)
- Move continue scanning into full button by @nsdeschenes in [#112351](https://github.com/getsentry/sentry/pull/112351)
- Add ourlogs-table-expando feature flag by @JoshuaKGoldberg in [#112031](https://github.com/getsentry/sentry/pull/112031)
- Add inline JSON syntax highlighting for log attributes by @JoshuaKGoldberg in [#111730](https://github.com/getsentry/sentry/pull/111730)
- Add JSON pretty-printing for log attributes by @JoshuaKGoldberg in [#111077](https://github.com/getsentry/sentry/pull/111077)

#### Metrics

- Add drag-and-drop reordering to metric panels by @nsdeschenes in [#112671](https://github.com/getsentry/sentry/pull/112671)
- Improve metrics refresh UI on narrow displays by @nsdeschenes in [#112787](https://github.com/getsentry/sentry/pull/112787)
- Add equation support to tracemetrics by @wmak in [#112609](https://github.com/getsentry/sentry/pull/112609)
- Add a metrics if-combinator by @wmak in [#111837](https://github.com/getsentry/sentry/pull/111837)
- Default trace metrics aggregate to sum by @nsdeschenes in [#111516](https://github.com/getsentry/sentry/pull/111516)
- Add refreshed trace metrics toolbar by @nsdeschenes in [#111066](https://github.com/getsentry/sentry/pull/111066)
- Refresh metrics panels behind tracemetrics-ui-refresh flag by @nsdeschenes in [#110986](https://github.com/getsentry/sentry/pull/110986)
- Add last seen, times seen, and attributes to metric dropdown by @nsdeschenes in [#110879](https://github.com/getsentry/sentry/pull/110879)
- Add canary metrics for HMAC failures and unsigned Seer requests by @tnt-sentry in [#110640](https://github.com/getsentry/sentry/pull/110640)

#### Monitors

- Add onboarding modal for the new alerts/monitors pages by @malwilley in [#112694](https://github.com/getsentry/sentry/pull/112694)
- Add info hint for diff-based issue detection by @mtopo27 in [#111698](https://github.com/getsentry/sentry/pull/111698)

#### Nav

- Adjust system alert layout by @natemoo-re in [#112821](https://github.com/getsentry/sentry/pull/112821)
- Improve What's New panel and primary nav overlays by @JonasBa in [#112292](https://github.com/getsentry/sentry/pull/112292)
- Add icon-only Feedback button to top navigation bar by @JonasBa in [#111647](https://github.com/getsentry/sentry/pull/111647)
- Improve mobile navigation by @JonasBa in [#111549](https://github.com/getsentry/sentry/pull/111549)
- Add cmd/ctrl+b nav toggle hotkey by @JonasBa in [#111503](https://github.com/getsentry/sentry/pull/111503)

#### Notifications

- Hook into the platform in the slack send_alert step for metric laerts by @Christinarlong in [#112189](https://github.com/getsentry/sentry/pull/112189)
- Add notification data and renderer for metric alerts by @Christinarlong in [#111674](https://github.com/getsentry/sentry/pull/111674)
- Add threading to notification service by @Christinarlong in [#110951](https://github.com/getsentry/sentry/pull/110951)

#### Np

- Adds Discord metric alert renderer by @GabeVillalobos in [#112420](https://github.com/getsentry/sentry/pull/112420)
- Adds Discord issue renderer, updates Slack renderer tagging extraction by @GabeVillalobos in [#112079](https://github.com/getsentry/sentry/pull/112079)
- Adds rough notification renderer for issue alerts, as a thin wrapper by @GabeVillalobos in [#110929](https://github.com/getsentry/sentry/pull/110929)
- Adds notification platform skill for creation of new notifications, providers, and renderers by @GabeVillalobos in [#109754](https://github.com/getsentry/sentry/pull/109754)

#### Occurrences On Eap

- Implement EAP query for eventstore `get_events` by @shashjar in [#112423](https://github.com/getsentry/sentry/pull/112423)
- Implement tagstore EAP query for group tag value iter by @shashjar in [#112122](https://github.com/getsentry/sentry/pull/112122)
- Implement tagstore EAP query for group list tag value by @shashjar in [#111963](https://github.com/getsentry/sentry/pull/111963)
- Implement tagstore EAP query for release tags by @shashjar in [#111952](https://github.com/getsentry/sentry/pull/111952)
- Implement EAP query for tagstore group tag value count by @shashjar in [#111868](https://github.com/getsentry/sentry/pull/111868)
- Implement EAP query for tagstore groups user counts (issue platform) by @shashjar in [#111863](https://github.com/getsentry/sentry/pull/111863)
- Implement EAP query for tagstore groups user counts (errors) by @shashjar in [#111861](https://github.com/getsentry/sentry/pull/111861)
- Implement errors EAP query for organization events tracing by @shashjar in [#111093](https://github.com/getsentry/sentry/pull/111093)
- Implement tracing errors query by @shashjar in [#110720](https://github.com/getsentry/sentry/pull/110720)
- Implement performance issues query for organization events tracing by @shashjar in [#110723](https://github.com/getsentry/sentry/pull/110723)

#### Onboarding

- Pre-populate repo selector with full repo list by @jaydgoss in [#112685](https://github.com/getsentry/sentry/pull/112685)
- Add onboarding docs for Vercel AI ToolLoopAgent by @constantinius in [#112333](https://github.com/getsentry/sentry/pull/112333)
- Gate SCM onboarding flow with useExperiment hook by @jaydgoss in [#112206](https://github.com/getsentry/sentry/pull/112206)
- Add animated Sentry logo to SCM onboarding steps by @jaydgoss in [#112386](https://github.com/getsentry/sentry/pull/112386)
- Add Litestar as a Python onboarding platform (FE) by @sentrivana in [#111607](https://github.com/getsentry/sentry/pull/111607)
- Added Metrics to Unity by @bitsandfoxes in [#108118](https://github.com/getsentry/sentry/pull/108118)
- Add Litestar as a Python onboarding platform (BE) by @sentrivana in [#111522](https://github.com/getsentry/sentry/pull/111522)
- SCM project details step UI polish and analytics by @jaydgoss in [#111623](https://github.com/getsentry/sentry/pull/111623)
- SCM platform features step UI polish and analytics by @jaydgoss in [#111529](https://github.com/getsentry/sentry/pull/111529)
- Add logs onboarding for Elixir by @sl0thentr0py in [#110038](https://github.com/getsentry/sentry/pull/110038)
- SCM connect step UI polish and analytics by @jaydgoss in [#111478](https://github.com/getsentry/sentry/pull/111478)
- Sync feature selections from context to SetupDocs URL params by @jaydgoss in [#111334](https://github.com/getsentry/sentry/pull/111334)
- Implement SCM project details step by @jaydgoss in [#111306](https://github.com/getsentry/sentry/pull/111306)
- Implement SCM platform & features step by @jaydgoss in [#111160](https://github.com/getsentry/sentry/pull/111160)
- Implement SCM_CONNECT step with provider connection and repo selection by @jaydgoss in [#110883](https://github.com/getsentry/sentry/pull/110883)

#### Pipeline

- Add completion view support to pipeline definitions by @evanpurkhiser in [#112603](https://github.com/getsentry/sentry/pull/112603)
- Detect API-driven pipelines in existing callback URL by @evanpurkhiser in [#111455](https://github.com/getsentry/sentry/pull/111455)
- Add OrganizationPipelineEndpoint for API-driven pipelines by @evanpurkhiser in [#111539](https://github.com/getsentry/sentry/pull/111539)
- Add shared OAuth login step and redirect popup hook by @evanpurkhiser in [#111577](https://github.com/getsentry/sentry/pull/111577)
- Add frontend pipeline framework by @evanpurkhiser in [#111423](https://github.com/getsentry/sentry/pull/111423)
- Add API mode support to base Pipeline by @evanpurkhiser in [#111422](https://github.com/getsentry/sentry/pull/111422)

#### Preprod

- Add artifact_type field to Explore UI (EME-874) by @cameroncooke in [#113034](https://github.com/getsentry/sentry/pull/113034)
- Add settings link to snapshot PR comments by @runningcode in [#112909](https://github.com/getsentry/sentry/pull/112909)
- Store metrics artifact type as string in EAP [backend] (EME-874) by @cameroncooke in [#112905](https://github.com/getsentry/sentry/pull/112905)
- Auto-filter installable:true when switching to Distribution view by @mtopo27 in [#112533](https://github.com/getsentry/sentry/pull/112533)
- Add snapshot PR comments toggle to project settings by @runningcode in [#112362](https://github.com/getsentry/sentry/pull/112362)
- Include authToken in ProjectPreprodUploadOptions by @lcian in [#112466](https://github.com/getsentry/sentry/pull/112466)
- Add snapshot PR comment templates by @runningcode in [#112353](https://github.com/getsentry/sentry/pull/112353)
- Check for actual build data when showing mobile builds tab by @NicoHinderling in [#112525](https://github.com/getsentry/sentry/pull/112525)
- Sort insight diff by total potential savings by @mtopo27 in [#112476](https://github.com/getsentry/sentry/pull/112476)
- Add snapshot details to admin info endpoint by @NicoHinderling in [#112482](https://github.com/getsentry/sentry/pull/112482)
- Upgrade admin panel's "rerun analysis" action to support batch (up to 100) by @NicoHinderling in [#112481](https://github.com/getsentry/sentry/pull/112481)
- Add snapshot auto-approval for repeated PR builds by @NicoHinderling in [#112421](https://github.com/getsentry/sentry/pull/112421)
- Add settings link to build distribution PR comments by @runningcode in [#112366](https://github.com/getsentry/sentry/pull/112366)
- Add installable attribute to EAP alias mappings by @mtopo27 in [#112363](https://github.com/getsentry/sentry/pull/112363)
- Split Mobile Builds settings into tabbed interface by @mtopo27 in [#112151](https://github.com/getsentry/sentry/pull/112151)
- Register feature flag and project option for snapshot PR comments by @runningcode in [#112100](https://github.com/getsentry/sentry/pull/112100)
- Add snapshot approval UI in header by @NicoHinderling in [#111977](https://github.com/getsentry/sentry/pull/111977)
- Add approval API endpoint and approval info in snapshot response by @NicoHinderling in [#111976](https://github.com/getsentry/sentry/pull/111976)
- Filter settings page builds by display type by @NicoHinderling in [#112046](https://github.com/getsentry/sentry/pull/112046)
- Create NEEDS_APPROVAL records in status check tasks by @NicoHinderling in [#111975](https://github.com/getsentry/sentry/pull/111975)
- Delete snapshot objectstore data on artifact deletion by @NicoHinderling in [#111972](https://github.com/getsentry/sentry/pull/111972)
- Add app identifier to size analysis alert notifications by @mtopo27 in [#111994](https://github.com/getsentry/sentry/pull/111994)
- Add triggered condition section for size analysis issues by @mtopo27 in [#111978](https://github.com/getsentry/sentry/pull/111978)
- Add value, conditions, and config to size analysis evidence_data by @mtopo27 in [#111923](https://github.com/getsentry/sentry/pull/111923)
- Add shadow taskbroker dispatch for launchpad integration by @NicoHinderling in [#110602](https://github.com/getsentry/sentry/pull/110602)
- Use sequential (n-1) comparisons for size analysis diff monitors by @mtopo27 in [#111482](https://github.com/getsentry/sentry/pull/111482)
- Improve Slack alert messages for size analysis monitors by @mtopo27 in [#111660](https://github.com/getsentry/sentry/pull/111660)
- Add preprod_artifact webhooks to frontend settings UI by @cameroncooke in [#111475](https://github.com/getsentry/sentry/pull/111475)
- Add build_distribution.completed webhook for Sentry Apps by @cameroncooke in [#111474](https://github.com/getsentry/sentry/pull/111474)
- Add Insight Diff section to issue detail by @mtopo27 in [#111357](https://github.com/getsentry/sentry/pull/111357)
- Add size_analysis.completed webhook for Sentry Apps by @cameroncooke in [#111473](https://github.com/getsentry/sentry/pull/111473)
- Register preprod_artifact webhook resource and event types by @cameroncooke in [#111472](https://github.com/getsentry/sentry/pull/111472)
- Show detector section in sidebar for size analysis issues by @mtopo27 in [#111583](https://github.com/getsentry/sentry/pull/111583)
- Add auto-expansion of a section on arrow key navigation by @rbro112 in [#111536](https://github.com/getsentry/sentry/pull/111536)
- Link artifact ID tags to build detail page by @mtopo27 in [#111383](https://github.com/getsentry/sentry/pull/111383)
- Support absolute detectors from single-build path by @chromy in [#111141](https://github.com/getsentry/sentry/pull/111141)
- Show processing state for snapshot comparisons by @NicoHinderling in [#111355](https://github.com/getsentry/sentry/pull/111355)
- Show original filename tooltip on renamed snapshots by @NicoHinderling in [#111325](https://github.com/getsentry/sentry/pull/111325)
- Add solo/diff toggle button to snapshot dev tools by @NicoHinderling in [#111318](https://github.com/getsentry/sentry/pull/111318)
- Add group support to snapshots frontend by @rbro112 in [#110942](https://github.com/getsentry/sentry/pull/110942)
- Reduce snapshots retention to 30 days by @lcian in [#110988](https://github.com/getsentry/sentry/pull/110988)
- Add Datadog metrics for snapshot upload and diff lifecycle by @NicoHinderling in [#111024](https://github.com/getsentry/sentry/pull/111024)
- Add group_id to all autofix.* events by @chromy in [#110943](https://github.com/getsentry/sentry/pull/110943)
- Add git metadata and artifact IDs as tags for size analysis issues by @mtopo27 in [#110854](https://github.com/getsentry/sentry/pull/110854)

#### Profiling

- New stack trace in span profile details by @scttcper in [#112559](https://github.com/getsentry/sentry/pull/112559)
- Use spans data source for profiles search bar in EAP mode by @mjq in [#111772](https://github.com/getsentry/sentry/pull/111772)

#### Repos

- Activate repo webhook and syncing task for GHE by @wedamija in [#112247](https://github.com/getsentry/sentry/pull/112247)
- Add audit logs when auto syncing repositories take 2 by @wedamija in [#112378](https://github.com/getsentry/sentry/pull/112378)
- Add task to periodically sync repos from github by @wedamija in [#112043](https://github.com/getsentry/sentry/pull/112043)
- Add routings for github `installation_repositories` webhook by @wedamija in [#112226](https://github.com/getsentry/sentry/pull/112226)
- Add framework for scheduling tasks from a queryset on a recurring basis by @wedamija in [#111958](https://github.com/getsentry/sentry/pull/111958)

#### Scm

- Add `get_git_commit` and `get_tree` for GitLab by @billyvg in [#111363](https://github.com/getsentry/sentry/pull/111363)
- Allow GitLab repos to be selected for Seer by @billyvg in [#111446](https://github.com/getsentry/sentry/pull/111446)
- Show repos from other/unknown providers in the treeview component by @ryan953 in [#111280](https://github.com/getsentry/sentry/pull/111280)
- Move static facade to module level and dynamically construct the SCM type from the provider's capabilities by @cmanallen in [#111113](https://github.com/getsentry/sentry/pull/111113)
- Add `get_archive_link` to SCM API by @billyvg in [#110987](https://github.com/getsentry/sentry/pull/110987)

#### Scraps

- Add slot component by @JonasBa in [#112032](https://github.com/getsentry/sentry/pull/112032)
- Add indeterminate loader (again) by @natemoo-re in [#112138](https://github.com/getsentry/sentry/pull/112138)
- Add hotkey module by @natemoo-re in [#111444](https://github.com/getsentry/sentry/pull/111444)
- Add StatusIndicator component by @JonasBa in [#110878](https://github.com/getsentry/sentry/pull/110878)

#### Search

- Add experimental "recommended" issue sort by @mrduncan in [#111043](https://github.com/getsentry/sentry/pull/111043)
- Switch filter operator from contains to is on dropdown selection by @nsdeschenes in [#111668](https://github.com/getsentry/sentry/pull/111668)

#### Seer

- Replace LLM triage with Explorer agent in night shift by @trevor-e in [#112984](https://github.com/getsentry/sentry/pull/112984)
- Add Sentry metrics to night shift pipeline by @trevor-e in [#112967](https://github.com/getsentry/sentry/pull/112967)
- Add ViewerContext authentication for Seer callbacks by @azulus in [#112844](https://github.com/getsentry/sentry/pull/112844)
- Add seer-run-id-in-slack feature flag by @alexsohn1126 in [#112918](https://github.com/getsentry/sentry/pull/112918)
- Add run ID to Seer Explorer Slack footer by @alexsohn1126 in [#112835](https://github.com/getsentry/sentry/pull/112835)
- Add Seer admin page with night shift trigger by @trevor-e in [#112822](https://github.com/getsentry/sentry/pull/112822)
- Re-land night shift run record writes during triage by @trevor-e in [#112769](https://github.com/getsentry/sentry/pull/112769)
- Re-land night shift run tracking models with db_constraint=False by @trevor-e in [#112768](https://github.com/getsentry/sentry/pull/112768)
- Add lightweight supergroups backfill task by @yuvmen in [#112507](https://github.com/getsentry/sentry/pull/112507)
- Read Seer project preferences from Sentry DB in Sentry endpoints by @srest2021 in [#111594](https://github.com/getsentry/sentry/pull/111594)
- Thread short-lived API token to Explorer MCP tools by @azulus in [#112179](https://github.com/getsentry/sentry/pull/112179)
- Add dual-read helpers for Seer project preferences from Sentry DB by @srest2021 in [#111591](https://github.com/getsentry/sentry/pull/111591)
- Distinguish legacy vs explorer autofix in agent_handoff initiator by @JoshFerge in [#112575](https://github.com/getsentry/sentry/pull/112575)
- Add candidate issue selection to night shift by @trevor-e in [#112521](https://github.com/getsentry/sentry/pull/112521)
- Record agent_handoff analytics in launch_coding_agents_for_run by @JoshFerge in [#112516](https://github.com/getsentry/sentry/pull/112516)
- Add rca_source to supergroup queries with feature flag gating by @yuvmen in [#112436](https://github.com/getsentry/sentry/pull/112436)
- Show the Seer settings link even when hideAiFeatures is enabled by @ryan953 in [#112510](https://github.com/getsentry/sentry/pull/112510)
- Add coding_agent field to agent handoff analytics by @JoshFerge in [#112491](https://github.com/getsentry/sentry/pull/112491)
- Add Night Shift nightly autofix cron scaffolding by @trevor-e in [#112429](https://github.com/getsentry/sentry/pull/112429)
- Add lightweight RCA clustering endpoint integration by @yuvmen in [#112229](https://github.com/getsentry/sentry/pull/112229)
- Enable sorting seer autofix project list by @ryan953 in [#112250](https://github.com/getsentry/sentry/pull/112250)
- Add widget-level LLM context to dashboard widgets by @Mihir-Mavalankar in [#112267](https://github.com/getsentry/sentry/pull/112267)
- Setup Agent bulk-edit on the Seer Autofix list page, and bring back Create PR bulk edits by @ryan953 in [#112249](https://github.com/getsentry/sentry/pull/112249)
- Add the stopping-point field to project-specific seer settings by @ryan953 in [#112232](https://github.com/getsentry/sentry/pull/112232)
- Wrap the seat-based wizard in a feature flag by @ryan953 in [#112212](https://github.com/getsentry/sentry/pull/112212)
- Add preamble to structured page context markdown by @Mihir-Mavalankar in [#112235](https://github.com/getsentry/sentry/pull/112235)
- Fall back to contextvar ViewerContext for Seer requests by @gricha in [#112221](https://github.com/getsentry/sentry/pull/112221)
- Implement the dropdown to save defaultAutomatedRunStoppingPoint by @ryan953 in [#112211](https://github.com/getsentry/sentry/pull/112211)
- Send structured LLMContext JSON as on_page_context by @Mihir-Mavalankar in [#112200](https://github.com/getsentry/sentry/pull/112200)
- Improve the loading state of the Seer SCM overview area by @ryan953 in [#112054](https://github.com/getsentry/sentry/pull/112054)
- Convert structured LLMContext JSON to markdown for on_page_context by @Mihir-Mavalankar in [#112181](https://github.com/getsentry/sentry/pull/112181)
- Add feature flag and register Dashboard in LLM context tree by @Mihir-Mavalankar in [#111973](https://github.com/getsentry/sentry/pull/111973)
- Send page_name in explorer chat requests from frontend by @Mihir-Mavalankar in [#112124](https://github.com/getsentry/sentry/pull/112124)
- Send page_name in explorer chat requests by @Mihir-Mavalankar in [#112065](https://github.com/getsentry/sentry/pull/112065)
- Add issue summary experimental flag by @JoshFerge in [#112115](https://github.com/getsentry/sentry/pull/112115)
- Add structured LLM context system for Seer Explorer by @Mihir-Mavalankar in [#111554](https://github.com/getsentry/sentry/pull/111554)
- Add org-level default stopping point and wire coding agent defaults into project creation by @srest2021 in [#111697](https://github.com/getsentry/sentry/pull/111697)
- Seer Autofix Settings Overview page by @ryan953 in [#110758](https://github.com/getsentry/sentry/pull/110758)
- Update default triggers for Code Review by @ryan953 in [#111911](https://github.com/getsentry/sentry/pull/111911)
- Add RPC interface for retrieving the installation_id by @cmanallen in [#111893](https://github.com/getsentry/sentry/pull/111893)
- Update Seer Settings to let people pick their preferred default agent for Autofix by @ryan953 in [#111366](https://github.com/getsentry/sentry/pull/111366)
- Add trigger_explorer method to SeerOperator by @alexsohn1126 in [#109675](https://github.com/getsentry/sentry/pull/109675)
- Seer Code Review Overview section by @ryan953 in [#111593](https://github.com/getsentry/sentry/pull/111593)
- Seer SCM Overview by @ryan953 in [#111343](https://github.com/getsentry/sentry/pull/111343)
- Rename SCM seer settings tab to Repositories by @ryan953 in [#111538](https://github.com/getsentry/sentry/pull/111538)
- Add dual-write for Seer project preferences to ProjectOptions and SeerProjectRepository by @srest2021 in [#110704](https://github.com/getsentry/sentry/pull/110704)
- Add feature-flags to control seer onboarding pages by @ryan953 in [#111277](https://github.com/getsentry/sentry/pull/111277)
- Iterate on the Seer Trial page styles by @ryan953 in [#111275](https://github.com/getsentry/sentry/pull/111275)
- Add SeerExplorerResponse notification data and Slack renderer by @alexsohn1126 in [#109317](https://github.com/getsentry/sentry/pull/109317)
- Add SeerOperatorExplorerCache for completion hook payloads by @alexsohn1126 in [#109238](https://github.com/getsentry/sentry/pull/109238)
- Show Upgrade Banner when on Legacy/Beta Seer by @ajay-sentry in [#111056](https://github.com/getsentry/sentry/pull/111056)
- Add Explorer methods to SeerEntrypoint protocol by @alexsohn1126 in [#109231](https://github.com/getsentry/sentry/pull/109231)
- Use Seer model_used response field for seer_model on GroupHashMetadata by @yuvmen in [#111047](https://github.com/getsentry/sentry/pull/111047)
- Expose defaultCodingAgent and defaultCodingAgentIntegrationId org fields by @ryan953 in [#111051](https://github.com/getsentry/sentry/pull/111051)
- Schedule context engine indexing hourly with load spreading by @Mihir-Mavalankar in [#110886](https://github.com/getsentry/sentry/pull/110886)
- Add a message to seer settings when Gen AI Features are disabled by @ryan953 in [#110947](https://github.com/getsentry/sentry/pull/110947)
- Add logging to lightweight RCA trigger flow by @yuvmen in [#110930](https://github.com/getsentry/sentry/pull/110930)
- Add links to provider integration pages from scm treeview by @ryan953 in [#110890](https://github.com/getsentry/sentry/pull/110890)

#### Settings

- Move Repositories sidebar link into the new Integrations section by @ryan953 in [#112718](https://github.com/getsentry/sentry/pull/112718)
- Add Integrations nav section with MCP & CLI page by @dcramer in [#111419](https://github.com/getsentry/sentry/pull/111419)

#### Slack

- Support unfurling Explore Metrics URLs in Slack by @DominikB2014 in [#112706](https://github.com/getsentry/sentry/pull/112706)
- Add Slack Agent DM and assistant thread support for Seer Explorer by @leeandher in [#112493](https://github.com/getsentry/sentry/pull/112493)
- Support unfurling Explore Logs URLs in Slack by @DominikB2014 in [#112677](https://github.com/getsentry/sentry/pull/112677)
- Pass display type from Explore URL to chartcuterie by @DominikB2014 in [#112620](https://github.com/getsentry/sentry/pull/112620)
- Pass timeseries data directly to chartcuterie for Explore unfurls by @DominikB2014 in [#112585](https://github.com/getsentry/sentry/pull/112585)
- Unfurl Explore Traces URLs with chart previews by @DominikB2014 in [#112020](https://github.com/getsentry/sentry/pull/112020)
- Add frontend pipeline step for Slack integration setup by @evanpurkhiser in [#112417](https://github.com/getsentry/sentry/pull/112417)
- Add tags to Slack event endpoint for observability by @DominikB2014 in [#112023](https://github.com/getsentry/sentry/pull/112023)
- Implement process_mention_for_slack task for Explorer by @alexsohn1126 in [#109733](https://github.com/getsentry/sentry/pull/109733)
- Add Explorer support to SlackEntrypoint by @alexsohn1126 in [#109569](https://github.com/getsentry/sentry/pull/109569)
- Add SlackMentionHandler for parsing @mentions by @alexsohn1126 in [#109384](https://github.com/getsentry/sentry/pull/109384)
- Handle app_mention events for Seer Explorer by @alexsohn1126 in [#109335](https://github.com/getsentry/sentry/pull/109335)
- Add staging app install button to Slack integration page by @alexsohn1126 in [#110787](https://github.com/getsentry/sentry/pull/110787)
- Add slack api methods for thread history and reactions by @leeandher in [#107785](https://github.com/getsentry/sentry/pull/107785)
- Add slack-staging-app feature flag and options by @alexsohn1126 in [#110766](https://github.com/getsentry/sentry/pull/110766)

#### Snapshots

- Add snapshots list table to Releases page by @NicoHinderling in [#112819](https://github.com/getsentry/sentry/pull/112819)
- Show diff_threshold in snapshot detail header by @NicoHinderling in [#112740](https://github.com/getsentry/sentry/pull/112740)
- Run snapshot comparisons when uploads received out-of-order by @rbro112 in [#112474](https://github.com/getsentry/sentry/pull/112474)
- Add deletion path for endpoint by @NicoHinderling in [#111974](https://github.com/getsentry/sentry/pull/111974)
- Set nice UI for left side of header by @NicoHinderling in [#111822](https://github.com/getsentry/sentry/pull/111822)
- Wire up status check setting fields into snapshot status_check task by @NicoHinderling in [#111798](https://github.com/getsentry/sentry/pull/111798)
- Add status check settings frontend and flag saving by @NicoHinderling in [#111794](https://github.com/getsentry/sentry/pull/111794)
- Backend changes to make renames use SnapshotDiffPair by @NicoHinderling in [#111332](https://github.com/getsentry/sentry/pull/111332)
- Add L/R arrow key support for navigating variants by @rbro112 in [#111227](https://github.com/getsentry/sentry/pull/111227)
- Make snapshots support group param by @rbro112 in [#110941](https://github.com/getsentry/sentry/pull/110941)

#### Snuba

- Add a metric in `query_trace_data` to see what spans report `span.status` "ok" but have an associated error by @constantinius in [#112090](https://github.com/getsentry/sentry/pull/112090)
- Add metric for Snuba RPC read timeout errors by @kylemumma in [#111215](https://github.com/getsentry/sentry/pull/111215)

#### Source Map Config Issues

- Filtering out config issues from default issues stream by @Abdkhan14 in [#113031](https://github.com/getsentry/sentry/pull/113031)
- Adding stats to group row ui by @Abdkhan14 in [#113048](https://github.com/getsentry/sentry/pull/113048)
- Updating title and subtitle by @Abdkhan14 in [#112952](https://github.com/getsentry/sentry/pull/112952)
- Adding copy markdown button to troubl… by @Abdkhan14 in [#112943](https://github.com/getsentry/sentry/pull/112943)
- Making source map doc links platform … by @Abdkhan14 in [#112828](https://github.com/getsentry/sentry/pull/112828)
- Adding Sentry Configuration nav item under issues by @Abdkhan14 in [#112811](https://github.com/getsentry/sentry/pull/112811)
- Implementing Impact section in issue details by @Abdkhan14 in [#112782](https://github.com/getsentry/sentry/pull/112782)
- Implementing problem, diagnosis and troubleshooting section designs by @Abdkhan14 in [#112393](https://github.com/getsentry/sentry/pull/112393)
- Logging extra data on occurrence trigger for UI validation by @Abdkhan14 in [#112091](https://github.com/getsentry/sentry/pull/112091)

#### Source Map Issues

- Supporting count_unique aggregation on eap processing errors by @Abdkhan14 in [#112385](https://github.com/getsentry/sentry/pull/112385)
- Adding group id and title as attr to processing error trace item by @Abdkhan14 in [#112387](https://github.com/getsentry/sentry/pull/112387)

#### Spans

- Enforce max segment bytes during ingestion by @lvthanh03 in [#112561](https://github.com/getsentry/sentry/pull/112561)
- Skip enrichment when message contains skip_enrichment=True flag by @lvthanh03 in [#112024](https://github.com/getsentry/sentry/pull/112024)
- Flush oversized segments in chunks by @lvthanh03 in [#111820](https://github.com/getsentry/sentry/pull/111820)

#### Stacktrace

- Wire SCM source context into new stack trace by @scttcper in [#111770](https://github.com/getsentry/sentry/pull/111770)
- Add frontend hook and UI for on-demand SCM source context by @mujacica in [#110327](https://github.com/getsentry/sentry/pull/110327)

#### Supergroups

- Supergroup -> issue group by @cvxluo in [#112990](https://github.com/getsentry/sentry/pull/112990)
- Use issues search to highlight supergroup drawer issues by @scttcper in [#112640](https://github.com/getsentry/sentry/pull/112640)
- Add checkbox to supergroup rows for bulk selection by @scttcper in [#112301](https://github.com/getsentry/sentry/pull/112301)
- Filter supergroups to unresolved issues by @scttcper in [#112383](https://github.com/getsentry/sentry/pull/112383)
- Show filtered vs total events in supergroup chart by @scttcper in [#112215](https://github.com/getsentry/sentry/pull/112215)
- Add status filter to supergroups by-group endpoint by @scttcper in [#112216](https://github.com/getsentry/sentry/pull/112216)
- Smarter group loading and match highlighting by @scttcper in [#111927](https://github.com/getsentry/sentry/pull/111927)
- Add feedback component and experimental badge to drawer by @scttcper in [#111859](https://github.com/getsentry/sentry/pull/111859)
- Add group id to supergroup lookup endpoint by @cvxluo in [#111265](https://github.com/getsentry/sentry/pull/111265)

#### Support

- Add Intercom support widget frontend integration by @sentaur-athena in [#108409](https://github.com/getsentry/sentry/pull/108409)
- Add Intercom backend for identity verification by @sentaur-athena in [#108408](https://github.com/getsentry/sentry/pull/108408)

#### Taskworker

- Add ViewerContext propagation via context hooks by @gricha in [#112217](https://github.com/getsentry/sentry/pull/112217)
- Update Taskbroker / Taskworker Client to Support Push Mode by @george-sentry in [#112629](https://github.com/getsentry/sentry/pull/112629)

#### Text

- Add render prop pattern to Text component by @JonasBa in [#110926](https://github.com/getsentry/sentry/pull/110926)
- Add variant="inherit" to Text primitive by @JonasBa in [#110945](https://github.com/getsentry/sentry/pull/110945)

#### Tracemetrics

- Add group by selector to equations by @narsaynorath in [#113051](https://github.com/getsentry/sentry/pull/113051)
- Enable aggregate panel to show equation result by @narsaynorath in [#112966](https://github.com/getsentry/sentry/pull/112966)
- Do not allow deletion of metrics used in equations by @narsaynorath in [#112893](https://github.com/getsentry/sentry/pull/112893)
- Disable the samples panel for equations by @narsaynorath in [#112959](https://github.com/getsentry/sentry/pull/112959)
- Use reference map to render equations by @narsaynorath in [#112817](https://github.com/getsentry/sentry/pull/112817)
- Add column sorting to samples table by @nsdeschenes in [#112577](https://github.com/getsentry/sentry/pull/112577)
- Allocate stable labels for metric queries by @narsaynorath in [#112675](https://github.com/getsentry/sentry/pull/112675)
- Add skeleton for equation builder in Explore by @narsaynorath in [#112504](https://github.com/getsentry/sentry/pull/112504)
- Bypass metric field validation for equations by @narsaynorath in [#112479](https://github.com/getsentry/sentry/pull/112479)
- Refresh the metrics refresh by @nsdeschenes in [#111920](https://github.com/getsentry/sentry/pull/111920)
- Add new and reorder columns by @nsdeschenes in [#112027](https://github.com/getsentry/sentry/pull/112027)
- Add feature flag for equations in metrics explorer by @narsaynorath in [#112025](https://github.com/getsentry/sentry/pull/112025)
- Update ArithmeticBuilder to allow for REFERENCE tokens by @narsaynorath in [#111956](https://github.com/getsentry/sentry/pull/111956)
- Display metric name in aggregates table when no group by selected by @nsdeschenes in [#111513](https://github.com/getsentry/sentry/pull/111513)
- Add trace metric bytes DataCategory to stats page by @k-fish in [#111431](https://github.com/getsentry/sentry/pull/111431)
- Show approximation for tracemetrics total count by @narsaynorath in [#111356](https://github.com/getsentry/sentry/pull/111356)
- Add unreal, unity to supported platforms by @narsaynorath in [#111361](https://github.com/getsentry/sentry/pull/111361)
- Add referrer for raw count normal extrapolated request by @narsaynorath in [#111335](https://github.com/getsentry/sentry/pull/111335)
- Show all attributes in group by for multi metrics by @narsaynorath in [#111012](https://github.com/getsentry/sentry/pull/111012)
- Add tracemetrics to dashboard global filters by @k-fish in [#110781](https://github.com/getsentry/sentry/pull/110781)

#### Ui

- Migrate jest from babel-jest to @swc/jest by @scttcper in [#112895](https://github.com/getsentry/sentry/pull/112895)
- Port eslint-plugin-sentry to this repo by @scttcper in [#112081](https://github.com/getsentry/sentry/pull/112081)

#### Viewer Context

- Restore ViewerContext from JWT in middleware by @gricha in [#112875](https://github.com/getsentry/sentry/pull/112875)
- Add JWT encode/decode for ViewerContext propagation by @gricha in [#112765](https://github.com/getsentry/sentry/pull/112765)

#### Workflow

- Add index on GroupOpenPeriodActivity.date_added by @kcons in [#111968](https://github.com/getsentry/sentry/pull/111968)
- Make OrganizationIncidentDetailsEndpoint.get support single-written workflows by @kcons in [#111588](https://github.com/getsentry/sentry/pull/111588)
- Add flag to enable workflow engine version of ProjectRulesEndpoint.get by @kcons in [#111230](https://github.com/getsentry/sentry/pull/111230)

#### Workflow Engine

- Add pagination captions to list views by @malwilley in [#112857](https://github.com/getsentry/sentry/pull/112857)
- Only link workflows to the IssueStream by @saponifi3d in [#112276](https://github.com/getsentry/sentry/pull/112276)
- Action Filter cache invalidation by @saponifi3d in [#111060](https://github.com/getsentry/sentry/pull/111060)
- Add a cache for ActionFilters by @saponifi3d in [#110507](https://github.com/getsentry/sentry/pull/110507)

#### Workflows

- Start using the action filters cache by @klochek in [#111817](https://github.com/getsentry/sentry/pull/111817)
- Make thresholds in prune_old_fire_history options by @kcons in [#111575](https://github.com/getsentry/sentry/pull/111575)
- Add periodic WorkflowFireHistory backlog clean-up task by @kcons in [#111458](https://github.com/getsentry/sentry/pull/111458)
- Add flag to enable workflow engine version of ProjectRuleDetailsEndpoint.get by @kcons in [#111330](https://github.com/getsentry/sentry/pull/111330)
- Add index on WorkflowFireHistory.date_added by @kcons in [#111026](https://github.com/getsentry/sentry/pull/111026)
- Add doc to clarify the current implementation strategy of the API backport project by @kcons in [#111006](https://github.com/getsentry/sentry/pull/111006)

#### Other

- (ai-detected-issues) Add new AI detected issue group types by @roggenkemper in [#112848](https://github.com/getsentry/sentry/pull/112848)
- (ai-monitoring) Fetch model context size and rename task to fetch_ai_model_info by @constantinius in [#112656](https://github.com/getsentry/sentry/pull/112656)
- (auto-save) Restore focus to field after auto-save completes by @TkDodo in [#110834](https://github.com/getsentry/sentry/pull/110834)
- (claude) Default workspace_name to 'default' by @sehr-m in [#110950](https://github.com/getsentry/sentry/pull/110950)
- (claude integration) Return full text block alongside URL by @sehr-m in [#110953](https://github.com/getsentry/sentry/pull/110953)
- (command-palette) Add feedback button and preload image in empty state by @JonasBa in [#111555](https://github.com/getsentry/sentry/pull/111555)
- (core-ui) Add ClearButton to CompositeSelect by @nsdeschenes in [#111706](https://github.com/getsentry/sentry/pull/111706)
- (dashboard) Adds warning messages on generated dashboard errors when caught in the frontend by @edwardgou-sentry in [#111531](https://github.com/getsentry/sentry/pull/111531)
- (data-forwarding) Migrate setup form to useScrapsForm by @JonasBa in [#108805](https://github.com/getsentry/sentry/pull/108805)
- (debug-files) Show console symbol sources for orgs with console access by @JoshuaMoelans in [#109781](https://github.com/getsentry/sentry/pull/109781)
- (deletions) Add CLI command to list and run scheduled deletions by @leeandher in [#112018](https://github.com/getsentry/sentry/pull/112018)
- (dynamic-grouping) Show supergroup membership on issues stream by @scttcper in [#111249](https://github.com/getsentry/sentry/pull/111249)
- (eventstore) Implement `get_event_by_id` as EAP query by @shashjar in [#110925](https://github.com/getsentry/sentry/pull/110925)
- (explorer) Add relevant repos to explorer by @sehr-m in [#111046](https://github.com/getsentry/sentry/pull/111046)
- (feature-showcase) Redesign and rewrite FeatureTourModal as FeatureShowcase by @malwilley in [#112532](https://github.com/getsentry/sentry/pull/112532)
- (features) Add data browsing widget unfurl feature flag by @DominikB2014 in [#111897](https://github.com/getsentry/sentry/pull/111897)
- (feedback) Redirect to the feedback details page when given a projectName & eventId by @ryan953 in [#111931](https://github.com/getsentry/sentry/pull/111931)
- (github-enterprise) Route installation_repositories to control silo by @wedamija in [#112245](https://github.com/getsentry/sentry/pull/112245)
- (identity) Add OAuth2ApiStep for API-driven OAuth2 flows by @evanpurkhiser in [#111578](https://github.com/getsentry/sentry/pull/111578)
- (incidents) Add is_metric_subscription_allowed; use it by @kcons in [#112241](https://github.com/getsentry/sentry/pull/112241)
- (issue-detection) Register ai-issue-detection feature flag by @roggenkemper in [#113062](https://github.com/getsentry/sentry/pull/113062)
- (issueList) Add group_ids to issues.viewed by @mrduncan in [#111551](https://github.com/getsentry/sentry/pull/111551)
- (llm-detection) Accept additional_attributes param in get_trace_waterfall by @nora-shap in [#112239](https://github.com/getsentry/sentry/pull/112239)
- (llm-detector) Add beta badge for AI detected issues by @roggenkemper in [#112686](https://github.com/getsentry/sentry/pull/112686)
- (metrcis) Add formula -if combinators by @wmak in [#112016](https://github.com/getsentry/sentry/pull/112016)
- (metric-issues) Use placeholder loaders for attribute comparison… by @malwilley in [#111676](https://github.com/getsentry/sentry/pull/111676)
- (middleware) Enable viewer context middleware by default by @gricha in [#112293](https://github.com/getsentry/sentry/pull/112293)
- (native) Log symbolicator response on empty thread list by @jjbayer in [#110976](https://github.com/getsentry/sentry/pull/110976)
- (notificaitons) Add threading to platform providers by @Christinarlong in [#109248](https://github.com/getsentry/sentry/pull/109248)
- (notification) Simplify renderer and data to be already processed text by @Christinarlong in [#112182](https://github.com/getsentry/sentry/pull/112182)
- (oauth) Show public app device flow URLs by @dcramer in [#111655](https://github.com/getsentry/sentry/pull/111655)
- (objectstore) Enable token generator in objectstore client by @matt-codecov in [#105707](https://github.com/getsentry/sentry/pull/105707)
- (pageframe) Adopt `TopBar.Slot` in `Layout.Title` by @natemoo-re in [#112515](https://github.com/getsentry/sentry/pull/112515)
- (perforce) Implement get_file() for source context by @mujacica in [#111768](https://github.com/getsentry/sentry/pull/111768)
- (performance) Add search support to EAP txn summary sample events by @mjq in [#111349](https://github.com/getsentry/sentry/pull/111349)
- (project) Increase securityTokenHeader max_length from 20 to 64 by @sentry-junior in [#112483](https://github.com/getsentry/sentry/pull/112483)
- (prompts) Register android tombstones onboarding prompt by @romtsn in [#112477](https://github.com/getsentry/sentry/pull/112477)
- (refactor) Move common exceptions out of the discover db by @manessaraj in [#111713](https://github.com/getsentry/sentry/pull/111713)
- (releases) Cache calls to compare-commits by @armenzg in [#112494](https://github.com/getsentry/sentry/pull/112494)
- (replay) Add a button to toggle the replay-details layout between the default & video-only by @ryan953 in [#111944](https://github.com/getsentry/sentry/pull/111944)
- (replays) Make bulk delete API endpoints public by @billyvg in [#111679](https://github.com/getsentry/sentry/pull/111679)
- (searchbar) Sort value suggestions by fuzzy match relevance by @scttcper in [#111037](https://github.com/getsentry/sentry/pull/111037)
- (seer agent) Add integration button to handoff dropdown by @sehr-m in [#111499](https://github.com/getsentry/sentry/pull/111499)
- (seer-slack) Check channel type for correct history scope before API call by @alexsohn1126 in [#112371](https://github.com/getsentry/sentry/pull/112371)
- (sentry apps) Add circuit breaker into webhook code by @Christinarlong in [#111723](https://github.com/getsentry/sentry/pull/111723)
- (spans-migration) Add a flag bypass for self hosted migrations by @nikkikapadia in [#111150](https://github.com/getsentry/sentry/pull/111150)
- (symbolicator) Pass objectstore token to symbolicator by @matt-codecov in [#112058](https://github.com/getsentry/sentry/pull/112058)
- (test) Add `it.isKnownFlake` for opt-in stress-testing flaky Jest fixes by @JoshuaKGoldberg in [#111860](https://github.com/getsentry/sentry/pull/111860)
- (timeseries) Add 6h interval by @wmak in [#112678](https://github.com/getsentry/sentry/pull/112678)
- (trace) Make trace ID clickable in span attributes table by @matejminar in [#111395](https://github.com/getsentry/sentry/pull/111395)
- (uptime) Move suggest assertions button to verification section by @jaydgoss in [#109106](https://github.com/getsentry/sentry/pull/109106)
- (usageStats) Add new `no_parent_span` client discard reason by @Lms24 in [#112937](https://github.com/getsentry/sentry/pull/112937)
- (utils) Add ContextPropagatingThreadPoolExecutor and S016 lint rule by @gricha in [#111451](https://github.com/getsentry/sentry/pull/111451)
- (wmak) Use non strings in group by by @wmak in [#111753](https://github.com/getsentry/sentry/pull/111753)
- Add referrer tag to snuba timeout metric by @kylemumma in [#112826](https://github.com/getsentry/sentry/pull/112826)
- Add repo indexing job by @shruthilayaj in [#112136](https://github.com/getsentry/sentry/pull/112136)
- Add ViewerContext middleware for API requests by @gricha in [#112172](https://github.com/getsentry/sentry/pull/112172)
- Add ViewerContext dataclass and contextvar module by @gricha in [#112156](https://github.com/getsentry/sentry/pull/112156)
- Add EAP double read for release health data by @noahsmartin in [#111229](https://github.com/getsentry/sentry/pull/111229)
- Let SCM platform support self-hosted GitLab by @jacquev6 in [#111061](https://github.com/getsentry/sentry/pull/111061)
- Remove Legacy Seer toggle BE code and update preflight checks by @ajay-sentry in [#111049](https://github.com/getsentry/sentry/pull/111049)
- Add `seer-gitlab-support` feature flag by @billyvg in [#110659](https://github.com/getsentry/sentry/pull/110659)

### Bug Fixes 🐛

#### Aci

- Serialize activities correctly by @ceorourke in [#112998](https://github.com/getsentry/sentry/pull/112998)
- Add Slack Staging action type to new alert builder by @malwilley in [#112886](https://github.com/getsentry/sentry/pull/112886)
- Link to issue page instead of specific event in automation history by @malwilley in [#112942](https://github.com/getsentry/sentry/pull/112942)
- Negative margin was too large by @saponifi3d in [#112946](https://github.com/getsentry/sentry/pull/112946)
- Handle missing resolve condition in serializer by @kcons in [#112760](https://github.com/getsentry/sentry/pull/112760)
- Surface API errors for alert form test notifications by @malwilley in [#112818](https://github.com/getsentry/sentry/pull/112818)
- Fix bug with github action settings by @saponifi3d in [#112742](https://github.com/getsentry/sentry/pull/112742)
- Fix issue where we showed the first triggered condition by @saponifi3d in [#112746](https://github.com/getsentry/sentry/pull/112746)
- Add support for an empty conditionGroup in the API for the Error detector by @saponifi3d in [#112641](https://github.com/getsentry/sentry/pull/112641)
- Change response from 404 to 400 when there's an issue with billing metric alerts by @saponifi3d in [#112614](https://github.com/getsentry/sentry/pull/112614)
- Fix issue with manual cron monitor selected project by @malwilley in [#112602](https://github.com/getsentry/sentry/pull/112602)
- Selected project state should react to form changes by @malwilley in [#112484](https://github.com/getsentry/sentry/pull/112484)
- Gracefully handle missing actions in Alerts UI by @malwilley in [#112070](https://github.com/getsentry/sentry/pull/112070)
- Handle missing sentry app installation by @ceorourke in [#112192](https://github.com/getsentry/sentry/pull/112192)
- Handle invalid project IDs in monitor form by @malwilley in [#112220](https://github.com/getsentry/sentry/pull/112220)
- Preselect current detector type when clicking create monitor by @malwilley in [#112178](https://github.com/getsentry/sentry/pull/112178)
- Standardize monitor/alert form behavior on save by @malwilley in [#111490](https://github.com/getsentry/sentry/pull/111490)
- Link from legacy alerts should go to /monitors/alerts by @malwilley in [#111962](https://github.com/getsentry/sentry/pull/111962)
- Show empty state in Alerts list projects column when no detectors are connected by @malwilley in [#111732](https://github.com/getsentry/sentry/pull/111732)
- Include project alerts on monitor list page by @malwilley in [#111690](https://github.com/getsentry/sentry/pull/111690)
- Invalidate Connected Alerts query cache on drawer changes by @scttcper in [#111590](https://github.com/getsentry/sentry/pull/111590)
- There was a bug that `Rule` was being used, but only imported as a type by @saponifi3d in [#111646](https://github.com/getsentry/sentry/pull/111646)
- Translate percent threshold value correctly for metric monitors by @malwilley in [#111259](https://github.com/getsentry/sentry/pull/111259)
- Increase test coverage and fix inconsistencies by @ceorourke in [#110825](https://github.com/getsentry/sentry/pull/110825)
- Fix detection_type in the serializer for detectors which have conflicting properties by @malwilley in [#111170](https://github.com/getsentry/sentry/pull/111170)
- Parse and persist owner field by @ceorourke in [#110807](https://github.com/getsentry/sentry/pull/110807)

#### Agents

- Make negative cost tooltip hoverable for clickable link by @obostjancic in [#111991](https://github.com/getsentry/sentry/pull/111991)
- Clarify token counting in LLM onboarding instructions by @obostjancic in [#111989](https://github.com/getsentry/sentry/pull/111989)
- Scope enrichment query to gen_ai spans only by @obostjancic in [#111614](https://github.com/getsentry/sentry/pull/111614)
- Enable horizontal scroll in trace drawer on mobile by @priscilawebdev in [#110734](https://github.com/getsentry/sentry/pull/110734)

#### Ai Conversations

- Improve XML tag rendering in AI span details by @obostjancic in [#112346](https://github.com/getsentry/sentry/pull/112346)
- Escape conversation IDs in query strings by @vgrozdanic in [#112455](https://github.com/getsentry/sentry/pull/112455)
- Use all projects for shared conversation links by @obostjancic in [#112343](https://github.com/getsentry/sentry/pull/112343)

#### Ai Insights

- Token types widget by @obostjancic in [#111403](https://github.com/getsentry/sentry/pull/111403)
- Update agent monitoring onboarding snippets by @obostjancic in [#111310](https://github.com/getsentry/sentry/pull/111310)
- Use AIContentRenderer for conversation table tooltips by @obostjancic in [#111285](https://github.com/getsentry/sentry/pull/111285)
- Token input/output count by @obostjancic in [#111284](https://github.com/getsentry/sentry/pull/111284)
- Sort conversation spans by start timestamp by @obostjancic in [#111185](https://github.com/getsentry/sentry/pull/111185)
- Traces table by @obostjancic in [#111064](https://github.com/getsentry/sentry/pull/111064)

#### Alerts

- Fallback to transactions dataset for performance alerts by @nikkikapadia in [#112802](https://github.com/getsentry/sentry/pull/112802)
- Fix trigger ordering in workflow-based AlertRule serializer by @kcons in [#112727](https://github.com/getsentry/sentry/pull/112727)
- Make ProjectRuleStatsIndexEndpoint 400 on a bad date range by @kcons in [#112505](https://github.com/getsentry/sentry/pull/112505)
- Better messaging for missing snoozeCreatedBy by @kcons in [#112506](https://github.com/getsentry/sentry/pull/112506)
- Reject EAP alerts with invalid time windows by @kcons in [#112322](https://github.com/getsentry/sentry/pull/112322)
- Incorporate EventsAnalyticsPlatform into our downgrade checking by @kcons in [#112061](https://github.com/getsentry/sentry/pull/112061)
- Fix alert link unfurling URL by @malwilley in [#111033](https://github.com/getsentry/sentry/pull/111033)

#### Apigateway

- Don't count cancelled requests as failures by @gi0baro in [#112089](https://github.com/getsentry/sentry/pull/112089)
- Async/sync flow patches by @gi0baro in [#111993](https://github.com/getsentry/sentry/pull/111993)

#### Attachments

- Use NOW() + 30 days as db_default for date_expires by @jan-auer in [#112342](https://github.com/getsentry/sentry/pull/112342)
- Pass attachment retention_days to objectstore by @jan-auer in [#111879](https://github.com/getsentry/sentry/pull/111879)

#### Auth

- Add diagnostic logging to ViewerContextAuthentication by @azulus in [#113015](https://github.com/getsentry/sentry/pull/113015)
- Block token creation/modification during impersonation by @michelletran-sentry in [#110654](https://github.com/getsentry/sentry/pull/110654)

#### Autofix

- Filter out autofix code mappings with bad repos (inactive, no integration, etc.) by @srest2021 in [#112825](https://github.com/getsentry/sentry/pull/112825)
- Remove autofixEnabled check from project setup guard by @chromy in [#112792](https://github.com/getsentry/sentry/pull/112792)
- Check preference repositories instead of tuning for Seer autofix onboarding check by @srest2021 in [#112726](https://github.com/getsentry/sentry/pull/112726)
- Show Add Integration CTA when no coding agents installed by @JoshFerge in [#112625](https://github.com/getsentry/sentry/pull/112625)
- Dual-delete Seer preferences for disabled repositories by @srest2021 in [#112503](https://github.com/getsentry/sentry/pull/112503)
- Validate Seer-supported SCM providers for Seer project preferences by @srest2021 in [#112518](https://github.com/getsentry/sentry/pull/112518)
- On repo hide, delete corresponding SeerProjectRepository rows by @srest2021 in [#112266](https://github.com/getsentry/sentry/pull/112266)
- Only write handoff.auto_create_pr ProjectOption if not default by @srest2021 in [#112208](https://github.com/getsentry/sentry/pull/112208)
- Handle NoneType project preferences from Seer API by @sentry in [#112009](https://github.com/getsentry/sentry/pull/112009)
- Restarting root cause from error should use new run by @Zylphrex in [#111995](https://github.com/getsentry/sentry/pull/111995)
- Github webhook analytics for explorer autofix by @Zylphrex in [#111913](https://github.com/getsentry/sentry/pull/111913)
- Remove broken docs link from GitHub Copilot CTA by @JoshFerge in [#111298](https://github.com/getsentry/sentry/pull/111298)
- Better loading states for agent handoffs by @Zylphrex in [#111107](https://github.com/getsentry/sentry/pull/111107)

#### Billing

- Updated name to application metrics and fixed tests(BIL-2235) by @krithikravi in [#113002](https://github.com/getsentry/sentry/pull/113002)
- Subscription UI misalignment by @brendanhsentry in [#112485](https://github.com/getsentry/sentry/pull/112485)
- Fix flaky paymentForm test by awaiting button enabled state by @hubertdeng123 in [#112188](https://github.com/getsentry/sentry/pull/112188)
- Update ent trial copy by @brendanhsentry in [#110904](https://github.com/getsentry/sentry/pull/110904)

#### Cells

- Invalid invitation token or context always 404s by @lynnagara in [#112633](https://github.com/getsentry/sentry/pull/112633)
- Update controlsiloUrlPatterns by @evanpurkhiser in [#111751](https://github.com/getsentry/sentry/pull/111751)

#### Chartcuterie

- Scale up font sizes for larger Explore chart canvas by @DominikB2014 in [#112785](https://github.com/getsentry/sentry/pull/112785)
- Format y-axis labels in Explore unfurl charts by @DominikB2014 in [#112719](https://github.com/getsentry/sentry/pull/112719)
- Avoid plottable imports that break Node VM sandbox by @DominikB2014 in [#112668](https://github.com/getsentry/sentry/pull/112668)

#### Ci

- Use fixed restrict key in migrations drift pg_dumpall by @trevor-e in [#112731](https://github.com/getsentry/sentry/pull/112731)
- Bandaid fix flaky "Event loop was closed" in CI by @kenzoengineer in [#112133](https://github.com/getsentry/sentry/pull/112133)
- Use ephemeral ports for relay xdist to avoid port conflicts by @mchen-sentry in [#112026](https://github.com/getsentry/sentry/pull/112026)
- Let precommit format json files by @TkDodo in [#111874](https://github.com/getsentry/sentry/pull/111874)
- Prevent kafka consumer teardown hang with xdist by @mchen-sentry in [#111261](https://github.com/getsentry/sentry/pull/111261)
- Retry relay container start on port conflict by @mchen-sentry in [#111041](https://github.com/getsentry/sentry/pull/111041)

#### Claude Integration

- Update to newest claude headers by @sehr-m in [#112715](https://github.com/getsentry/sentry/pull/112715)
- Use installation path for Claude Code in explorer handoff by @sehr-m in [#110952](https://github.com/getsentry/sentry/pull/110952)

#### Cmdk

- Tie-break equal search scores by length by @JonasBa in [#112845](https://github.com/getsentry/sentry/pull/112845)
- Filter out async resource actions with 0 results by @JonasBa in [#112613](https://github.com/getsentry/sentry/pull/112613)

#### Codeowners

- Add coverage for markdownTextArea and clean baseline by @chromy in [#112339](https://github.com/getsentry/sentry/pull/112339)
- Show all owner names in avatar stack tooltip by @scttcper in [#110946](https://github.com/getsentry/sentry/pull/110946)
- Stringify owner IDs and add typed schema structures by @scttcper in [#110604](https://github.com/getsentry/sentry/pull/110604)

#### Coding Integrations

- Allow model specification based on api key by @sehr-m in [#112856](https://github.com/getsentry/sentry/pull/112856)
- Fix add integration button on safari by @sehr-m in [#112176](https://github.com/getsentry/sentry/pull/112176)
- Add catching for integration not found error by @sehr-m in [#111691](https://github.com/getsentry/sentry/pull/111691)

#### Conversations

- Move detail breadcrumbs to page frame top bar by @priscilawebdev in [#113035](https://github.com/getsentry/sentry/pull/113035)
- Prevent onboarding from reappearing on empty time ranges by @obostjancic in [#112789](https://github.com/getsentry/sentry/pull/112789)
- Handle [Filtered] values in conversation bubbles by @obostjancic in [#112092](https://github.com/getsentry/sentry/pull/112092)
- Sort list by timestamp in frontend by @shellmayr in [#111785](https://github.com/getsentry/sentry/pull/111785)
- Paginate conversation details to fetch all spans by @obostjancic in [#111605](https://github.com/getsentry/sentry/pull/111605)

#### Dashboards

- Use null instead of undefined for widget limits on TABLE/BIG_NUMBER by @gggritso in [#112921](https://github.com/getsentry/sentry/pull/112921)
- Show breadcrumb separator in page frame by @priscilawebdev in [#113041](https://github.com/getsentry/sentry/pull/113041)
- Skip dashboard API requests when user has no project access by @edwardgou-sentry in [#112855](https://github.com/getsentry/sentry/pull/112855)
- Disable Open in Explore for multi-query logs widgets by @DominikB2014 in [#112832](https://github.com/getsentry/sentry/pull/112832)
- Rebalance chart interval options and defaults by @gggritso in [#112562](https://github.com/getsentry/sentry/pull/112562)
- Surface lastVisited field in API response by @narsaynorath in [#112796](https://github.com/getsentry/sentry/pull/112796)
- Send current dashboard state on Seer follow-up messages by @edwardgou-sentry in [#112601](https://github.com/getsentry/sentry/pull/112601)
- Add context logging for widget mismatch errors by @edwardgou-sentry in [#112608](https://github.com/getsentry/sentry/pull/112608)
- Apply filters correctly navigating between dashboards by @mjq in [#112586](https://github.com/getsentry/sentry/pull/112586)
- Add http_error_count_percent to function blocklist by @edwardgou-sentry in [#112470](https://github.com/getsentry/sentry/pull/112470)
- Update AI prebuilt dashboards to use response model instead of request model by @edwardgou-sentry in [#112498](https://github.com/getsentry/sentry/pull/112498)
- Improve wrapping of global filter triggers by @gggritso in [#112471](https://github.com/getsentry/sentry/pull/112471)
- Send null legendType when legend breakdown is disabled by @DominikB2014 in [#112467](https://github.com/getsentry/sentry/pull/112467)
- Align sortable widget builder visualize ghost field to original field by @nikkikapadia in [#111934](https://github.com/getsentry/sentry/pull/111934)
- Render star icon header for is_starred_transaction column by @DominikB2014 in [#111885](https://github.com/getsentry/sentry/pull/111885)
- Numeric literal not registering in equations builder by @nikkikapadia in [#111793](https://github.com/getsentry/sentry/pull/111793)
- Stop passing list page query params to dashboard details by @DominikB2014 in [#111815](https://github.com/getsentry/sentry/pull/111815)
- Preserve saved global filters when URL has other filter params by @DominikB2014 in [#111800](https://github.com/getsentry/sentry/pull/111800)
- Hide prebuilt dashboards from All Dashboards list by @DominikB2014 in [#111709](https://github.com/getsentry/sentry/pull/111709)
- Copy page filters when duplicating prebuilt dashboards by @gggritso in [#111534](https://github.com/getsentry/sentry/pull/111534)
- Text widget unknown code block language by @nikkikapadia in [#111621](https://github.com/getsentry/sentry/pull/111621)
- Gate 'View span samples' cell action behind visibility-explore-view by @skaasten in [#111620](https://github.com/getsentry/sentry/pull/111620)
- Disable edit button for pre-built dashboard widgets in fullscreen by @DominikB2014 in [#111616](https://github.com/getsentry/sentry/pull/111616)
- Blank visualize fields on tables/big numbers from text widgets by @nikkikapadia in [#111440](https://github.com/getsentry/sentry/pull/111440)
- Allow number-typed tags in categorical bar X-axis by @gggritso in [#111466](https://github.com/getsentry/sentry/pull/111466)
- Fix global filter showing "All" instead of selected value by @gggritso in [#111514](https://github.com/getsentry/sentry/pull/111514)
- Ensure consistent casing in pre-built dashboard widget titles by @gggritso in [#111515](https://github.com/getsentry/sentry/pull/111515)
- Clean up column aliases and chart legends in prebuilt dashboards by @gggritso in [#111449](https://github.com/getsentry/sentry/pull/111449)
- Align backend overview queries widget filters with queries dashboard by @DominikB2014 in [#111433](https://github.com/getsentry/sentry/pull/111433)
- Use first-appearance order for chart axis assignment by @DominikB2014 in [#111411](https://github.com/getsentry/sentry/pull/111411)
- Skip conflict warning for inactive global filters by @mjq in [#111385](https://github.com/getsentry/sentry/pull/111385)
- Fix performance score widget layout and sizing by @gggritso in [#111258](https://github.com/getsentry/sentry/pull/111258)
- Handle null/undefined at top level in toPythonString by @DominikB2014 in [#111297](https://github.com/getsentry/sentry/pull/111297)
- Replace ugly red dashboard widget error states by @gggritso in [#111140](https://github.com/getsentry/sentry/pull/111140)
- Cap global filter trigger width to prevent layout shifts by @gggritso in [#111238](https://github.com/getsentry/sentry/pull/111238)
- Set breakdown legend widget limit to 3 in prebuilt configs by @DominikB2014 in [#111291](https://github.com/getsentry/sentry/pull/111291)
- Default to 10 dashboards when planDetails is null by @DominikB2014 in [#111200](https://github.com/getsentry/sentry/pull/111200)
- Fixes Create Dashboard with Seer button styling clashing with experimental badge by @edwardgou-sentry in [#111196](https://github.com/getsentry/sentry/pull/111196)
- Fix double nested query param when creating dashboard by @edwardgou-sentry in [#111197](https://github.com/getsentry/sentry/pull/111197)
- Pass widget and dashboardFilters to getFieldRenderer in all dataset configs by @DominikB2014 in [#111194](https://github.com/getsentry/sentry/pull/111194)
- Stop table rows inflating to fill widget by @priscilawebdev in [#111182](https://github.com/getsentry/sentry/pull/111182)
- Show hidden dashboards in linked dashboards list by @DominikB2014 in [#111108](https://github.com/getsentry/sentry/pull/111108)
- Populate linked dashboard in widget builder edit modal by @DominikB2014 in [#111085](https://github.com/getsentry/sentry/pull/111085)
- Copy saved filters when duplicating prebuilt dashboards by @gggritso in [#111017](https://github.com/getsentry/sentry/pull/111017)
- Prevent double HTML-escaping in chart tooltips by @gggritso in [#111022](https://github.com/getsentry/sentry/pull/111022)
- Widget footer table errors on missing value by @DominikB2014 in [#111016](https://github.com/getsentry/sentry/pull/111016)
- Fix empty interval in generated dashboards by @edwardgou-sentry in [#110998](https://github.com/getsentry/sentry/pull/110998)
- Disambiguate unaliased filters in widget legends by @gggritso in [#110908](https://github.com/getsentry/sentry/pull/110908)
- Prevent long dashboard names from overflowing in list view by @gggritso in [#110828](https://github.com/getsentry/sentry/pull/110828)
- Use firstTransactionEvent for overview onboarding conditions by @gggritso in [#110913](https://github.com/getsentry/sentry/pull/110913)
- Use normalizeUrl when navigating after pre-built dashboard duplication by @gggritso in [#110920](https://github.com/getsentry/sentry/pull/110920)
- Skip flakey widget builder test by @nikkikapadia in [#110980](https://github.com/getsentry/sentry/pull/110980)
- Preserve group-by when saving logs query as widget by @JoshuaKGoldberg in [#110855](https://github.com/getsentry/sentry/pull/110855)
- Reduce max fractional digits for number type to 4 by @DominikB2014 in [#110858](https://github.com/getsentry/sentry/pull/110858)
- Consolidate HTTP status code queries into single query by @DominikB2014 in [#110884](https://github.com/getsentry/sentry/pull/110884)

#### Deletions

- Delete GroupEnvironment before Environment during org deletion by @swartzrock in [#112868](https://github.com/getsentry/sentry/pull/112868)
- Avoid DoesNotExist crash when FK target is already deleted by @swartzrock in [#112375](https://github.com/getsentry/sentry/pull/112375)

#### Demo Mode

- Restrict GroupAi endpoints to demo orgs only by @obostjancic in [#111509](https://github.com/getsentry/sentry/pull/111509)
- Block demo users from creating organizations by @obostjancic in [#111507](https://github.com/getsentry/sentry/pull/111507)

#### Detectors

- Surface API error messages for cron detector creation by @malwilley in [#112630](https://github.com/getsentry/sentry/pull/112630)
- Make AlertRuleDetector.objects filter out pending deletion Detectors by default by @kcons in [#112550](https://github.com/getsentry/sentry/pull/112550)
- Ensure metric Detector deletion cleans up the AlertRule by @kcons in [#112425](https://github.com/getsentry/sentry/pull/112425)

#### Docs

- Replace generic_metrics dataset with events_analytics_platform by @ceorourke in [#112480](https://github.com/getsentry/sentry/pull/112480)
- Fix workflow target type unassigned API docs by @ceorourke in [#111166](https://github.com/getsentry/sentry/pull/111166)

#### Eap

- Handle contexts in trace-item attributes by @wmak in [#112524](https://github.com/getsentry/sentry/pull/112524)
- Declare http.response_status_code as integer attribute by @DominikB2014 in [#111232](https://github.com/getsentry/sentry/pull/111232)
- Replace exclusive time as attribute for count functions by @mjq in [#111176](https://github.com/getsentry/sentry/pull/111176)

#### Explore

- Increase logs infinite query maxPages when we don't have many rows locally by @JoshuaKGoldberg in [#112691](https://github.com/getsentry/sentry/pull/112691)
- Fix attribute breakdowns tooltip caching stale params and losing values by @nsdeschenes in [#112590](https://github.com/getsentry/sentry/pull/112590)
- Add !has filter when drilling down into no value group by @SafinMahmud in [#110404](https://github.com/getsentry/sentry/pull/110404)
- Derive default chart type for explore Slack unfurls by @DominikB2014 in [#112717](https://github.com/getsentry/sentry/pull/112717)
- Pass sort param for group-by explore Slack unfurls by @DominikB2014 in [#112704](https://github.com/getsentry/sentry/pull/112704)
- Disable metric selector highlight scrolling by @nsdeschenes in [#111233](https://github.com/getsentry/sentry/pull/111233)
- Contain traces table overflow by @nsdeschenes in [#111183](https://github.com/getsentry/sentry/pull/111183)
- Gate explore links behind visibility-explore-view by @skaasten in [#111523](https://github.com/getsentry/sentry/pull/111523)
- Always show selected metric first in metric selector by @nsdeschenes in [#111448](https://github.com/getsentry/sentry/pull/111448)
- Confidence footer messages should pluralize zero by @narsaynorath in [#111436](https://github.com/getsentry/sentry/pull/111436)
- Try catch the entire migration by @wmak in [#111321](https://github.com/getsentry/sentry/pull/111321)
- Try catch the snuba call by @wmak in [#111214](https://github.com/getsentry/sentry/pull/111214)
- Migration bug by @wmak in [#111149](https://github.com/getsentry/sentry/pull/111149)
- Remove empty field params from Explore URL by @nsdeschenes in [#110655](https://github.com/getsentry/sentry/pull/110655)

#### Grouping

- Fix ip parameterization tests by @lobsterkatie in [#112637](https://github.com/getsentry/sentry/pull/112637)
- Fix IPv6 parameterization by @lobsterkatie in [#111979](https://github.com/getsentry/sentry/pull/111979)
- Handle callback false positives in parameterization by @lobsterkatie in [#111948](https://github.com/getsentry/sentry/pull/111948)
- Fix and expand hex parameterization by @lobsterkatie in [#111969](https://github.com/getsentry/sentry/pull/111969)
- Fix git sha parameterization test by @lobsterkatie in [#111964](https://github.com/getsentry/sentry/pull/111964)
- Fix int parameterization bugs by @lobsterkatie in [#111870](https://github.com/getsentry/sentry/pull/111870)
- Fix kitchen time regex bugs by @lobsterkatie in [#111807](https://github.com/getsentry/sentry/pull/111807)

#### Incidents

- Compute resolution correctly in metric issue detector by @kcons in [#112623](https://github.com/getsentry/sentry/pull/112623)
- Fix 60x resolution inflation when switching to DYNAMIC detection without explicit time_window by @kcons in [#112695](https://github.com/getsentry/sentry/pull/112695)

#### Insights

- Handle null span.group in Backend Insights widgets by @gggritso in [#112379](https://github.com/getsentry/sentry/pull/112379)
- Link trace table on AI agent dashboard to trace view by @DominikB2014 in [#111438](https://github.com/getsentry/sentry/pull/111438)
- Show <0.0001 for very small numeric values instead of 0 by @gggritso in [#111228](https://github.com/getsentry/sentry/pull/111228)
- Right-align perf score empty state in transactions table by @gggritso in [#111222](https://github.com/getsentry/sentry/pull/111222)
- Use span.duration in HTTP and FE dashboards by @mjq in [#111153](https://github.com/getsentry/sentry/pull/111153)
- Use span.duration in Queries dashboards by @mjq in [#111125](https://github.com/getsentry/sentry/pull/111125)
- Respect usePlatformizedView=0 query param by @DominikB2014 in [#111094](https://github.com/getsentry/sentry/pull/111094)
- Filter SDK update alert by package name by @priscilawebdev in [#110968](https://github.com/getsentry/sentry/pull/110968)
- Fix agents trace table horizontal overflow and empty state layout by @priscilawebdev in [#110843](https://github.com/getsentry/sentry/pull/110843)

#### Integrations

- Hide Fix with Seer button on Slack unfurls by @leeandher in [#112940](https://github.com/getsentry/sentry/pull/112940)
- Set sample_rate=1.0 on repo sync metrics by @wedamija in [#112861](https://github.com/getsentry/sentry/pull/112861)
- Fix security vulnerabilities in Jira by @ceorourke in [#112409](https://github.com/getsentry/sentry/pull/112409)
- Handle null items in organization integrations serialization by @leeandher in [#112391](https://github.com/getsentry/sentry/pull/112391)
- Disallow modifying a repo's integration by @cmanallen in [#111739](https://github.com/getsentry/sentry/pull/111739)
- Handle forbidden errors in integration proxy by @chromy in [#111123](https://github.com/getsentry/sentry/pull/111123)
- Handle unauthorized and rate-limited errors in integration proxy by @chromy in [#111030](https://github.com/getsentry/sentry/pull/111030)

#### Issues

- Hide line numbers on non-in-app stack trace frames by @scttcper in [#112885](https://github.com/getsentry/sentry/pull/112885)
- Remove unsed group prop from ContextCard by @scttcper in [#112816](https://github.com/getsentry/sentry/pull/112816)
- Exclude gen_ai ops from consecutive HTTP detector by @mrduncan in [#112517](https://github.com/getsentry/sentry/pull/112517)
- Prevent double fetch of group search view endpoint by @scttcper in [#112324](https://github.com/getsentry/sentry/pull/112324)
- Guard against NaN in supergroup row stats during loading by @scttcper in [#112294](https://github.com/getsentry/sentry/pull/112294)
- Include exception header in copy-as-text for new stack trace by @scttcper in [#111965](https://github.com/getsentry/sentry/pull/111965)
- Redesign new stack trace grid by @scttcper in [#112059](https://github.com/getsentry/sentry/pull/112059)
- Avoid supergroup refetches on row removal by @scttcper in [#111865](https://github.com/getsentry/sentry/pull/111865)
- Add stack trace column gap between coverage border and source code by @scttcper in [#111556](https://github.com/getsentry/sentry/pull/111556)
- Move coverage legend above stack trace by @scttcper in [#111494](https://github.com/getsentry/sentry/pull/111494)
- Apply issue.id filter to postgres queryset candidates by @scttcper in [#110757](https://github.com/getsentry/sentry/pull/110757)

#### Logs

- Adjust back-to-top containers to window width resize by @JoshuaKGoldberg in [#112374](https://github.com/getsentry/sentry/pull/112374)
- Don't render numbers with >13 digits using commas by @JoshuaKGoldberg in [#112354](https://github.com/getsentry/sentry/pull/112354)
- Port log detail buttons to Button priority=transparent by @JoshuaKGoldberg in [#111824](https://github.com/getsentry/sentry/pull/111824)
- Prevent cell action menu clicks from toggling row visibility by @JoshuaKGoldberg in [#111717](https://github.com/getsentry/sentry/pull/111717)

#### Metrics

- Debounce metric selector attribute queries by @nsdeschenes in [#112834](https://github.com/getsentry/sentry/pull/112834)
- Prevent metric selector hover from stealing search input focus by @nsdeschenes in [#111292](https://github.com/getsentry/sentry/pull/111292)

#### Modal

- Avoid modal shift by @natemoo-re in [#111666](https://github.com/getsentry/sentry/pull/111666)
- Restore focus to trigger element when modal closes by @JonasBa in [#111542](https://github.com/getsentry/sentry/pull/111542)

#### Nav

- Match secondary page-frame nav link :active color to primary by @JonasBa in [#111664](https://github.com/getsentry/sentry/pull/111664)
- Replace aria-selected with aria-current on navigation links by @JonasBa in [#111278](https://github.com/getsentry/sentry/pull/111278)
- Cap list item height for page-frame secondary nav variants by @JonasBa in [#111195](https://github.com/getsentry/sentry/pull/111195)
- Update stale route links causing unexpected navigation redirects by @JonasBa in [#110498](https://github.com/getsentry/sentry/pull/110498)

#### Notifications

- Handle null provider in organization integrations filter by @mtopo27 in [#112368](https://github.com/getsentry/sentry/pull/112368)
- Update alert rule URLs to use /issues/alerts/ prefix by @JonasBa in [#110499](https://github.com/getsentry/sentry/pull/110499)

#### Np

- Updates issue notification data factory to select correct handler class by @GabeVillalobos in [#112892](https://github.com/getsentry/sentry/pull/112892)
- Adds attachment to Slack render type, updates metric renderer by @GabeVillalobos in [#112312](https://github.com/getsentry/sentry/pull/112312)
- Updates IssueNotificationData, render logic to correctly extract action data by @GabeVillalobos in [#111689](https://github.com/getsentry/sentry/pull/111689)

#### Onboarding

- Add step for OpenAI based framework for conversation ID sources by @constantinius in [#112781](https://github.com/getsentry/sentry/pull/112781)
- Change agent monitoring empty state to use openai instead of openai-agents by @constantinius in [#112344](https://github.com/getsentry/sentry/pull/112344)
- Pass accessibleOnly to SCM repo search by @jaydgoss in [#111895](https://github.com/getsentry/sentry/pull/111895)
- Wrap connected tag in Container to constrain width by @jaydgoss in [#111936](https://github.com/getsentry/sentry/pull/111936)
- Handle repo selection race with background link_all_repos by @jaydgoss in [#111716](https://github.com/getsentry/sentry/pull/111716)
- Reset downstream state when repository changes by @jaydgoss in [#111479](https://github.com/getsentry/sentry/pull/111479)

#### Performance

- Restore feature parity on EAP Sampled Events tab by @mjq in [#111891](https://github.com/getsentry/sentry/pull/111891)
- Bring back user column on segment span tables by @mjq in [#111351](https://github.com/getsentry/sentry/pull/111351)
- Use spans dataset for EAP txn summary search bar by @mjq in [#111299](https://github.com/getsentry/sentry/pull/111299)

#### Pipeline

- Redirect to org picker when API pipeline is active during GitHub install by @evanpurkhiser in [#112941](https://github.com/getsentry/sentry/pull/112941)
- Handle pipeline error responses in usePipeline hook by @evanpurkhiser in [#112932](https://github.com/getsentry/sentry/pull/112932)
- Add CSP nonce to trampoline inline script by @evanpurkhiser in [#112149](https://github.com/getsentry/sentry/pull/112149)
- Typing in oauth2 by @evanpurkhiser in [#111754](https://github.com/getsentry/sentry/pull/111754)
- Handle deleted provider model in unpack_state by @evanpurkhiser in [#111680](https://github.com/getsentry/sentry/pull/111680)

#### Preprod

- Hide approve button on status check when snapshots already approved by @NicoHinderling in [#112978](https://github.com/getsentry/sentry/pull/112978)
- Reapply snapshot PR comment task with TASKWORKER_IMPORTS fix by @runningcode in [#112900](https://github.com/getsentry/sentry/pull/112900)
- Use odiff CLI mode to work around server-mode false match bug by @NicoHinderling in [#112829](https://github.com/getsentry/sentry/pull/112829)
- Log when PR comment is skipped due to no installable artifacts by @runningcode in [#112780](https://github.com/getsentry/sentry/pull/112780)
- Allow branch ref ellipsis in mobile builds table (EME-882) by @cameroncooke in [#112774](https://github.com/getsentry/sentry/pull/112774)
- Add organization_slug to snapshot log statements by @NicoHinderling in [#112499](https://github.com/getsentry/sentry/pull/112499)
- Add tab=size to size status check settings URL by @mtopo27 in [#112352](https://github.com/getsentry/sentry/pull/112352)
- Use RPC service for cross-silo user lookup in snapshot endpoint by @NicoHinderling in [#112129](https://github.com/getsentry/sentry/pull/112129)
- Use recompare endpoint and add user-facing status check rerun by @NicoHinderling in [#112084](https://github.com/getsentry/sentry/pull/112084)
- Speed up error page on snapshots and improve error UI by @NicoHinderling in [#112076](https://github.com/getsentry/sentry/pull/112076)
- Exclude snapshot artifacts from size status check (EME-962) by @runningcode in [#111981](https://github.com/getsentry/sentry/pull/111981)
- Post NEUTRAL status check when all artifacts are skipped by @mtopo27 in [#111811](https://github.com/getsentry/sentry/pull/111811)
- Prefer display_name for snapshot sidebar labels by @runningcode in [#111779](https://github.com/getsentry/sentry/pull/111779)
- Align relative_diff extract_value with frontend percentage convention by @mtopo27 in [#111682](https://github.com/getsentry/sentry/pull/111682)
- Differentiate snapshot status check when base_sha is unset by @NicoHinderling in [#111658](https://github.com/getsentry/sentry/pull/111658)
- Show total image count in snapshot sidebar sections by @NicoHinderling in [#111576](https://github.com/getsentry/sentry/pull/111576)
- Use content_hash as canonical image key for deduplication by @NicoHinderling in [#111467](https://github.com/getsentry/sentry/pull/111467)
- Fix typecheck errors from monitor filters reland by @chromy in [#111142](https://github.com/getsentry/sentry/pull/111142)

#### Profiling

- Render flamechart title only in top bar by @JonasBa in [#113018](https://github.com/getsentry/sentry/pull/113018)
- Query `spans` instead of `discover` on landing page by @mjq in [#112251](https://github.com/getsentry/sentry/pull/112251)

#### Releases

- Support environment filter in the query param by @skaasten in [#112805](https://github.com/getsentry/sentry/pull/112805)
- Validate project access in release details endpoint by @michelletran-sentry in [#112831](https://github.com/getsentry/sentry/pull/112831)
- Prevent false positive regressions when `follows_semver` flips after resolution by @shashjar in [#111584](https://github.com/getsentry/sentry/pull/111584)
- Add gap between release detail header action groups by @scttcper in [#111581](https://github.com/getsentry/sentry/pull/111581)

#### Replays

- Use Dataset enum instead of string comparisons in replay counts by @scttcper in [#111954](https://github.com/getsentry/sentry/pull/111954)
- Update stats link to new path by @priscilawebdev in [#111778](https://github.com/getsentry/sentry/pull/111778)

#### Repos

- Make it clearer when repos are disabled or connected properly by @ryan953 in [#111764](https://github.com/getsentry/sentry/pull/111764)
- Filter null integrations in useScmIntegrationTreeData by @ryan953 in [#110868](https://github.com/getsentry/sentry/pull/110868)

#### Scraps

- Status indicator layering by @natemoo-re in [#112197](https://github.com/getsentry/sentry/pull/112197)
- Omit `type` from `SVGIconProps` by @natemoo-re in [#111353](https://github.com/getsentry/sentry/pull/111353)

#### Search

- Clarify is:linked/is:unlinked filter descriptions by @cvxluo in [#111224](https://github.com/getsentry/sentry/pull/111224)
- Render negated multi-value filters with and by @nsdeschenes in [#111203](https://github.com/getsentry/sentry/pull/111203)
- Assign return value of date.replace() in parse_iso_timestamp by @karesansui-u in [#110504](https://github.com/getsentry/sentry/pull/110504)

#### Seer

- Use standard hotkey for minimize behavior, remove `tab` hijacking by @natemoo-re in [#112993](https://github.com/getsentry/sentry/pull/112993)
- Feature flag Seer RPC preference reads by @srest2021 in [#112865](https://github.com/getsentry/sentry/pull/112865)
- Dont show the Seer subscription banner to orgs with managed subscriptions by @ryan953 in [#112810](https://github.com/getsentry/sentry/pull/112810)
- Set a min height for the virtual scrolling Code Review settings table by @ryan953 in [#112814](https://github.com/getsentry/sentry/pull/112814)
- Prevent horizontal scrollbar flash on block entry animation by @aliu39 in [#112823](https://github.com/getsentry/sentry/pull/112823)
- Clear cache for /seer/onboarding-check/ api response, and iterate on seer config reminder by @ryan953 in [#112643](https://github.com/getsentry/sentry/pull/112643)
- Decouple create-pr setting from stopping point by @ryan953 in [#112646](https://github.com/getsentry/sentry/pull/112646)
- Convert Seer Repo Details form to new form system, clear onboarding-check cache by @ryan953 in [#112645](https://github.com/getsentry/sentry/pull/112645)
- Add links to manage your agent integrations, by @ryan953 in [#112642](https://github.com/getsentry/sentry/pull/112642)
- Populate referrer field in agent_handoff analytics from launch path by @JoshFerge in [#112523](https://github.com/getsentry/sentry/pull/112523)
- Make widget conditions readable for the Seer Explorer agent by @Mihir-Mavalankar in [#112502](https://github.com/getsentry/sentry/pull/112502)
- Fix spacing on the Seer overview page by @ryan953 in [#112407](https://github.com/getsentry/sentry/pull/112407)
- Dual-delete Seer project preferences on integration uninstall by @srest2021 in [#112296](https://github.com/getsentry/sentry/pull/112296)
- Add dual-write when project preference doesn't exist, and pass full preference to autofix request by @srest2021 in [#111966](https://github.com/getsentry/sentry/pull/111966)
- Don't read from org defaults when creating default project preference by @srest2021 in [#111967](https://github.com/getsentry/sentry/pull/111967)
- Align project grouping record deletion with Seer API by @sentry in [#111756](https://github.com/getsentry/sentry/pull/111756)
- Fix a typo, no dash by @ryan953 in [#111558](https://github.com/getsentry/sentry/pull/111558)
- Render explorer panel when page-frame feature is enabled by @JonasBa in [#111502](https://github.com/getsentry/sentry/pull/111502)
- Fix race condition in Seer settings dual-write to Sentry DB by @srest2021 in [#111477](https://github.com/getsentry/sentry/pull/111477)
- Fix tab normalization so Seer Settings tab hrefs are correct by @ryan953 in [#111279](https://github.com/getsentry/sentry/pull/111279)
- Remove noisy capture_exception for expected ObjectDoesNotExist by @aliu39 in [#111257](https://github.com/getsentry/sentry/pull/111257)
- Handle missing OrganizationMember in collect_user_org_context by @aliu39 in [#111255](https://github.com/getsentry/sentry/pull/111255)
- Rename Autofix Handoff option to be: No Handoff by @ryan953 in [#111118](https://github.com/getsentry/sentry/pull/111118)
- Handle enum deserialization in autofix tasks by @sentry in [#110959](https://github.com/getsentry/sentry/pull/110959)

#### Seer Explorer

- Display correct label for metrics queries by @isaacwang-sentry in [#111810](https://github.com/getsentry/sentry/pull/111810)
- Prevent optimistic state clearing on rethink with ame message by @Mihir-Mavalankar in [#111721](https://github.com/getsentry/sentry/pull/111721)
- Keep optimistic thinking block until assistant responds by @Mihir-Mavalankar in [#111685](https://github.com/getsentry/sentry/pull/111685)

#### Settings

- Portal SettingsPageHeader action to TopBar in page frame layout by @priscilawebdev in [#112771](https://github.com/getsentry/sentry/pull/112771)
- Surface slug validation errors on org settings form by @cvxluo in [#112556](https://github.com/getsentry/sentry/pull/112556)
- Invalidate cache in notification settings by @natemoo-re in [#112161](https://github.com/getsentry/sentry/pull/112161)
- Widen teams table actions column by @cvxluo in [#111683](https://github.com/getsentry/sentry/pull/111683)

#### Slack

- Update explore unfurl chart size to 1200x400 by @DominikB2014 in [#112842](https://github.com/getsentry/sentry/pull/112842)
- Include y-axis aggregate in Explore unfurl title by @DominikB2014 in [#112693](https://github.com/getsentry/sentry/pull/112693)
- Pass interval param through Explore unfurl URL parsing by @DominikB2014 in [#112676](https://github.com/getsentry/sentry/pull/112676)
- Cast user id to string in set_user call by @DominikB2014 in [#112534](https://github.com/getsentry/sentry/pull/112534)
- Use set_user for user context in Slack event webhook by @DominikB2014 in [#112530](https://github.com/getsentry/sentry/pull/112530)

#### Snapshots

- Fix staff auth blocking initial size comparison selection by @NicoHinderling in [#112739](https://github.com/getsentry/sentry/pull/112739)
- Disable CSS animations for snapshot testing by @rbro112 in [#111485](https://github.com/getsentry/sentry/pull/111485)
- Use explicit HEAD rather than merge commit for frontend snapshots by @rbro112 in [#111202](https://github.com/getsentry/sentry/pull/111202)

#### Stories

- Adjust search scroll behavior by @natemoo-re in [#112045](https://github.com/getsentry/sentry/pull/112045)
- Avoid circular dependencies on `Button` by @natemoo-re in [#112039](https://github.com/getsentry/sentry/pull/112039)

#### Supergroups

- Supergroup drawer checkbox, closing fixes by @scttcper in [#112999](https://github.com/getsentry/sentry/pull/112999)
- Improve backfill task resilience and observability by @yuvmen in [#112968](https://github.com/getsentry/sentry/pull/112968)
- Scope matched groups query to current page by @scttcper in [#112864](https://github.com/getsentry/sentry/pull/112864)
- Filter resolved groups from Seer response by @scttcper in [#112403](https://github.com/getsentry/sentry/pull/112403)
- Use placeholder data to avoid loading flash on group changes by @scttcper in [#112202](https://github.com/getsentry/sentry/pull/112202)

#### Test

- Stabilize flaky ResultsSearchQueryBuilder spec by @JoshuaKGoldberg in [#111916](https://github.com/getsentry/sentry/pull/111916)
- Stabilize flaky allMonitors select all query results test by @JoshuaKGoldberg in [#111901](https://github.com/getsentry/sentry/pull/111901)
- Stabilize flaky EventsSearchBar has: dropdown test by @JoshuaKGoldberg in [#111903](https://github.com/getsentry/sentry/pull/111903)
- Stabilize flaky SpansSearchBar onSearch test by @JoshuaKGoldberg in [#111904](https://github.com/getsentry/sentry/pull/111904)
- Stabilize flaky EventReplay inline onboarding test by @JoshuaKGoldberg in [#111902](https://github.com/getsentry/sentry/pull/111902)
- Stabilize flaky useReplaysFromIssue assertion test by @JoshuaKGoldberg in [#111899](https://github.com/getsentry/sentry/pull/111899)
- Open overlays immediately when in test mode by @JoshuaKGoldberg in [#112196](https://github.com/getsentry/sentry/pull/112196)
- Upgrade framer motion, Disable animations in tests by @scttcper in [#112270](https://github.com/getsentry/sentry/pull/112270)
- Stabilize flaky EventGroupingInfo rendering test by @JoshuaKGoldberg in [#111906](https://github.com/getsentry/sentry/pull/111906)

#### Tests

- Fix flaky AI conversations tests exceeding Snuba retention by @mchen-sentry in [#112612](https://github.com/getsentry/sentry/pull/112612)
- Fix flaky homepage_query bucket count assertion by @mchen-sentry in [#111148](https://github.com/getsentry/sentry/pull/111148)

#### Trace

- Preserve EAP transaction parentage by @nsdeschenes in [#112492](https://github.com/getsentry/sentry/pull/112492)
- Remove trace spans format by @wmak in [#111088](https://github.com/getsentry/sentry/pull/111088)
- Retry trace endpoints with wider window when response is empty by @nsdeschenes in [#110634](https://github.com/getsentry/sentry/pull/110634)
- Improve mobile experience for AI spans view by @priscilawebdev in [#111181](https://github.com/getsentry/sentry/pull/111181)
- Add sentry dependency to the explore migration by @wmak in [#111013](https://github.com/getsentry/sentry/pull/111013)

#### Tracemetrics

- Pass draggable attributes to drag button by @narsaynorath in [#112981](https://github.com/getsentry/sentry/pull/112981)
- Prevent header text wrapping in samples table during loading by @nsdeschenes in [#112576](https://github.com/getsentry/sentry/pull/112576)
- Allow delete for big number when more than 1 field by @narsaynorath in [#111791](https://github.com/getsentry/sentry/pull/111791)
- Prevent widget builder from querying before ready by @narsaynorath in [#111665](https://github.com/getsentry/sentry/pull/111665)
- Update aggregate defaults in dashboards by @narsaynorath in [#111521](https://github.com/getsentry/sentry/pull/111521)
- Check type and unit objects for yAxis by @narsaynorath in [#111132](https://github.com/getsentry/sentry/pull/111132)
- Legend labels should be labelled uniquely with different aggs by @narsaynorath in [#111114](https://github.com/getsentry/sentry/pull/111114)
- Open in explore for multi metrics opens each by @narsaynorath in [#110993](https://github.com/getsentry/sentry/pull/110993)
- Update filter bar to handle multiple metrics by @narsaynorath in [#111011](https://github.com/getsentry/sentry/pull/111011)
- Support multi metric selection in y-axes by @narsaynorath in [#110983](https://github.com/getsentry/sentry/pull/110983)

#### Typing

- Type post-process by @thetruecpaul in [#112203](https://github.com/getsentry/sentry/pull/112203)
- Codemod `-> None` to a bunch of tests by @thetruecpaul in [#111812](https://github.com/getsentry/sentry/pull/111812)

#### Ui

- Fix the logs page divider by @priscilawebdev in [#113024](https://github.com/getsentry/sentry/pull/113024)
- Fix "Missing queryFn" error in useAggregatedQueryKeys by @scttcper in [#112488](https://github.com/getsentry/sentry/pull/112488)
- Remove overflow hidden from GuidedSteps StepDetails by @priscilawebdev in [#112336](https://github.com/getsentry/sentry/pull/112336)
- Increase node memory limit locally, decrease ci by @scttcper in [#112066](https://github.com/getsentry/sentry/pull/112066)
- Prevent code block overflow in GuidedSteps onboarding by @nikolovlazar in [#111657](https://github.com/getsentry/sentry/pull/111657)
- Use design system Text components for organization role field by @JonasBa in [#111624](https://github.com/getsentry/sentry/pull/111624)
- Preserve Seer paths in URL normalization by @scttcper in [#111317](https://github.com/getsentry/sentry/pull/111317)
- Preserve seer paths in url normalization by @scttcper in [#111322](https://github.com/getsentry/sentry/pull/111322)
- Fix ScrollCarousel story crash in production by @priscilawebdev in [#111184](https://github.com/getsentry/sentry/pull/111184)

#### Workflow

- Replace `getSantry` with dedicated GH app for api schema workflow by @Jeffreyhung in [#111720](https://github.com/getsentry/sentry/pull/111720)
- Prevent IndexError when serializing workflows without WDCGs by @kcons in [#110915](https://github.com/getsentry/sentry/pull/110915)

#### Workflows

- Don't return Workflows while they're being deleted by @kcons in [#112541](https://github.com/getsentry/sentry/pull/112541)
- Rule.status derived from snooze, not Workflow.status by @kcons in [#112302](https://github.com/getsentry/sentry/pull/112302)
- Add detector group caching in ensure_association_with_detector by @klochek in [#111714](https://github.com/getsentry/sentry/pull/111714)
- Add single-written workflow engine support to ProjectAlertRuleDetailsEndpoint by @kcons in [#111379](https://github.com/getsentry/sentry/pull/111379)
- Make TTL a definitional part of CacheMapping rather than an optional param by @kcons in [#111376](https://github.com/getsentry/sentry/pull/111376)
- Don't crash when no action filter are provided by @kcons in [#110905](https://github.com/getsentry/sentry/pull/110905)

#### Other

- (_admin) Dedupe GroupSubscription conflicts during user merge by @billyvg in [#111566](https://github.com/getsentry/sentry/pull/111566)
- (admin) Use supported Sentry app badge variant by @dcramer in [#112086](https://github.com/getsentry/sentry/pull/112086)
- (agent-monitoring) Don't extrapolate span errors in traces table by @shellmayr in [#110837](https://github.com/getsentry/sentry/pull/110837)
- (api) Avoid double query in prompts-activity single-feature path by @scttcper in [#112592](https://github.com/getsentry/sentry/pull/112592)
- (apiOptions) Prevent empty options from being included in queryKey by @TkDodo in [#112370](https://github.com/getsentry/sentry/pull/112370)
- (arithmetic) Handle quoted search args in arithmetic by @wmak in [#112962](https://github.com/getsentry/sentry/pull/112962)
- (assisted-query) Add Metrics to search strategy help text by @isaacwang-sentry in [#111796](https://github.com/getsentry/sentry/pull/111796)
- (attributes) Validate user tag attributes exist in storage by @nsdeschenes in [#110745](https://github.com/getsentry/sentry/pull/110745)
- (bitbucket) Fetch all repository pages from Bitbucket Cloud API by @jaydgoss in [#112514](https://github.com/getsentry/sentry/pull/112514)
- (cache) Ensure per-thread pymemcache clients in ReconnectingMemcache by @gricha in [#111545](https://github.com/getsentry/sentry/pull/111545)
- (code-mappings) Remove dead commit context cache clearing by @romtsn in [#111611](https://github.com/getsentry/sentry/pull/111611)
- (context engine) Remove the span in the loop by @Mihir-Mavalankar in [#111428](https://github.com/getsentry/sentry/pull/111428)
- (context engine tasks) Fix stale task names after module move to sentry/tasks/seer/ by @Mihir-Mavalankar in [#111589](https://github.com/getsentry/sentry/pull/111589)
- (copilot) Update models for GitHub Copilot Tasks API field migrations by @JoshFerge in [#111890](https://github.com/getsentry/sentry/pull/111890)
- (cross-events) Enable raw-search replacement by @nsdeschenes in [#112099](https://github.com/getsentry/sentry/pull/112099)
- (csp) Patch zod to remove CSP violation by @natemoo-re in [#112860](https://github.com/getsentry/sentry/pull/112860)
- (dart) Safe field access by @jjbayer in [#112661](https://github.com/getsentry/sentry/pull/112661)
- (dif) Allow ProGuard reupload clones in assemble by @szokeasaurusrex in [#110760](https://github.com/getsentry/sentry/pull/110760)
- (drawer) Align drawer header with page frame header by @priscilawebdev in [#112898](https://github.com/getsentry/sentry/pull/112898)
- (dynamic-grouping) Adjust supergroup drawer header by @scttcper in [#112874](https://github.com/getsentry/sentry/pull/112874)
- (errors) Add alpha badge to navigation bar by @nikkikapadia in [#111825](https://github.com/getsentry/sentry/pull/111825)
- (eslint) Replace untyped default-case and consistent-return with typed switch-exhaustiveness-check by @JoshuaKGoldberg in [#109743](https://github.com/getsentry/sentry/pull/109743)
- (eventstore) Fix timestamp conversion logic by @kcons in [#111154](https://github.com/getsentry/sentry/pull/111154)
- (explorer) Use issue.id filter for event timeseries by @aliu39 in [#112078](https://github.com/getsentry/sentry/pull/112078)
- (footer) Use `StatusIndicator` component by @natemoo-re in [#111548](https://github.com/getsentry/sentry/pull/111548)
- (form) Add missing busy state for submit button by @TkDodo in [#110833](https://github.com/getsentry/sentry/pull/110833)
- (forms) Reset form after successful mutation for forms that stay on page by @TkDodo in [#111204](https://github.com/getsentry/sentry/pull/111204)
- (github) Add accessibleOnly param to scope repo search to installation repos by @jaydgoss in [#111892](https://github.com/getsentry/sentry/pull/111892)
- (github_copilot) Handle new task API response format by @JoshFerge in [#110970](https://github.com/getsentry/sentry/pull/110970)
- (hybrid-cloud) Add projectkey-cell-mappings to control silo URL patterns by @NicoHinderling in [#112152](https://github.com/getsentry/sentry/pull/112152)
- (iswf) Updates the display label for alerts to use Workflow by default, when available by @GabeVillalobos in [#112887](https://github.com/getsentry/sentry/pull/112887)
- (knip) Enable official mdx plugin by @natemoo-re in [#111250](https://github.com/getsentry/sentry/pull/111250)
- (lint) Close S016 loophole for attribute-access ThreadPoolExecutor by @gricha in [#112170](https://github.com/getsentry/sentry/pull/112170)
- (models) Break infinite recursion in GroupHash repr by @bmckerry in [#110902](https://github.com/getsentry/sentry/pull/110902)
- (nextjs-insights) Add extraction pattern type and adapt for new SDK versions by @shellmayr in [#112456](https://github.com/getsentry/sentry/pull/112456)
- (oauth) Preserve session payload across cycle_key() in authorize flow by @sentry in [#111738](https://github.com/getsentry/sentry/pull/111738)
- (ownership) Handle ownership rule owners without an id by @scttcper in [#112321](https://github.com/getsentry/sentry/pull/112321)
- (pageFilters) Reset modifier key state on window blur in project selector by @scttcper in [#112830](https://github.com/getsentry/sentry/pull/112830)
- (processing-errors) Fix bug in `produce_processing_errors_to_eap` by @wedamija in [#112012](https://github.com/getsentry/sentry/pull/112012)
- (profile) Move breadcrumbs into header by @TkDodo in [#113044](https://github.com/getsentry/sentry/pull/113044)
- (project-filters) Handle 'All Projects' display for users with no member projects by @JonasBa in [#111329](https://github.com/getsentry/sentry/pull/111329)
- (prompts-activity) Allow org members to write to prompts-activity by @malwilley in [#112738](https://github.com/getsentry/sentry/pull/112738)
- (query) Update notifyManager scheduler to use queueMicrotask by @TkDodo in [#111187](https://github.com/getsentry/sentry/pull/111187)
- (rpc) Fix seer RPC exception handling to default to 500 and preserve rest APIException by @aliu39 in [#112435](https://github.com/getsentry/sentry/pull/112435)
- (sandbox) Don't show warning about account not belonging to org on sandbox by @shellmayr in [#110971](https://github.com/getsentry/sentry/pull/110971)
- (scm) Guard LoadingReposMessage so that a message always appears by @ryan953 in [#110893](https://github.com/getsentry/sentry/pull/110893)
- (search-query-builder) Remove AND/OR suggestions when logical operators are disallowed by @malwilley in [#111480](https://github.com/getsentry/sentry/pull/111480)
- (seer-slack) Use feature flag for extended slack scopes by @alexsohn1126 in [#112102](https://github.com/getsentry/sentry/pull/112102)
- (skills) Replace invalid `${CLAUDE_SKILL_ROOT}` with bare relative paths by @jonathanhefner in [#111048](https://github.com/getsentry/sentry/pull/111048)
- (spans) Exclude segment span from breakdown computation by @mjq in [#111520](https://github.com/getsentry/sentry/pull/111520)
- (spans-migration) Make script to migrate the AM1 metrics queries to transactions by @nikkikapadia in [#112621](https://github.com/getsentry/sentry/pull/112621)
- (st) Add src/sentry/constants.py to full_suite_triggers by @joshuarli in [#111922](https://github.com/getsentry/sentry/pull/111922)
- (suspect-commits) Skip commit age filtering for demo/sandbox orgs by @maxkosty in [#110935](https://github.com/getsentry/sentry/pull/110935)
- (tasks) Add sentry.workflow_engine.tasks.cleanup to TASKWORKER_IMPORTS by @kcons in [#111585](https://github.com/getsentry/sentry/pull/111585)
- (teams) Deduplicate project features list by @scttcper in [#112326](https://github.com/getsentry/sentry/pull/112326)
- (textarea) Use correct prop for minRows in autosized textarea by @malwilley in [#112288](https://github.com/getsentry/sentry/pull/112288)
- (trace-waterfall) Fix collapsed transaction indentation in trace waterfall by @nsdeschenes in [#112912](https://github.com/getsentry/sentry/pull/112912)
- (traces) Align log table contents to start, regardless of height by @JoshuaKGoldberg in [#112495](https://github.com/getsentry/sentry/pull/112495)
- (txn_summary) Implement Web Vitals chart & sidebar for EAP by @mjq in [#112005](https://github.com/getsentry/sentry/pull/112005)
- (uptime) Add default 2xx status assertion to auto-detected monitors by @evanpurkhiser in [#110826](https://github.com/getsentry/sentry/pull/110826)
- (users) Default theme preference to system instead of light by @gricha in [#111324](https://github.com/getsentry/sentry/pull/111324)
- (vulnerability) Update action-add-labels version by @Jeffreyhung in [#112207](https://github.com/getsentry/sentry/pull/112207)
- (web_vitals) Add z-index to `PerformanceScoreRingTooltip` by @mjq in [#112111](https://github.com/getsentry/sentry/pull/112111)
- (webhooks) New task for metric alerts to fire in process by @Christinarlong in [#112234](https://github.com/getsentry/sentry/pull/112234)
- (widgets) Add error boundary to widget footer by @priscilawebdev in [#110506](https://github.com/getsentry/sentry/pull/110506)
- (workflow-engine) Handle non-numeric DataCondition comparisons in combined-rules serializer by @kcons in [#111743](https://github.com/getsentry/sentry/pull/111743)
- (worklows) More accurate legacy model use tracking by @kcons in [#110934](https://github.com/getsentry/sentry/pull/110934)
- Don't skip cache reload for project options by @loewenheim in [#112806](https://github.com/getsentry/sentry/pull/112806)
- Fix merge_users failing on IntegrityError by @markstory in [#111882](https://github.com/getsentry/sentry/pull/111882)
- Selective dispatch should target backend-selective.yml by @joshuarli in [#111256](https://github.com/getsentry/sentry/pull/111256)
- Add xs spacing between compactSelect labels and +N badges by @TkDodo in [#111201](https://github.com/getsentry/sentry/pull/111201)
- Remove min-width constraint from IssueViewQueryCount by @JonasBa in [#111165](https://github.com/getsentry/sentry/pull/111165)
- Revert "feat(ACI): Make rule stats and group history endpoints backwards compatible (#110282)" by @kcons in [#111038](https://github.com/getsentry/sentry/pull/111038)
- Avoid KeyError when reading SDK metadata by @markstory in [#110896](https://github.com/getsentry/sentry/pull/110896)

### Documentation 📚

#### Agents

- Add dev server URLs and dev-ui proxy details by @sergical in [#112395](https://github.com/getsentry/sentry/pull/112395)
- Update API call examples to use TanStack Query with apiOptions by @TkDodo in [#111782](https://github.com/getsentry/sentry/pull/111782)

#### Other

- (dotnet) Stable Metrics APIs by @Flash0ver in [#110636](https://github.com/getsentry/sentry/pull/110636)
- (oauth) Add RFC references to device endpoints by @dcramer in [#110909](https://github.com/getsentry/sentry/pull/110909)

### Internal Changes 🔧

#### ⚡️

- Enable `sortPackageJson` by @natemoo-re in [#111243](https://github.com/getsentry/sentry/pull/111243)
- Replace `prettier` with `oxfmt` by @natemoo-re in [#111205](https://github.com/getsentry/sentry/pull/111205)

#### ✂️

- Bump knip to 6.4 by @TkDodo in [#112764](https://github.com/getsentry/sentry/pull/112764)
- Enable checking for unlisted dependencies by @TkDodo in [#112583](https://github.com/getsentry/sentry/pull/112583)

#### Aci

- Onboarding design tweaks by @malwilley in [#112872](https://github.com/getsentry/sentry/pull/112872)
- Remove redundant DetectorWorkflow rows by @saponifi3d in [#112402](https://github.com/getsentry/sentry/pull/112402)
- Add flag to GET OrganizationIncidentIndex by @klochek in [#112400](https://github.com/getsentry/sentry/pull/112400)
- Add flag to GET OrganizationAlertRuleIndexEndpoint by @klochek in [#112401](https://github.com/getsentry/sentry/pull/112401)
- Add a flag to incident details GET method by @ceorourke in [#112230](https://github.com/getsentry/sentry/pull/112230)
- Add a flag to metric alert rule details GET method by @ceorourke in [#112204](https://github.com/getsentry/sentry/pull/112204)
- Remove unused feature flags for API deprecation by @ceorourke in [#112121](https://github.com/getsentry/sentry/pull/112121)
- Remove unused org scoped detector creation endpoint by @ceorourke in [#112123](https://github.com/getsentry/sentry/pull/112123)
- Add custom metric and other aggregate options to API docs for detector creation by @ceorourke in [#112060](https://github.com/getsentry/sentry/pull/112060)
- Publish project based endpoint, unpublish org based one by @ceorourke in [#112057](https://github.com/getsentry/sentry/pull/112057)
- Combine issue alert rule flags into one by @ceorourke in [#112072](https://github.com/getsentry/sentry/pull/112072)
- Update front end usage of detector create endpoint to project scoped one by @ceorourke in [#111933](https://github.com/getsentry/sentry/pull/111933)
- Add example data to payload for GitHub action in workflow creation by @ceorourke in [#112068](https://github.com/getsentry/sentry/pull/112068)
- Add a single feature flag to control issue alert rule backwards compatible endpoint flags by @ceorourke in [#112063](https://github.com/getsentry/sentry/pull/112063)
- Break up Section into FormSection and DetailSection by @malwilley in [#111953](https://github.com/getsentry/sentry/pull/111953)
- Update monitor type selection page copy by @malwilley in [#111960](https://github.com/getsentry/sentry/pull/111960)
- All create monitor buttons should link to type selection by @malwilley in [#111801](https://github.com/getsentry/sentry/pull/111801)
- Use Section component for form sections in Alerts builder by @malwilley in [#111832](https://github.com/getsentry/sentry/pull/111832)
- Add/update detectors to a workflow in the WorkflowValidator by @ceorourke in [#111760](https://github.com/getsentry/sentry/pull/111760)
- Remove a try/except block for more detailed errors by @saponifi3d in [#111439](https://github.com/getsentry/sentry/pull/111439)
- Move functions to utils file by @ceorourke in [#111761](https://github.com/getsentry/sentry/pull/111761)
- Document detector filter params by @ceorourke in [#111742](https://github.com/getsentry/sentry/pull/111742)
- Add warning banner to old alerts by @ceorourke in [#111344](https://github.com/getsentry/sentry/pull/111344)
- Add error to response if multiple if/then blocks used in workflow by @ceorourke in [#111378](https://github.com/getsentry/sentry/pull/111378)
- Remove outdated disclaimer for issue stream monitor by @malwilley in [#111248](https://github.com/getsentry/sentry/pull/111248)

#### Admin

- Remove `browserHistory` usages in some views by @shashjar in [#112555](https://github.com/getsentry/sentry/pull/112555)
- Replace `useRouter` usage in `CustomerStats` & `CustomerStatsFilters` by @shashjar in [#112291](https://github.com/getsentry/sentry/pull/112291)
- Replace `useRouter` usage in `InstanceLevelOAuthDetails` by @shashjar in [#112289](https://github.com/getsentry/sentry/pull/112289)

#### Ai Agents

- Prefer gen_ai.response.model over gen_ai.request.model by @obostjancic in [#112462](https://github.com/getsentry/sentry/pull/112462)
- Separate cached from net-new input tokens in span details by @obostjancic in [#112451](https://github.com/getsentry/sentry/pull/112451)

#### Alerts

- Remove slack-compact-alerts feature flag by @leeandher in [#112384](https://github.com/getsentry/sentry/pull/112384)
- Remove dead code by @kcons in [#112028](https://github.com/getsentry/sentry/pull/112028)

#### Api

- Improve DifAssembleEndpoint typing by @szokeasaurusrex in [#110870](https://github.com/getsentry/sentry/pull/110870)
- Rename organization serializers for clarity by @evanpurkhiser in [#112159](https://github.com/getsentry/sentry/pull/112159)
- Move relevant endpoint ownership from enterprise -> ecosystem by @cvxluo in [#111174](https://github.com/getsentry/sentry/pull/111174)
- Use file mapping in DIF batch assemble by @szokeasaurusrex in [#110856](https://github.com/getsentry/sentry/pull/110856)

#### Aq

- Replace feedbackSource prop with analyticsArea by @aliu39 in [#112183](https://github.com/getsentry/sentry/pull/112183)
- Add progress labels for currently supported tools by @aliu39 in [#112175](https://github.com/getsentry/sentry/pull/112175)

#### Assisted Query

- Add new analytics events segmented by area by @aliu39 in [#112029](https://github.com/getsentry/sentry/pull/112029)
- Change all labels to beta by @aliu39 in [#112034](https://github.com/getsentry/sentry/pull/112034)
- Cleanup redundant flag checks for polling variant by @aliu39 in [#112035](https://github.com/getsentry/sentry/pull/112035)

#### Autofix

- Unnest if by @chromy in [#112114](https://github.com/getsentry/sentry/pull/112114)
- Seer -> Seer Autofix by @chromy in [#111985](https://github.com/getsentry/sentry/pull/111985)
- Remove redundant tooltip on autofix buttons by @Zylphrex in [#111950](https://github.com/getsentry/sentry/pull/111950)
- Add metric for when autofix on complete hooks fires by @Zylphrex in [#111849](https://github.com/getsentry/sentry/pull/111849)
- Remove autofix-on-explorer-v2 flag by @Zylphrex in [#111727](https://github.com/getsentry/sentry/pull/111727)
- Add some metrics for explorer autofix triggers by @Zylphrex in [#111734](https://github.com/getsentry/sentry/pull/111734)
- Remove unneeded seat based seer check by @Zylphrex in [#111733](https://github.com/getsentry/sentry/pull/111733)
- Add flag for seer-issues-view by @Zylphrex in [#111526](https://github.com/getsentry/sentry/pull/111526)
- Update implementation plan to plan by @Zylphrex in [#111530](https://github.com/getsentry/sentry/pull/111530)
- Use AUTOFIX_AUTOMATION_OCCURRENCE_THRESHOLD constant by @chromy in [#111512](https://github.com/getsentry/sentry/pull/111512)
- Rename some things in autofix by @Zylphrex in [#111405](https://github.com/getsentry/sentry/pull/111405)
- Remove autofix on explorer v1 by @Zylphrex in [#111319](https://github.com/getsentry/sentry/pull/111319)
- Remove unused billing checks in autofix redesigns by @Zylphrex in [#111308](https://github.com/getsentry/sentry/pull/111308)
- Only require autofix-on-explorer for automations by @Zylphrex in [#111293](https://github.com/getsentry/sentry/pull/111293)
- Clean up backend feature flags for autofix-on-explorer by @Zylphrex in [#111244](https://github.com/getsentry/sentry/pull/111244)
- Update autofix on explorer analytics by @Zylphrex in [#111225](https://github.com/getsentry/sentry/pull/111225)
- Add referrer to explorer autofix runs by @Zylphrex in [#111198](https://github.com/getsentry/sentry/pull/111198)
- Remove GA'd autofix-send-code-mappings feature flag by @JoshFerge in [#111082](https://github.com/getsentry/sentry/pull/111082)
- Work with sections instead of artifacts by @Zylphrex in [#111092](https://github.com/getsentry/sentry/pull/111092)

#### Billing

- Stats formatting for trace metrics(BIL-2224) by @krithikravi in [#112303](https://github.com/getsentry/sentry/pull/112303)
- Added data category constant for trace metric byte(BIL-2213) by @krithikravi in [#112286](https://github.com/getsentry/sentry/pull/112286)
- Added trace metrics to byte categories(BIL-2221) by @krithikravi in [#112279](https://github.com/getsentry/sentry/pull/112279)
- Unify category mappings shared by billing services by @brendanhsentry in [#112228](https://github.com/getsentry/sentry/pull/112228)
- Bump sentry-protos version to 0.8.6 by @krithikravi in [#111014](https://github.com/getsentry/sentry/pull/111014)
- Graduate expose-category-size-analysis flag by @dashed in [#110933](https://github.com/getsentry/sentry/pull/110933)

#### Cells

- Safe Python symbol renames in relocation module by @lynnagara in [#112884](https://github.com/getsentry/sentry/pull/112884)
- Implement org member invite redirect from old path to new by @lynnagara in [#112513](https://github.com/getsentry/sentry/pull/112513)
- Organization invites go the correct org scoped routes by @lynnagara in [#112137](https://github.com/getsentry/sentry/pull/112137)
- Remove deprecated settings from server.py by @lynnagara in [#112209](https://github.com/getsentry/sentry/pull/112209)
- Clean up remaining instances of SENTRY_REGION_CONFIG and SENTRY_REGION by @lynnagara in [#112140](https://github.com/getsentry/sentry/pull/112140)
- DestinationType.SENTRY_REGION -> DestinationType.SENTRY_CELL by @lynnagara in [#112148](https://github.com/getsentry/sentry/pull/112148)
- As_region_outbox -> as_cell_outbox by @lynnagara in [#112145](https://github.com/getsentry/sentry/pull/112145)
- Update agent skills with cells naming by @lynnagara in [#112144](https://github.com/getsentry/sentry/pull/112144)
- REGION_NAME_LENGTH -> CELL_NAME_LENGTH by @lynnagara in [#112142](https://github.com/getsentry/sentry/pull/112142)
- Remove region_name param from convert_to_async_slack_response and convert_to_async_discord_response by @lynnagara in [#112017](https://github.com/getsentry/sentry/pull/112017)
- Switch to SENTRY_LOCAL_CELL and SENTRY_CELLS by @lynnagara in [#111932](https://github.com/getsentry/sentry/pull/111932)
- Remove region support from create_organization by @lynnagara in [#111949](https://github.com/getsentry/sentry/pull/111949)
- Update callers to convert_to_async_discord_response and convert_to_async_slack_response by @lynnagara in [#111930](https://github.com/getsentry/sentry/pull/111930)
- Update org creation testutils to pass cell kwarg by @lynnagara in [#111819](https://github.com/getsentry/sentry/pull/111819)
- Update slack and discord tasks to accept cell_name by @lynnagara in [#111858](https://github.com/getsentry/sentry/pull/111858)
- Update assert_webhook_payloads_for_mailbox by @lynnagara in [#111856](https://github.com/getsentry/sentry/pull/111856)
- Clean up temporary aliases needed for getsentry by @lynnagara in [#111599](https://github.com/getsentry/sentry/pull/111599)
- Remove temp backward compat for RpcOrganizationSlugReservation by @lynnagara in [#111758](https://github.com/getsentry/sentry/pull/111758)
- Remove clear_region_cache, all callers have been removed by @lynnagara in [#111806](https://github.com/getsentry/sentry/pull/111806)
- Update hybrid cloud debugging skill with cells terminology by @lynnagara in [#111744](https://github.com/getsentry/sentry/pull/111744)
- Rename regions to cells in users models by @lynnagara in [#111741](https://github.com/getsentry/sentry/pull/111741)
- Start dispatching clear_cell_cache by @lynnagara in [#111750](https://github.com/getsentry/sentry/pull/111750)
- Introduce new cell config keys by @lynnagara in [#111749](https://github.com/getsentry/sentry/pull/111749)
- Update region_name to cell_name in process_control_outbox signature by @lynnagara in [#111571](https://github.com/getsentry/sentry/pull/111571)
- RpcOrganizationSlugReservation uses cell_name on the wire by @lynnagara in [#111597](https://github.com/getsentry/sentry/pull/111597)
- Update silo mode test decorators to pass cell by @lynnagara in [#111602](https://github.com/getsentry/sentry/pull/111602)
- Jira frontend uses proper issue urls by @lynnagara in [#111601](https://github.com/getsentry/sentry/pull/111601)
- Use proper issue url in jira plugin by @lynnagara in [#111600](https://github.com/getsentry/sentry/pull/111600)
- Update the snowflake id module with cell terminology by @lynnagara in [#111572](https://github.com/getsentry/sentry/pull/111572)
- Update deletions code to reference cells not regions by @lynnagara in [#111573](https://github.com/getsentry/sentry/pull/111573)
- Remove region_name compatibility layer from rpc dataclasses by @lynnagara in [#111596](https://github.com/getsentry/sentry/pull/111596)
- Add cell_name support to rpc dataclasses by @lynnagara in [#111169](https://github.com/getsentry/sentry/pull/111169)
- Region -> cell renames in sentry.hybridcloud.services by @lynnagara in [#111235](https://github.com/getsentry/sentry/pull/111235)
- Send cell_name on the wire by @lynnagara in [#111218](https://github.com/getsentry/sentry/pull/111218)
- Remove support for `region_name` in ByCellName resolver by @lynnagara in [#111221](https://github.com/getsentry/sentry/pull/111221)
- Clean up some remaining rpc method signatures by @lynnagara in [#111236](https://github.com/getsentry/sentry/pull/111236)
- Region -> cell migration in integrations modules by @lynnagara in [#111130](https://github.com/getsentry/sentry/pull/111130)
- Update signature of maybe_process_tombstone function by @lynnagara in [#111210](https://github.com/getsentry/sentry/pull/111210)
- Clean up rpc method signatures by @lynnagara in [#111025](https://github.com/getsentry/sentry/pull/111025)
- Update region_name to cell_name in rpc dataclasses by @lynnagara in [#111039](https://github.com/getsentry/sentry/pull/111039)
- Update org provisioning code with cell terminology by @lynnagara in [#111134](https://github.com/getsentry/sentry/pull/111134)
- Update hybridcloud rpc service with cell naming by @lynnagara in [#111031](https://github.com/getsentry/sentry/pull/111031)
- RpcRegionUser -> RpcCellUser by @lynnagara in [#111028](https://github.com/getsentry/sentry/pull/111028)
- More cell updates to the integrations modules by @lynnagara in [#110912](https://github.com/getsentry/sentry/pull/110912)
- More hybridcloud module renames by @lynnagara in [#111009](https://github.com/getsentry/sentry/pull/111009)
- Clean up temporary aliases for getsentry by @lynnagara in [#111007](https://github.com/getsentry/sentry/pull/111007)
- Update rpc method callers by @lynnagara in [#110895](https://github.com/getsentry/sentry/pull/110895)
- Update rpc caller to use update_cell_user by @lynnagara in [#111008](https://github.com/getsentry/sentry/pull/111008)
- Update cell naming in testutils code by @lynnagara in [#110812](https://github.com/getsentry/sentry/pull/110812)
- RegionAccessService -> CellAccessService by @lynnagara in [#110921](https://github.com/getsentry/sentry/pull/110921)
- Update another rpc method by @lynnagara in [#110919](https://github.com/getsentry/sentry/pull/110919)
- Update signal process_region_outbox to process_cell_outbox by @lynnagara in [#110922](https://github.com/getsentry/sentry/pull/110922)
- Rename organization check service by @lynnagara in [#110918](https://github.com/getsentry/sentry/pull/110918)
- Update rpc service methods by @lynnagara in [#110897](https://github.com/getsentry/sentry/pull/110897)
- RegionTombstone -> CellTombstone by @lynnagara in [#110917](https://github.com/getsentry/sentry/pull/110917)
- Sentry.types.region -> sentry.types.cell by @lynnagara in [#110794](https://github.com/getsentry/sentry/pull/110794)
- Update integrations to reflect cells by @lynnagara in [#110783](https://github.com/getsentry/sentry/pull/110783)
- Update signal receivers module to cell by @lynnagara in [#110816](https://github.com/getsentry/sentry/pull/110816)
- Rename region_config module to cell_config by @lynnagara in [#110815](https://github.com/getsentry/sentry/pull/110815)
- Clean up organization provisioning by @lynnagara in [#110770](https://github.com/getsentry/sentry/pull/110770)
- Update more rpc methods to take cell_name by @lynnagara in [#110823](https://github.com/getsentry/sentry/pull/110823)
- RegionScheduledDeletion -> CellScheduledDeletion by @lynnagara in [#110819](https://github.com/getsentry/sentry/pull/110819)

#### Chartcuterie

- Rename SLACK_EXPLORE_LINE to SLACK_TIMESERIES (frontend) by @DominikB2014 in [#112934](https://github.com/getsentry/sentry/pull/112934)
- Rename SLACK_EXPLORE_LINE to SLACK_TIMESERIES (backend) by @DominikB2014 in [#112933](https://github.com/getsentry/sentry/pull/112933)
- Update explore chart legend styling by @DominikB2014 in [#112931](https://github.com/getsentry/sentry/pull/112931)
- Use plottable classes for Explore chart series by @DominikB2014 in [#112794](https://github.com/getsentry/sentry/pull/112794)

#### Ci

- Update sentry-cli to 3.3.5 and simplify snapshot upload by @runningcode in [#113017](https://github.com/getsentry/sentry/pull/113017)
- Re-add ALWAYS_RUN_TESTS to selective test computing by @rbro112 in [#112930](https://github.com/getsentry/sentry/pull/112930)
- Add cancel-in-progress to pull_request prs by @joshuarli in [#112869](https://github.com/getsentry/sentry/pull/112869)
- Remove unused navigate-only acceptance tests by @rbro112 in [#112698](https://github.com/getsentry/sentry/pull/112698)
- Parallel devservices startup and more robust bootstrap-snuba by @joshuarli in [#112381](https://github.com/getsentry/sentry/pull/112381)
- Disable codeowners-coverage workflow by @bc-sentry in [#112390](https://github.com/getsentry/sentry/pull/112390)
- Update coverage baseline to get around failing checks by @rbro112 in [#111661](https://github.com/getsentry/sentry/pull/111661)
- Attempt to fix failing codeowners check by @rbro112 in [#111574](https://github.com/getsentry/sentry/pull/111574)
- Add configurable timeout to setup-sentry composite action by @kenzoengineer in [#111561](https://github.com/getsentry/sentry/pull/111561)
- Knip v6 🔥 by @TkDodo in [#111223](https://github.com/getsentry/sentry/pull/111223)

#### Ci St

- Delete old sentry coverage job by @joshuarli in [#112328](https://github.com/getsentry/sentry/pull/112328)
- Fast calculate-shards heuristics by @joshuarli in [#112319](https://github.com/getsentry/sentry/pull/112319)

#### Cmdk

- Guard GlobalCommandPaletteActions behind cmd-k-supercharged at the mount site by @JonasBa in [#113021](https://github.com/getsentry/sentry/pull/113021)
- Remove onAction prop in favor of internal action execution by @JonasBa in [#112648](https://github.com/getsentry/sentry/pull/112648)
- Implement async actions by @JonasBa in [#112173](https://github.com/getsentry/sentry/pull/112173)
- Virtualize cmdk by @JonasBa in [#111656](https://github.com/getsentry/sentry/pull/111656)
- Fix and extend command palette tests by @JonasBa in [#111598](https://github.com/getsentry/sentry/pull/111598)
- Update new cmd+k's focus to be clearer by @rbro112 in [#111381](https://github.com/getsentry/sentry/pull/111381)

#### Code Review

- Make tags mandatory when scheduling the task by @armenzg in [#111622](https://github.com/getsentry/sentry/pull/111622)
- Do not emit enqueued_at by @armenzg in [#111398](https://github.com/getsentry/sentry/pull/111398)
- Remove legacy code review setting toggle by @ajay-sentry in [#111055](https://github.com/getsentry/sentry/pull/111055)

#### Codeowners

- Move /rules/ back to alerts-notifications by @cvxluo in [#112272](https://github.com/getsentry/sentry/pull/112272)
- Remove owners-api by @sentaur-athena in [#112167](https://github.com/getsentry/sentry/pull/112167)
- Assign scraps skills to design-eng by @natemoo-re in [#111481](https://github.com/getsentry/sentry/pull/111481)

#### Components

- Extracted a DragReorderButton component by @JoshuaKGoldberg in [#110982](https://github.com/getsentry/sentry/pull/110982)
- Remove GroupTombstone from shared component props by @scttcper in [#110949](https://github.com/getsentry/sentry/pull/110949)
- Remove Event from EventOrGroup props and rename components by @scttcper in [#110937](https://github.com/getsentry/sentry/pull/110937)

#### Core

- New slider by @natemoo-re in [#111414](https://github.com/getsentry/sentry/pull/111414)
- Improve Select typings by @TkDodo in [#110641](https://github.com/getsentry/sentry/pull/110641)

#### Dashboards

- Move insights-to-dashboards checks to own feature flag by @gggritso in [#112924](https://github.com/getsentry/sentry/pull/112924)
- Set reasoning_effort to medium for dashboard generation by @JoshFerge in [#112955](https://github.com/getsentry/sentry/pull/112955)
- Consolidate Seer dashboard utils and extract session polling hook by @edwardgou-sentry in [#112193](https://github.com/getsentry/sentry/pull/112193)
- Replace internal sqlish module with @sentry/sqlish by @gggritso in [#112147](https://github.com/getsentry/sentry/pull/112147)
- Update generate dashboard endpoint permission check by @edwardgou-sentry in [#111803](https://github.com/getsentry/sentry/pull/111803)
- Add consistent settings files to all prebuilt dashboard configs by @DominikB2014 in [#111788](https://github.com/getsentry/sentry/pull/111788)
- Use beta badge and tighten feature flag check for Dashboards Generate by @edwardgou-sentry in [#111712](https://github.com/getsentry/sentry/pull/111712)
- Widen GroupBy value type to include number and boolean by @DominikB2014 in [#111397](https://github.com/getsentry/sentry/pull/111397)
- Measure re-render duration on edit dashboard click by @skaasten in [#111401](https://github.com/getsentry/sentry/pull/111401)
- Clean up dashboard file from code owners baseline by @edwardgou-sentry in [#111408](https://github.com/getsentry/sentry/pull/111408)
- Remove chart-legend-component feature flag (backend) by @gggritso in [#111127](https://github.com/getsentry/sentry/pull/111127)
- Measure re-render duration on full-screen widget view by @skaasten in [#111302](https://github.com/getsentry/sentry/pull/111302)
- Remove span.op global filter from Screen Rendering by @mjq in [#111386](https://github.com/getsentry/sentry/pull/111386)
- Remove chart-legend-component feature flag (frontend) by @gggritso in [#111126](https://github.com/getsentry/sentry/pull/111126)
- Extract breakdown table matching and support multi-groupBy by @DominikB2014 in [#111245](https://github.com/getsentry/sentry/pull/111245)
- Hide breakdown legend in full screen widget view by @DominikB2014 in [#111237](https://github.com/getsentry/sentry/pull/111237)
- Replace renderExtraActions function prop with component by @DominikB2014 in [#111131](https://github.com/getsentry/sentry/pull/111131)
- Track window resize render duration via Sentry metrics by @skaasten in [#111089](https://github.com/getsentry/sentry/pull/111089)
- Update dashboards generation sendMessage to use fetchMutation instead of api.requestPromise directly by @edwardgou-sentry in [#110957](https://github.com/getsentry/sentry/pull/110957)
- Remove hard-coded fieldMeta from prebuilt configs by @gggritso in [#110914](https://github.com/getsentry/sentry/pull/110914)
- Remove dashboards-prebuilt-controls feature flag (backend) by @gggritso in [#110891](https://github.com/getsentry/sentry/pull/110891)
- Remove dashboards-prebuilt-controls feature flag (frontend) by @gggritso in [#110885](https://github.com/getsentry/sentry/pull/110885)
- Use PREBUILT_DASHBOARD_LABEL for owner tooltip by @DominikB2014 in [#110887](https://github.com/getsentry/sentry/pull/110887)

#### Db

- Migrate create_or_update to update_or_create by @vgrozdanic in [#111510](https://github.com/getsentry/sentry/pull/111510)
- Stop using legacy create_or_update in models and releases by @vgrozdanic in [#111391](https://github.com/getsentry/sentry/pull/111391)
- Stop using legacy create_or_update in dashboard/explore/notification/flag endpoints by @vgrozdanic in [#111300](https://github.com/getsentry/sentry/pull/111300)
- Stop using legacy create_or_update in API endpoints by @vgrozdanic in [#111288](https://github.com/getsentry/sentry/pull/111288)
- Remove stale entries from create_or_update allowlist by @vgrozdanic in [#111287](https://github.com/getsentry/sentry/pull/111287)

#### Deps

- Bump pyjwt from 2.10.1 to 2.12.0 by @dependabot in [#110969](https://github.com/getsentry/sentry/pull/110969)
- Bump orjson from 3.10.10 to 3.11.6 by @dependabot in [#110973](https://github.com/getsentry/sentry/pull/110973)
- Add codeowners-coverage as dev dependency by @NicoHinderling in [#111461](https://github.com/getsentry/sentry/pull/111461)
- Bump pyasn1 from 0.4.5 to 0.6.3 by @dependabot in [#110972](https://github.com/getsentry/sentry/pull/110972)

#### Dev

- Add processing errors tests to codeowners by @lobsterkatie in [#111360](https://github.com/getsentry/sentry/pull/111360)
- Remove Cursor specific rules by @armenzg in [#111004](https://github.com/getsentry/sentry/pull/111004)

#### Dynamic Sampling

- Drop CustomDynamicSamplingRule tables by @shellmayr in [#112453](https://github.com/getsentry/sentry/pull/112453)
- Remove CustomDynamicSamplingRule models & mark tables for deletion by @shellmayr in [#112093](https://github.com/getsentry/sentry/pull/112093)
- Remove all usage of custom ds rules in code (v2) by @shellmayr in [#111982](https://github.com/getsentry/sentry/pull/111982)
- Remove unused snuba referrers by @shellmayr in [#111186](https://github.com/getsentry/sentry/pull/111186)
- Remove segments migration feature registration by @shellmayr in [#111188](https://github.com/getsentry/sentry/pull/111188)
- Migrate projectSampling to new form system by @JonasBa in [#109360](https://github.com/getsentry/sentry/pull/109360)
- Migrate organizationSampling to new form system by @JonasBa in [#109356](https://github.com/getsentry/sentry/pull/109356)
- Migrate samplingModeSwitchModal to new form system by @JonasBa in [#109325](https://github.com/getsentry/sentry/pull/109325)
- Remove old transaction based code by @shellmayr in [#109309](https://github.com/getsentry/sentry/pull/109309)

#### Eco

- Adds new CLI command for creating projects by @GabeVillalobos in [#111766](https://github.com/getsentry/sentry/pull/111766)
- Adds a new organization create CLI command by @GabeVillalobos in [#111765](https://github.com/getsentry/sentry/pull/111765)
- Adds codeowner-coverage dev dependency by @GabeVillalobos in [#111469](https://github.com/getsentry/sentry/pull/111469)

#### Eslint

- Quotes by @TkDodo in [#112468](https://github.com/getsentry/sentry/pull/112468)
- Ban Reorder import from framer-motion by @JonasBa in [#110861](https://github.com/getsentry/sentry/pull/110861)

#### Experiments

- Gate useExperiment on organization.features by @jaydgoss in [#112213](https://github.com/getsentry/sentry/pull/112213)
- Add function to `ExperimentMode` to get assignment group by @wedamija in [#110932](https://github.com/getsentry/sentry/pull/110932)

#### Explore

- Cache trace item attribute suggestions by @nsdeschenes in [#112954](https://github.com/getsentry/sentry/pull/112954)
- Use landscape chart size and scale fonts for explore unfurls by @DominikB2014 in [#112809](https://github.com/getsentry/sentry/pull/112809)
- Remove sticky last column from aggregates tab by @nsdeschenes in [#111525](https://github.com/getsentry/sentry/pull/111525)
- Create flag for errors on EAP (UI) by @nikkikapadia in [#111672](https://github.com/getsentry/sentry/pull/111672)
- Remove search-query-builder-explicit-boolean-filters flag by @nsdeschenes in [#111005](https://github.com/getsentry/sentry/pull/111005)

#### Explorer

- Change language to 'agent' in feedback widget by @aliu39 in [#113013](https://github.com/getsentry/sentry/pull/113013)
- Set reasoning_effort to medium for explorer chat by @JoshFerge in [#112956](https://github.com/getsentry/sentry/pull/112956)
- Cleanup UI interrupt state and panel code by @aliu39 in [#112446](https://github.com/getsentry/sentry/pull/112446)
- Update event tool display by @aliu39 in [#111032](https://github.com/getsentry/sentry/pull/111032)

#### Flags

- Remove unused organizations:performance-use-metrics feature flag by @wedamija in [#112758](https://github.com/getsentry/sentry/pull/112758)
- Remove `projects:alert-filters` feature flag by @wedamija in [#112753](https://github.com/getsentry/sentry/pull/112753)
- Remove organizations:minute-resolution-sessions feature flag from the backend. by @wedamija in [#112749](https://github.com/getsentry/sentry/pull/112749)
- Remove unused `organizations:performance-queries-mongodb-extraction` feature flag by @wedamija in [#112747](https://github.com/getsentry/sentry/pull/112747)
- Remove GA-graduated mep-use-default-tags flag by @wedamija in [#108774](https://github.com/getsentry/sentry/pull/108774)
- Remove frontend checks for `minute-resolution-sessions` feature flag by @wedamija in [#112748](https://github.com/getsentry/sentry/pull/112748)
- Move hardcoded LA flags to options automator by @wedamija in [#112131](https://github.com/getsentry/sentry/pull/112131)
- Migrate projects:first-event-severity-calculation to flagpole by @wedamija in [#112077](https://github.com/getsentry/sentry/pull/112077)
- Migrate organizations:sdk-crash-detection to flagpole by @wedamija in [#112069](https://github.com/getsentry/sentry/pull/112069)

#### Github

- Cache accessible repos for accessibleOnly search by @jaydgoss in [#112548](https://github.com/getsentry/sentry/pull/112548)
- Do not return sentinel install option via API by @evanpurkhiser in [#112038](https://github.com/getsentry/sentry/pull/112038)

#### Grouping

- Remove dead background grouping code by @cvxluo in [#112594](https://github.com/getsentry/sentry/pull/112594)
- Remove ProjectGroupingConfigsEndpoint by @cvxluo in [#112540](https://github.com/getsentry/sentry/pull/112540)
- Remove unused EventGroupingConfig type by @cvxluo in [#112553](https://github.com/getsentry/sentry/pull/112553)
- Remove frontend grouping configs fetch and fixtures by @cvxluo in [#112536](https://github.com/getsentry/sentry/pull/112536)
- Log example false positive ip data by @lobsterkatie in [#112487](https://github.com/getsentry/sentry/pull/112487)
- Increase config transition and move config tests by @lobsterkatie in [#112508](https://github.com/getsentry/sentry/pull/112508)
- Add false positive parameterization metric by @lobsterkatie in [#112275](https://github.com/getsentry/sentry/pull/112275)
- Remove lookahead and lookbehind from parameterization regex class by @lobsterkatie in [#112274](https://github.com/getsentry/sentry/pull/112274)
- Improve email and URL parameterization tests by @lobsterkatie in [#112011](https://github.com/getsentry/sentry/pull/112011)
- Remove remaining similarity backfill option by @cvxluo in [#111970](https://github.com/getsentry/sentry/pull/111970)
- Simplify parameterizer code by @lobsterkatie in [#111345](https://github.com/getsentry/sentry/pull/111345)
- Remove unused seer backfill options by @cvxluo in [#111896](https://github.com/getsentry/sentry/pull/111896)
- Always use reranking for similarity by @cvxluo in [#111866](https://github.com/getsentry/sentry/pull/111866)
- Remove `useReranking` from similar issues UI by @cvxluo in [#111867](https://github.com/getsentry/sentry/pull/111867)
- Add hex, int, IP, and kitchen time test cases by @lobsterkatie in [#111347](https://github.com/getsentry/sentry/pull/111347)
- Parameterize message constants in fingerprint by @lobsterkatie in [#110798](https://github.com/getsentry/sentry/pull/110798)
- Cache more message parameterizations by @lobsterkatie in [#110827](https://github.com/getsentry/sentry/pull/110827)

#### Incidents

- Avoid N+1 in WorkflowEngineIncidentSerializer by @kcons in [#113009](https://github.com/getsentry/sentry/pull/113009)
- Add GroupOpenPeriodActivity to incinerator/cleanup script by @kcons in [#112389](https://github.com/getsentry/sentry/pull/112389)

#### Insights

- Hide/show Insights cmd+k menu items according to rollout by @gggritso in [#112964](https://github.com/getsentry/sentry/pull/112964)
- Remove Insights upsells code by @gggritso in [#112958](https://github.com/getsentry/sentry/pull/112958)
- Replace span.op and span.description with span.name by @obostjancic in [#113029](https://github.com/getsentry/sentry/pull/113029)
- Remove conversations from insights domain view config by @obostjancic in [#112463](https://github.com/getsentry/sentry/pull/112463)
- Replace useLocation/usePageFilters mocks with initialRouterConfig by @scttcper in [#111498](https://github.com/getsentry/sentry/pull/111498)
- Remove useLocation/usePageFilters mocks from simple tests by @scttcper in [#111497](https://github.com/getsentry/sentry/pull/111497)

#### Integrations

- Refactor useAddIntegration to accept params at call time by @evanpurkhiser in [#113059](https://github.com/getsentry/sentry/pull/113059)
- Replace useApi with useMutation for external mapping deletes by @priscilawebdev in [#112908](https://github.com/getsentry/sentry/pull/112908)
- Log specific external IDs in repo sync diff by @wedamija in [#112867](https://github.com/getsentry/sentry/pull/112867)
- Split github webhook sync flag out from our general auto sync flags. by @wedamija in [#112824](https://github.com/getsentry/sentry/pull/112824)
- Move webhook creation to post-create hook by @wedamija in [#112699](https://github.com/getsentry/sentry/pull/112699)
- Generalize repo sync task to all SCM providers by @wedamija in [#112545](https://github.com/getsentry/sentry/pull/112545)
- Move repository syncing code to generic place. by @wedamija in [#112431](https://github.com/getsentry/sentry/pull/112431)
- Add canonical way to determine the external id for a repo by @wedamija in [#112327](https://github.com/getsentry/sentry/pull/112327)
- Convert AddIntegration to useAddIntegration hook by @evanpurkhiser in [#112278](https://github.com/getsentry/sentry/pull/112278)
- Add permission, IDOR, and edge case tests for bulk code mappings by @romtsn in [#109786](https://github.com/getsentry/sentry/pull/109786)

#### Issue Details

- Remove useHasStreamlinedUI hook and legacy UI code by @chromy in [#112465](https://github.com/getsentry/sentry/pull/112465)
- Replace useRouter with specific hooks in useGroupDetailsRoute by @evanpurkhiser in [#110122](https://github.com/getsentry/sentry/pull/110122)

#### Issues

- Avoid slow double-join in source-map-debug-blue-thunder-edition by @scttcper in [#112627](https://github.com/getsentry/sentry/pull/112627)
- Fix N+1 queries in starred views endpoint by @scttcper in [#112424](https://github.com/getsentry/sentry/pull/112424)
- Remove old cron and uptime issue UI by @malwilley in [#112304](https://github.com/getsentry/sentry/pull/112304)
- Remove streamlined UI from stack trace files by @malwilley in [#112242](https://github.com/getsentry/sentry/pull/112242)
- Remove old UI from remaining event interface files by @malwilley in [#112264](https://github.com/getsentry/sentry/pull/112264)
- Remove streamline flag from archive/resolve by @scttcper in [#112128](https://github.com/getsentry/sentry/pull/112128)
- Remove the remaining old issue details routes by @malwilley in [#111447](https://github.com/getsentry/sentry/pull/111447)
- Remove old issue details routes by @malwilley in [#111437](https://github.com/getsentry/sentry/pull/111437)
- Remove unused GroupSidebar by @malwilley in [#111339](https://github.com/getsentry/sentry/pull/111339)
- Remove unused AssignedTo component and reorganize assignee selector utils by @malwilley in [#111370](https://github.com/getsentry/sentry/pull/111370)
- Delete sidebar release and participant components by @malwilley in [#111350](https://github.com/getsentry/sentry/pull/111350)
- Delete old external issues component by @malwilley in [#111346](https://github.com/getsentry/sentry/pull/111346)
- Collapse stats on group details request by @scttcper in [#111156](https://github.com/getsentry/sentry/pull/111156)
- Support collapse=stats on group details endpoint by @scttcper in [#111155](https://github.com/getsentry/sentry/pull/111155)
- Remove duplicate metric by @mrduncan in [#111253](https://github.com/getsentry/sentry/pull/111253)
- Delete uses of useHasStreamlinedUI in context panes by @malwilley in [#111124](https://github.com/getsentry/sentry/pull/111124)
- Remove some usages of useHasStreamlinedUI by @malwilley in [#111053](https://github.com/getsentry/sentry/pull/111053)
- Remove some usages of useHasStreamlinedUI by @malwilley in [#111036](https://github.com/getsentry/sentry/pull/111036)
- Add trace context to span evidence fixture by @scttcper in [#110543](https://github.com/getsentry/sentry/pull/110543)
- Batch nodestore fetches in SimpleEventSerializer by @BYK in [#110981](https://github.com/getsentry/sentry/pull/110981)

#### Layout

- Use Layout.Page on isolated pages by @JonasBa in [#111644](https://github.com/getsentry/sentry/pull/111644)
- Use Layout.Page on alerts by @JonasBa in [#111642](https://github.com/getsentry/sentry/pull/111642)

#### Lint

- Update boundaries config by @natemoo-re in [#112106](https://github.com/getsentry/sentry/pull/112106)
- Upgrade eslint-plugin-boundaries to v6 by @michelletran-sentry in [#112021](https://github.com/getsentry/sentry/pull/112021)

#### Llm Detection

- Remove missing_telemetry by @nora-shap in [#112756](https://github.com/getsentry/sentry/pull/112756)
- Remove category/subcategory by @shayna-ch in [#112531](https://github.com/getsentry/sentry/pull/112531)

#### Marked

- Add 'align' to DOMPurify allowed attributes by @chromy in [#110939](https://github.com/getsentry/sentry/pull/110939)
- Switch DOMPurify to tag and attribute allowlist by @chromy in [#110869](https://github.com/getsentry/sentry/pull/110869)

#### Metric Issues

- Remove workflow-engine-metric-issue-ui flag usage by @malwilley in [#112433](https://github.com/getsentry/sentry/pull/112433)
- Remove workflow-engine-metric-issue-ui flag usage on frontend by @malwilley in [#112422](https://github.com/getsentry/sentry/pull/112422)

#### Metrics

- Tidy up metrics UI for refresh layout by @nsdeschenes in [#111532](https://github.com/getsentry/sentry/pull/111532)
- Refactor AggregateDropdown to use CompositeSelect by @nsdeschenes in [#111296](https://github.com/getsentry/sentry/pull/111296)
- Add fallback events mock for sidebar toggle test by @nsdeschenes in [#111219](https://github.com/getsentry/sentry/pull/111219)
- Add tracemetrics bytes ui flag by @k-fish in [#111098](https://github.com/getsentry/sentry/pull/111098)

#### Monitors

- Portal disable/edit actions to TopBar when page frame is enabled by @JonasBa in [#113019](https://github.com/getsentry/sentry/pull/113019)
- Capitalize label by @mtopo27 in [#111694](https://github.com/getsentry/sentry/pull/111694)
- Re-enable ContextPropagatingThreadPoolExecutor in monitor consumer by @gricha in [#111568](https://github.com/getsentry/sentry/pull/111568)

#### Nav

- Migrate breadcrumbs to `TopBar.Title` by @natemoo-re in [#112672](https://github.com/getsentry/sentry/pull/112672)
- Update button sizes by @natemoo-re in [#112681](https://github.com/getsentry/sentry/pull/112681)
- Use topbar slot for headeractions by @JonasBa in [#112449](https://github.com/getsentry/sentry/pull/112449)
- Remove alpha badge from monitors nav by @malwilley in [#112616](https://github.com/getsentry/sentry/pull/112616)
- Remove Layout.Page usage from individual views by @JonasBa in [#111775](https://github.com/getsentry/sentry/pull/111775)
- Add ReorderableList, ReorderableLink, and Indicator to SecondaryNavigation by @JonasBa in [#110824](https://github.com/getsentry/sentry/pull/110824)

#### Occ Eap

- Drop missing trace id log to debug by @thetruecpaul in [#111096](https://github.com/getsentry/sentry/pull/111096)
- Bump missing trace id to info by @thetruecpaul in [#111003](https://github.com/getsentry/sentry/pull/111003)

#### Onboarding

- Rename SCM integration analytics view to onboarding_scm by @jaydgoss in [#112983](https://github.com/getsentry/sentry/pull/112983)
- Remove step indicators and animated logo from SCM flow by @jaydgoss in [#112696](https://github.com/getsentry/sentry/pull/112696)
- Gate platform detection API call to GitHub provider only by @jaydgoss in [#112269](https://github.com/getsentry/sentry/pull/112269)
- Add tests for useScmRepoSearch and ScmRepoSelector by @jaydgoss in [#112127](https://github.com/getsentry/sentry/pull/112127)
- Add acceptance tests for SCM onboarding flow by @jaydgoss in [#112174](https://github.com/getsentry/sentry/pull/112174)
- Replace useEffect with derived state in ScmConnect by @jaydgoss in [#111359](https://github.com/getsentry/sentry/pull/111359)
- Move useScmProviders into components directory by @jaydgoss in [#111167](https://github.com/getsentry/sentry/pull/111167)

#### Performance

- Remove `browserHistory` usages from some performance views by @shashjar in [#112554](https://github.com/getsentry/sentry/pull/112554)
- Remove `browserHistory` usage from performance landing utils by @shashjar in [#112547](https://github.com/getsentry/sentry/pull/112547)

#### Pipeline

- Include pipeline type in metrics by @evanpurkhiser in [#112977](https://github.com/getsentry/sentry/pull/112977)
- Better error handling by @evanpurkhiser in [#112804](https://github.com/getsentry/sentry/pull/112804)
- Use `_pipeline_source` in tranpoline by @evanpurkhiser in [#112155](https://github.com/getsentry/sentry/pull/112155)
- Move `None` out of ApiPipelineSteps type by @evanpurkhiser in [#111711](https://github.com/getsentry/sentry/pull/111711)

#### Pipleine

- Add comments to types by @evanpurkhiser in [#112599](https://github.com/getsentry/sentry/pull/112599)
- Remove `data` from PipelineStepResult.advance by @evanpurkhiser in [#112281](https://github.com/getsentry/sentry/pull/112281)

#### Preprod

- Disable snapshot PR comments by default by @runningcode in [#113020](https://github.com/getsentry/sentry/pull/113020)
- Remove graduated preprod-frontend-routes feature flag by @NicoHinderling in [#110583](https://github.com/getsentry/sentry/pull/110583)
- Update PR comment template styling by @mtopo27 in [#112795](https://github.com/getsentry/sentry/pull/112795)
- Remove Kafka producer and taskbroker feature flag by @NicoHinderling in [#112593](https://github.com/getsentry/sentry/pull/112593)
- Post task deployment, remove no longer needed fallback by @NicoHinderling in [#112528](https://github.com/getsentry/sentry/pull/112528)
- Reformat launchpad admin page and clarify fetch info text by @NicoHinderling in [#112538](https://github.com/getsentry/sentry/pull/112538)
- Fix build e2e time for reruns by @NicoHinderling in [#112527](https://github.com/getsentry/sentry/pull/112527)
- Add organization_slug to size analysis log by @NicoHinderling in [#112194](https://github.com/getsentry/sentry/pull/112194)
- Remove PreprodStaticGroupType and PreprodDeltaGroupType by @chromy in [#112337](https://github.com/getsentry/sentry/pull/112337)
- Add snapshots option for builds endpoint by @NicoHinderling in [#112180](https://github.com/getsentry/sentry/pull/112180)
- Increase gap between approval tag and avatars by @NicoHinderling in [#112158](https://github.com/getsentry/sentry/pull/112158)
- Dispatch only taskbroker when rollout flag is enabled by @NicoHinderling in [#112141](https://github.com/getsentry/sentry/pull/112141)
- Call status check tasks synchronously by @NicoHinderling in [#112120](https://github.com/getsentry/sentry/pull/112120)
- Remove snapshots from retention endpoint by @chromy in [#112096](https://github.com/getsentry/sentry/pull/112096)
- Parallelize and deduplicate snapshot image fetches by @NicoHinderling in [#111755](https://github.com/getsentry/sentry/pull/111755)
- Restructure commit_comparison conditional to if/else by @mtopo27 in [#111500](https://github.com/getsentry/sentry/pull/111500)
- Add snapshot upload dev script by @NicoHinderling in [#111415](https://github.com/getsentry/sentry/pull/111415)
- Add group as first-class metadata param by @rbro112 in [#111304](https://github.com/getsentry/sentry/pull/111304)
- Pass through extra fields from image manifests by @rbro112 in [#110955](https://github.com/getsentry/sentry/pull/110955)

#### Profiling

- Record flamegraph endpoint `dataSource` param by @mjq in [#112597](https://github.com/getsentry/sentry/pull/112597)
- Remove profile summary page by @mjq in [#112163](https://github.com/getsentry/sentry/pull/112163)
- Replace useRouter with specific hooks in slowestFunctionsWidget by @evanpurkhiser in [#110126](https://github.com/getsentry/sentry/pull/110126)

#### Relay

- Exclude spike protection cache option from project config invalidations by @Dav1dde in [#112914](https://github.com/getsentry/sentry/pull/112914)
- Bump sentry relay to 0.9.26 by @Dav1dde in [#112784](https://github.com/getsentry/sentry/pull/112784)
- Remove transaction extraction config by @Dav1dde in [#112663](https://github.com/getsentry/sentry/pull/112663)
- Remove cardinality limiter config from project configs by @Dav1dde in [#112658](https://github.com/getsentry/sentry/pull/112658)

#### Replay

- Tweak language for replay batch deletion API docs by @billyvg in [#111748](https://github.com/getsentry/sentry/pull/111748)
- Revert custom slider by @natemoo-re in [#111619](https://github.com/getsentry/sentry/pull/111619)

#### Scm

- Raise exception in development environment on unknown event by @cmanallen in [#112461](https://github.com/getsentry/sentry/pull/112461)
- Report more granular failure metrics by @cmanallen in [#111722](https://github.com/getsentry/sentry/pull/111722)
- Wrap raw response with data key and provide the headers by @cmanallen in [#111715](https://github.com/getsentry/sentry/pull/111715)
- Move protocol definitions to types.py by @cmanallen in [#111705](https://github.com/getsentry/sentry/pull/111705)
- Update GitHub Provider with Access to Raw Response Instance by @cmanallen in [#111192](https://github.com/getsentry/sentry/pull/111192)
- Move `should_increment_contributor_seat` to provider-agnostic location by @billyvg in [#111524](https://github.com/getsentry/sentry/pull/111524)
- Initialize in '__init__' instead of '__new__' by @jacquev6 in [#111389](https://github.com/getsentry/sentry/pull/111389)

#### Scraps

- Remove deprecated formatLabel option from slider by @TkDodo in [#112690](https://github.com/getsentry/sentry/pull/112690)
- Update status indicator design by @natemoo-re in [#111470](https://github.com/getsentry/sentry/pull/111470)

#### Search

- Clean up old flow experiement by @nsdeschenes in [#112103](https://github.com/getsentry/sentry/pull/112103)
- Add validation feature flag by @nsdeschenes in [#111752](https://github.com/getsentry/sentry/pull/111752)

#### Seer

- Move get_github_username_for_user to shared utils by @JoshFerge in [#112669](https://github.com/getsentry/sentry/pull/112669)
- Refactor night shift into modules and use search backend by @trevor-e in [#112635](https://github.com/getsentry/sentry/pull/112635)
- Deduplicate widget query hints and shorten dashboard context by @Mihir-Mavalankar in [#112560](https://github.com/getsentry/sentry/pull/112560)
- Replace metrics.incr with logger.info for contributor seat tracking by @billyvg in [#112464](https://github.com/getsentry/sentry/pull/112464)
- Capitalize node type headings in markdown renderer by @Mihir-Mavalankar in [#112398](https://github.com/getsentry/sentry/pull/112398)
- Refactor hooks related to the preferred agent option by @ryan953 in [#112042](https://github.com/getsentry/sentry/pull/112042)
- Include project slug-id map for repo-project fetch by @kddubey in [#112164](https://github.com/getsentry/sentry/pull/112164)
- Async load ScmRepoTreeModal where its used by @ryan953 in [#111959](https://github.com/getsentry/sentry/pull/111959)
- Move organizationConfigIntegrationsQueryOptions to be co-located with its caller by @ryan953 in [#111894](https://github.com/getsentry/sentry/pull/111894)
- Use signed API for grouping record project delete by @chromy in [#111610](https://github.com/getsentry/sentry/pull/111610)
- Delete Seer settings ProjectOption rows instead of writing defaults by @srest2021 in [#111543](https://github.com/getsentry/sentry/pull/111543)
- Move seerAgentHooks into sentry, to make it easier to create stories later by @ryan953 in [#111216](https://github.com/getsentry/sentry/pull/111216)
- Add tracing spans for context engine checks by @Mihir-Mavalankar in [#111333](https://github.com/getsentry/sentry/pull/111333)
- Refactor seer settings overview page to use the new form system by @ryan953 in [#111171](https://github.com/getsentry/sentry/pull/111171)
- Add title prop to ScmRepoTreeModal to help guide users when intent changes by @ryan953 in [#111217](https://github.com/getsentry/sentry/pull/111217)
- Update links to Seer docs to skip the redirect by @ryan953 in [#110452](https://github.com/getsentry/sentry/pull/110452)
- Pre-resolve stacktrace frames before sending to Seer by @JoshFerge in [#110898](https://github.com/getsentry/sentry/pull/110898)
- Update Seer UI headers to 'Seer Autofix' by @sfanahata in [#110924](https://github.com/getsentry/sentry/pull/110924)

#### Seer Grouping

- V2.1 flag by @kddubey in [#112841](https://github.com/getsentry/sentry/pull/112841)
- Send seer platform by @kddubey in [#111305](https://github.com/getsentry/sentry/pull/111305)

#### Settings

- Remove "new" badge from Data Forwarding by @leeandher in [#112587](https://github.com/getsentry/sentry/pull/112587)
- Migrate personal tokens pages to useScrapsForm by @JonasBa in [#110502](https://github.com/getsentry/sentry/pull/110502)
- Migrate account emails to new form system by @natemoo-re in [#110872](https://github.com/getsentry/sentry/pull/110872)
- Migrate integration org settings by @TkDodo in [#110666](https://github.com/getsentry/sentry/pull/110666)
- Migrate integration external mapping form to new form system by @TkDodo in [#110298](https://github.com/getsentry/sentry/pull/110298)

#### Slack

- Remove reactions:write scope before Slack app submission by @alexsohn1126 in [#112925](https://github.com/getsentry/sentry/pull/112925)
- Remove slack-compact-alerts flag usage by @leeandher in [#112118](https://github.com/getsentry/sentry/pull/112118)

#### Snapshots

- Track diff algorithm version on comparison results by @NicoHinderling in [#112729](https://github.com/getsentry/sentry/pull/112729)
- Add configurable diff_threshold for snapshot comparison by @NicoHinderling in [#112728](https://github.com/getsentry/sentry/pull/112728)
- Make diffing logic more strict + better handle different sized images when comparing by @NicoHinderling in [#112632](https://github.com/getsentry/sentry/pull/112632)
- Two small UI tweaks by @NicoHinderling in [#112631](https://github.com/getsentry/sentry/pull/112631)
- Remove unused org_id and project_id metric tags by @NicoHinderling in [#112496](https://github.com/getsentry/sentry/pull/112496)
- Add skill and add InputGroup snapshot tests to test skill by @rbro112 in [#112074](https://github.com/getsentry/sentry/pull/112074)
- Bump sentry-cli from 3.3.3 to 3.3.4 by @NicoHinderling in [#111649](https://github.com/getsentry/sentry/pull/111649)
- Move temp prefix to suffix on metric tags by @NicoHinderling in [#111373](https://github.com/getsentry/sentry/pull/111373)
- Temporarily rename metrics tag keys with temp_ prefix by @NicoHinderling in [#111354](https://github.com/getsentry/sentry/pull/111354)
- More snapshot tests for scrap components by @rbro112 in [#111213](https://github.com/getsentry/sentry/pull/111213)
- Add visual snapshot tests for alert and badge by @rbro112 in [#110892](https://github.com/getsentry/sentry/pull/110892)

#### Spans

- Remove chunk-oversized-segments option by @lvthanh03 in [#112606](https://github.com/getsentry/sentry/pull/112606)
- Remove graduated standalone span ingestion flag by @Dav1dde in [#112457](https://github.com/getsentry/sentry/pull/112457)
- Replace `useRouter` usage in spans `SampleList` by @shashjar in [#112297](https://github.com/getsentry/sentry/pull/112297)
- Unregister distributed payloads options by @lvthanh03 in [#111821](https://github.com/getsentry/sentry/pull/111821)
- Cleanup merge payloads code and distributed payloads migration flags by @lvthanh03 in [#111746](https://github.com/getsentry/sentry/pull/111746)
- Add tests and small clean up for spans buffer by @lvthanh03 in [#111342](https://github.com/getsentry/sentry/pull/111342)

#### St

- Expand list of full suite triggers by @joshuarli in [#112299](https://github.com/getsentry/sentry/pull/112299)
- Cutover to new selective testing infra by @joshuarli in [#112263](https://github.com/getsentry/sentry/pull/112263)
- Handle renames by @joshuarli in [#111937](https://github.com/getsentry/sentry/pull/111937)

#### Supergroups

- Remove explorer-based lightweight RCA by @cvxluo in [#112947](https://github.com/getsentry/sentry/pull/112947)
- Api expose lightweight RCA flag by @cvxluo in [#112636](https://github.com/getsentry/sentry/pull/112636)
- Remove standalone page by @cvxluo in [#112258](https://github.com/getsentry/sentry/pull/112258)

#### Tasks

- Remove seer task shims after getsentry migration by @cvxluo in [#111463](https://github.com/getsentry/sentry/pull/111463)
- Move seer-related tasks to their own folder by @cvxluo in [#111380](https://github.com/getsentry/sentry/pull/111380)

#### Tracemetrics

- Add pii scrubbing ui flag by @k-fish in [#112812](https://github.com/getsentry/sentry/pull/112812)
- Remove attributes dropdown side panel flag by @nsdeschenes in [#112341](https://github.com/getsentry/sentry/pull/112341)
- Cleanup side panel feature flag by @nsdeschenes in [#112105](https://github.com/getsentry/sentry/pull/112105)
- Remove unsortable telemetry columns behind feature flag by @nsdeschenes in [#111518](https://github.com/getsentry/sentry/pull/111518)
- Migrate metric selector to React Aria primitives by @nsdeschenes in [#110844](https://github.com/getsentry/sentry/pull/110844)
- Remove multi-agg feature flag by @nsdeschenes in [#110731](https://github.com/getsentry/sentry/pull/110731)
- Bump sentry relay to 0.9.25 by @k-fish in [#111072](https://github.com/getsentry/sentry/pull/111072)
- Clean up multi-agg overlay feature flag by @nsdeschenes in [#110661](https://github.com/getsentry/sentry/pull/110661)
- Register UI Refresh Feature Flag by @nsdeschenes in [#110978](https://github.com/getsentry/sentry/pull/110978)

#### Tsc

- Code-mappings endpoint to apiOptions by @TkDodo in [#112915](https://github.com/getsentry/sentry/pull/112915)
- Function-trends endpoint to apiOptions by @TkDodo in [#112666](https://github.com/getsentry/sentry/pull/112666)
- Move automations to apiOptions by @TkDodo in [#112369](https://github.com/getsentry/sentry/pull/112369)
- ReplayBulkDeleteAuditLog to apiOptions by @TkDodo in [#112667](https://github.com/getsentry/sentry/pull/112667)
- Organization flag logs endpoint to apiOptions by @TkDodo in [#112654](https://github.com/getsentry/sentry/pull/112654)
- Attachments endpoint to apiOptions by @TkDodo in [#112660](https://github.com/getsentry/sentry/pull/112660)
- Move automationFireHistory to apiOptions by @TkDodo in [#112361](https://github.com/getsentry/sentry/pull/112361)
- Move debugFile endpoint to apiOptions by @TkDodo in [#112565](https://github.com/getsentry/sentry/pull/112565)
- Move release endpoints to apiOptions by @TkDodo in [#112566](https://github.com/getsentry/sentry/pull/112566)
- User-reports endpoint to apiOptions by @TkDodo in [#112572](https://github.com/getsentry/sentry/pull/112572)
- Uptime-checks endpoint to apiOptions by @TkDodo in [#112573](https://github.com/getsentry/sentry/pull/112573)
- Traces endpoint to apiOptions by @TkDodo in [#112574](https://github.com/getsentry/sentry/pull/112574)
- Move detectors list query to apiOptions by @TkDodo in [#112458](https://github.com/getsentry/sentry/pull/112458)
- Move monitorList query to apiOptions by @TkDodo in [#112380](https://github.com/getsentry/sentry/pull/112380)
- Move releaseCommitFiles endpoint to apiOptions by @TkDodo in [#112355](https://github.com/getsentry/sentry/pull/112355)
- Move buildDetails endpoint to apiOptions by @TkDodo in [#112357](https://github.com/getsentry/sentry/pull/112357)
- Refactor self-contained endpoints that need response headers to apiOptions by @TkDodo in [#112347](https://github.com/getsentry/sentry/pull/112347)

#### Ui

- Remove testableTransition utility by @evanpurkhiser in [#112277](https://github.com/getsentry/sentry/pull/112277)
- Catch missing react aria text values in Jest by @scttcper in [#112030](https://github.com/getsentry/sentry/pull/112030)
- Add React DND component to app-frontend by @nsdeschenes in [#111780](https://github.com/getsentry/sentry/pull/111780)
- Remove useLocation mock from useReplaysFromIssue test by @scttcper in [#111562](https://github.com/getsentry/sentry/pull/111562)
- Remove useLocation mock from useInitialTimeOffsetMs test by @scttcper in [#111547](https://github.com/getsentry/sentry/pull/111547)
- Remove useLocation mock from useLocationQuery tests by @scttcper in [#111567](https://github.com/getsentry/sentry/pull/111567)
- Replace framer-motion ring animation with CSS transition by @evanpurkhiser in [#111193](https://github.com/getsentry/sentry/pull/111193)

#### Uptime

- Bump max subscriptions to 1000 by @wedamija in [#111045](https://github.com/getsentry/sentry/pull/111045)
- Clean up invoke_checker_validator mocks in tests by @evanpurkhiser in [#110899](https://github.com/getsentry/sentry/pull/110899)

#### Utils

- Simplify useDimensions types by removing type parameter by @JoshuaKGoldberg in [#112460](https://github.com/getsentry/sentry/pull/112460)
- Remove dead execute() function by @gricha in [#112199](https://github.com/getsentry/sentry/pull/112199)
- Add functional updater support to useSessionStorage by @jaydgoss in [#111015](https://github.com/getsentry/sentry/pull/111015)

#### Workflows

- Don't export metrics_incr from workflow_engine.utils by @kcons in [#112871](https://github.com/getsentry/sentry/pull/112871)
- More assert_serializer_parity in backport tests by @kcons in [#112843](https://github.com/getsentry/sentry/pull/112843)
- Schedule prune_old_open_period_activity by @kcons in [#112320](https://github.com/getsentry/sentry/pull/112320)
- Unify AlertRuleDetectory querying in WorkflowEngineDetectorSerializer by @kcons in [#112071](https://github.com/getsentry/sentry/pull/112071)
- Batch AlertRuleDetector lookups in WorkflowEngineDetectorSerializer by @kcons in [#111971](https://github.com/getsentry/sentry/pull/111971)
- Stop scheduling sentry.workflow_engine.tasks.cleanup.prune_old_fire_history by @kcons in [#111792](https://github.com/getsentry/sentry/pull/111792)
- Batch Action fetching in WorkflowEngineRuleSerializer by @kcons in [#111945](https://github.com/getsentry/sentry/pull/111945)
- Avoid excessive querying in WorkflowEngineRuleSerializer by @kcons in [#111942](https://github.com/getsentry/sentry/pull/111942)
- Add MetricAlertRegistryHandler.get_targets; use it in WorkflowEngineActionSerializer by @kcons in [#111771](https://github.com/getsentry/sentry/pull/111771)
- Query batching in WorkflowEngineDataConditionSerializer by @kcons in [#111767](https://github.com/getsentry/sentry/pull/111767)
- Batch ActionAlertRuleTriggerAction lookup in WorkflowEngineActionSerializer by @kcons in [#111763](https://github.com/getsentry/sentry/pull/111763)
- Avoid ~0.6s regression in backported OrganizationCombinedRuleIndexEndpoint.get by @kcons in [#111692](https://github.com/getsentry/sentry/pull/111692)
- Avoid N+1 in WorkflowEngineDetectorSerializer by @kcons in [#111673](https://github.com/getsentry/sentry/pull/111673)
- Use WorkflowId directly instead of \_ActionFilterCacheKey when caching action filters by @kcons in [#111492](https://github.com/getsentry/sentry/pull/111492)
- Add delta test for ProjectRuleDetailsEndpoint by @kcons in [#111340](https://github.com/getsentry/sentry/pull/111340)

#### Other

- (action creators) Replace `browserHistory` usage in organizations actionCreator by @shashjar in [#112544](https://github.com/getsentry/sentry/pull/112544)
- (ai-search) Cleanup redundant ai flag checks by @aliu39 in [#111453](https://github.com/getsentry/sentry/pull/111453)
- (apigateway) Async proxy timeouts configuration by @gi0baro in [#111918](https://github.com/getsentry/sentry/pull/111918)
- (backend) Enable xdist on PRs with 2 workers by @mchen-sentry in [#111557](https://github.com/getsentry/sentry/pull/111557)
- (cardinality) Remove cardinality limiter options by @Dav1dde in [#112772](https://github.com/getsentry/sentry/pull/112772)
- (charts) Remove `browserHistory` usage from `BarChartZoom` component by @shashjar in [#112546](https://github.com/getsentry/sentry/pull/112546)
- (cmd-k) Swap fuse for fzf search implementation by @JonasBa in [#111483](https://github.com/getsentry/sentry/pull/111483)
- (code-mappings) Move code mapping CODEOWNERS to coding-workflows by @roggenkemper in [#111939](https://github.com/getsentry/sentry/pull/111939)
- (coding integrations) Get current branch from autofix state by @sehr-m in [#111368](https://github.com/getsentry/sentry/pull/111368)
- (context engine) Bucket orgs by hour before checking feature flags by @Mihir-Mavalankar in [#111168](https://github.com/getsentry/sentry/pull/111168)
- (csp) Allow to iframe `demo.arcade.software` by @oioki in [#111406](https://github.com/getsentry/sentry/pull/111406)
- (data-export) Extract helper methods from endpoint and assemble_download task by @manessaraj in [#112617](https://github.com/getsentry/sentry/pull/112617)
- (debug_files) Use keys instead of set(keys) by @szokeasaurusrex in [#110967](https://github.com/getsentry/sentry/pull/110967)
- (docker) Precompile all application source files by @vgrozdanic in [#110877](https://github.com/getsentry/sentry/pull/110877)
- (errors) Explicitly throw on empty group_id snuba query by @thetruecpaul in [#110923](https://github.com/getsentry/sentry/pull/110923)
- (events) Use cached group lookup on existing grouphash association by @beezz in [#110619](https://github.com/getsentry/sentry/pull/110619)
- (features) Remove `organizations:device-class-synthesis` by @wedamija in [#112743](https://github.com/getsentry/sentry/pull/112743)
- (feedback) Collapse stats on feedback group details request by @scttcper in [#111947](https://github.com/getsentry/sentry/pull/111947)
- (flamegraph) Replace transactions dataset in profile candidates by @mjq in [#112406](https://github.com/getsentry/sentry/pull/112406)
- (frontend) Increase Node memory limit to 8GB by @evanpurkhiser in [#112010](https://github.com/getsentry/sentry/pull/112010)
- (hybridcloud) Skip correlated subqueries in user.serialize_many by @scttcper in [#112500](https://github.com/getsentry/sentry/pull/112500)
- (infiniteFetching) Create useFetchAllPages() to create a pattern for overfetching from the api by @ryan953 in [#111226](https://github.com/getsentry/sentry/pull/111226)
- (issue-detection) Increase LLM detection schedule from hourly to every 15 min by @roggenkemper in [#113061](https://github.com/getsentry/sentry/pull/113061)
- (issue-list) Simplify monitors dropdown labels and item behavior by @JonasBa in [#112450](https://github.com/getsentry/sentry/pull/112450)
- (issue-ownership) Remove reassignment-from-own-team exception by @cvxluo in [#112877](https://github.com/getsentry/sentry/pull/112877)
- (llm-detector) Add feedback button to LLM detection issues by @roggenkemper in [#112604](https://github.com/getsentry/sentry/pull/112604)
- (night-shift) Use seer-project-settings helpers for project eligibility by @chromy in [#112936](https://github.com/getsentry/sentry/pull/112936)
- (nodestore) Add cache metrics to get_multi and configurable TTL by @BYK in [#111283](https://github.com/getsentry/sentry/pull/111283)
- (np) Changes data and target serialization to use Pydantic models by @GabeVillalobos in [#110936](https://github.com/getsentry/sentry/pull/110936)
- (occurrences on eap) Make reasonable match comparator for `is_escalating` query slightly more lenient by @shashjar in [#112589](https://github.com/getsentry/sentry/pull/112589)
- (options) Remove spans.buffer.done-flush-conditional-zrem option by @untitaker in [#111613](https://github.com/getsentry/sentry/pull/111613)
- (org-tokens) Update scope help text for organization tokens by @romtsn in [#112049](https://github.com/getsentry/sentry/pull/112049)
- (organization stats) Replace `useRouter` usages in organization stats team insights by @shashjar in [#112316](https://github.com/getsentry/sentry/pull/112316)
- (otlp) Remove organizations:span-v2-otlp-processing feature flag by @mjq in [#110984](https://github.com/getsentry/sentry/pull/110984)
- (oxfmt) Update vscode config to recommend oxfmt instead of prettier by @ryan953 in [#111272](https://github.com/getsentry/sentry/pull/111272)
- (plugins) Migrate plugin config to BackendJsonSubmitForm by @priscilawebdev in [#112340](https://github.com/getsentry/sentry/pull/112340)
- (processing_errors) Generalize detection framework for multiple config issue types by @wedamija in [#111326](https://github.com/getsentry/sentry/pull/111326)
- (profiles) Remove dead code from `process_profile_task` by @mjq in [#112257](https://github.com/getsentry/sentry/pull/112257)
- (projects) Replace `useRouter` calls for `PickProjectToContinue` usages by @shashjar in [#112317](https://github.com/getsentry/sentry/pull/112317)
- (py) Remove backwards-compatible org serializer aliases by @evanpurkhiser in [#112271](https://github.com/getsentry/sentry/pull/112271)
- (replays) Update ownership to databrowsing by @wmak in [#111023](https://github.com/getsentry/sentry/pull/111023)
- (repos) Renames and moves some queryOptions calls for `/organization/:orgId/repos/` by @ryan953 in [#112744](https://github.com/getsentry/sentry/pull/112744)
- (rr6) Remove useRouter from pageFilters actions by @evanpurkhiser in [#110888](https://github.com/getsentry/sentry/pull/110888)
- (schema) Update commit schema to use looseObject for improved validation by @TkDodo in [#110737](https://github.com/getsentry/sentry/pull/110737)
- (sdk) Filter `asyncio.CancelledError` events by @gi0baro in [#112459](https://github.com/getsentry/sentry/pull/112459)
- (security-headers) Migrate CSP settings form to AutoSaveField by @JonasBa in [#109366](https://github.com/getsentry/sentry/pull/109366)
- (seer-slack) Allow for a slack-staging provider by @leeandher in [#111745](https://github.com/getsentry/sentry/pull/111745)
- (selective-testing) Add tests to always be executed in selective testing by @rbro112 in [#112154](https://github.com/getsentry/sentry/pull/112154)
- (skills) Replace stale space() references with theme.space tokens by @scttcper in [#111586](https://github.com/getsentry/sentry/pull/111586)
- (slack-seer) Tweak suggested prompts for DMs by @leeandher in [#112847](https://github.com/getsentry/sentry/pull/112847)
- (source-map-issues) Adding tests for problem, diagnosis and troubleshooting sections by @Abdkhan14 in [#112472](https://github.com/getsentry/sentry/pull/112472)
- (spans-migration) Make feature flag to rewrite AM1 metric alerts to transactions by @nikkikapadia in [#112598](https://github.com/getsentry/sentry/pull/112598)
- (stacktrace) Clean up filename in new stack trace by @scttcper in [#111726](https://github.com/getsentry/sentry/pull/111726)
- (supergroups-backfill) Reduce lightweight backfill batch size and delay by @yuvmen in [#112761](https://github.com/getsentry/sentry/pull/112761)
- (supergruops) Remove list-all endpoint by @cvxluo in [#112259](https://github.com/getsentry/sentry/pull/112259)
- (tags) Use placeholder loader by @JonasBa in [#113025](https://github.com/getsentry/sentry/pull/113025)
- (taskbroker) Add topic for example task activations by @evanh in [#110674](https://github.com/getsentry/sentry/pull/110674)
- (tests) Replace store_replays_eap with store_eap_items by @wedamija in [#110148](https://github.com/getsentry/sentry/pull/110148)
- (testutils) Make cell_names required in assert_webhook_payloads_from_mailbox by @lynnagara in [#112891](https://github.com/getsentry/sentry/pull/112891)
- (unreal) Add rollout option for expansion logic in endpoint by @tobias-wilfert in [#112899](https://github.com/getsentry/sentry/pull/112899)
- (useApiQueries) Refactor the two callers of useApiQueries to remove that abstraction by @ryan953 in [#112870](https://github.com/getsentry/sentry/pull/112870)
- (vercel) Skip gzip pre-compression and cache hashed assets in deploy previews by @scttcper in [#112108](https://github.com/getsentry/sentry/pull/112108)
- (webvitals) Break circular import by moving ORDER constant to types by @scttcper in [#111487](https://github.com/getsentry/sentry/pull/111487)
- (workflow engine) Add assert_serializer_parity, use it for API delta tests by @kcons in [#111372](https://github.com/getsentry/sentry/pull/111372)
- (workflow_engine) Cleanup on project create code by @saponifi3d in [#112246](https://github.com/getsentry/sentry/pull/112246)
- Update protos version by @noahsmartin in [#113011](https://github.com/getsentry/sentry/pull/113011)
- Xdist acceptance by @joshuarli in [#112866](https://github.com/getsentry/sentry/pull/112866)
- Prefer `renderHookWithProviders()` over `renderHook()` and manually creating a wrapper. by @ryan953 in [#112863](https://github.com/getsentry/sentry/pull/112863)
- Add span indexed usage data category mapping by @noahsmartin in [#112815](https://github.com/getsentry/sentry/pull/112815)
- Remove graduated feature flag performance-mep-bannerless-ui by @wedamija in [#111147](https://github.com/getsentry/sentry/pull/111147)
- Update protos to 0.8.11 by @noahsmartin in [#112807](https://github.com/getsentry/sentry/pull/112807)
- Remove unused continuous-profiling-beta feature flag by @elramen in [#111394](https://github.com/getsentry/sentry/pull/111394)
- Migrate externalIssues to scrapsForm by @TkDodo in [#112094](https://github.com/getsentry/sentry/pull/112094)
- Remove dead code after continuous-profiling-beta ff removal by @elramen in [#111427](https://github.com/getsentry/sentry/pull/111427)
- Remove changelog-preview.yml by @joshuarli in [#112408](https://github.com/getsentry/sentry/pull/112408)
- Convert from useRoutes() to useMatches() in areas related to getRouteStringFromRoutes() by @ryan953 in [#112265](https://github.com/getsentry/sentry/pull/112265)
- Replace useUrlParams in favor of nuqs by @ryan953 in [#112268](https://github.com/getsentry/sentry/pull/112268)
- Skip flaky tests/acceptance/test_proxy.py::EndToEndAPIProxyTest::test_through_api_gateway by @joshuarli in [#112238](https://github.com/getsentry/sentry/pull/112238)
- Bump sentry-protos 0.8.10 by @brendanhsentry in [#112225](https://github.com/getsentry/sentry/pull/112225)
- Bump sentry-arroyo to 2.38.7 by @getsentry-bot in [#112117](https://github.com/getsentry/sentry/pull/112117)
- Update TanStack Query by @TkDodo in [#111884](https://github.com/getsentry/sentry/pull/111884)
- Re-run `codeowners-coverage baseline` to trim output by @ryan953 in [#112062](https://github.com/getsentry/sentry/pull/112062)
- Bump sentry-arroyo to 2.38.5 by @getsentry-bot in [#111789](https://github.com/getsentry/sentry/pull/111789)
- Update TanStack Form by @TkDodo in [#111873](https://github.com/getsentry/sentry/pull/111873)
- Add --changedSince base SHA to Jest in CI by @JoshuaKGoldberg in [#110568](https://github.com/getsentry/sentry/pull/110568)
- Change context engine index to use explorer index flag by @shruthilayaj in [#111662](https://github.com/getsentry/sentry/pull/111662)
- Bump sentry-protos 0.8.8 by @brendanhsentry in [#111580](https://github.com/getsentry/sentry/pull/111580)
- Temporarily skip test_quick_start_not_rendered_because_all_tasks_completed_and_overdue by @armenzg in [#111609](https://github.com/getsentry/sentry/pull/111609)
- Migrate remaining consumer ThreadPoolExecutor usages and re-enable S016 by @gricha in [#111569](https://github.com/getsentry/sentry/pull/111569)
- Remove graduated feature flag performance-new-widget-designs by @wedamija in [#111145](https://github.com/getsentry/sentry/pull/111145)
- Add machine-learning-ai as codeowner for SeerComboBox files by @aliu39 in [#111456](https://github.com/getsentry/sentry/pull/111456)
- Bump pytest-django to 4.12.0 by @getsentry-bot in [#111508](https://github.com/getsentry/sentry/pull/111508)
- Migrate webhook delivery ThreadPoolExecutor by @gricha in [#111465](https://github.com/getsentry/sentry/pull/111465)
- Migrate ThreadPoolExecutor to ContextPropagatingThreadPoolExecutor by @gricha in [#111460](https://github.com/getsentry/sentry/pull/111460)
- Remove graduated feature flags (performance-spans-new-ui, performance-vitals-standalone-cls-lcp, starfish-mobile-appstart, statistical-detectors-rca-spans-only) by @wedamija in [#111117](https://github.com/getsentry/sentry/pull/111117)
- Migrate remaining default exports of static constructs to named by @JoshuaKGoldberg in [#111065](https://github.com/getsentry/sentry/pull/111065)
- Remove graduated feature flag performance-new-trends by @wedamija in [#111146](https://github.com/getsentry/sentry/pull/111146)
- Pin GitHub Actions to full-length commit SHAs by @joshuarli in [#111336](https://github.com/getsentry/sentry/pull/111336)
- Add sentry knowledge index task by @shruthilayaj in [#111289](https://github.com/getsentry/sentry/pull/111289)
- Add eslint-plugin-regexp's straightforward recommended rules by @JoshuaKGoldberg in [#109209](https://github.com/getsentry/sentry/pull/109209)
- Bump sentry-protos to 0.8.7 by @noahsmartin in [#111239](https://github.com/getsentry/sentry/pull/111239)
- Graduate ourlogs-replay-ui and ourlogs-export feature flags by @wedamija in [#110004](https://github.com/getsentry/sentry/pull/110004)
- Upgrade action-github-app-token by @joshuarli in [#111133](https://github.com/getsentry/sentry/pull/111133)
- Getsentry-dispatch-selective by @joshuarli in [#111116](https://github.com/getsentry/sentry/pull/111116)
- Remove now-unnecessary Node.js --experimental-transform-types flag by @JoshuaKGoldberg in [#110629](https://github.com/getsentry/sentry/pull/110629)
- Migrate default exports in files with other named exports to named by @JoshuaKGoldberg in [#110853](https://github.com/getsentry/sentry/pull/110853)
- Bump sentry-protos to >=0.8.5 by @dashed in [#110928](https://github.com/getsentry/sentry/pull/110928)
- Remove SSH file by @evanpurkhiser in [#110911](https://github.com/getsentry/sentry/pull/110911)
- Delete labels-sync by @joshuarli in [#109140](https://github.com/getsentry/sentry/pull/109140)
- Bump new development version in [7c495578](https://github.com/getsentry/sentry/commit/7c4955783ea1c40c90cb25669cb26a27ce2e627c)
- Refactor hook: routes:settings to routes:org-settings by @ryan953 in [#110871](https://github.com/getsentry/sentry/pull/110871)

### Other

- Enforce basic sanitization in email tempaltes for org display names by @geoffg-sentry in [#113052](https://github.com/getsentry/sentry/pull/113052)
- Remove organizations:autofix-on-explorer-v2 flag by @chromy in [#113038](https://github.com/getsentry/sentry/pull/113038)
- ref(settings) stretch settings layout by @JonasBa in [#113022](https://github.com/getsentry/sentry/pull/113022)
- feat(cells) Add function to look up new org cell in a locality by @markstory in [#112840](https://github.com/getsentry/sentry/pull/112840)
- billing platform lint rule by @noahsmartin in [#112838](https://github.com/getsentry/sentry/pull/112838)
- ref(cmdk) add see more functionality by @JonasBa in [#112837](https://github.com/getsentry/sentry/pull/112837)
- bug(billing): no longer offering mm2 plans as a destination for changing a user's plan in admin by @swartzrock in [#112754](https://github.com/getsentry/sentry/pull/112754)
- Fix duplicate exception thread in Apple crash report output by @romtsn in [#112783](https://github.com/getsentry/sentry/pull/112783)
- ref(cmdk) add query tracking by @JonasBa in [#112707](https://github.com/getsentry/sentry/pull/112707)
- ref(cmdk) add link detection by @JonasBa in [#112611](https://github.com/getsentry/sentry/pull/112611)
- ref(cmdk) prevent empty state for empty prompt queries by @JonasBa in [#112763](https://github.com/getsentry/sentry/pull/112763)
- ref(cmdk) jsx powered cmdk by @JonasBa in [#112262](https://github.com/getsentry/sentry/pull/112262)
- types(incidents): Stronglist sentry.incidents.metric_issue_detector by @kcons in [#112638](https://github.com/getsentry/sentry/pull/112638)
- Check project access during groupId issue linking by @geoffg-sentry in [#112605](https://github.com/getsentry/sentry/pull/112605)
- feat(explore) Add export functionality to export logs as JSON lines. by @manessaraj in [#112022](https://github.com/getsentry/sentry/pull/112022)
- ref(nav) use topbar slot for feedback button by @JonasBa in [#112443](https://github.com/getsentry/sentry/pull/112443)
- Remove deprecated fields from CustomerUsage type by @noahsmartin in [#112442](https://github.com/getsentry/sentry/pull/112442)
- fix(controlsilo) Don't include internal endpoints in controlsilourls by @markstory in [#112166](https://github.com/getsentry/sentry/pull/112166)
- change query to check all repos, not only the first page. by @rodolfoBee in [#112334](https://github.com/getsentry/sentry/pull/112334)
- (fix) add pendo as a known outside click by @cobyeastwood183 in [#112388](https://github.com/getsentry/sentry/pull/112388)
- Remove NOT REQUIRED from snapshots generation workflow by @rbro112 in [#112372](https://github.com/getsentry/sentry/pull/112372)
- ref(cmdk) fix panel container by @JonasBa in [#112236](https://github.com/getsentry/sentry/pull/112236)
- ref(cmdk) fix space input by @JonasBa in [#112231](https://github.com/getsentry/sentry/pull/112231)
- bug(snapshots): Fix bug in snapshots status check where approval not reflected in status column by @rbro112 in [#112223](https://github.com/getsentry/sentry/pull/112223)

_Plus 79 more_

26.3.1
------

### New Features ✨

#### Aci

- Handle owner passed to workflow by @ceorourke in [#110785](https://github.com/getsentry/sentry/pull/110785)
- Make ProjectRuleDetailsEndpoint PUT method backwards compatible by @ceorourke in [#110381](https://github.com/getsentry/sentry/pull/110381)

#### Autofix

- Add SDK tags to \_trigger_autofix_task for observability by @Mihir-Mavalankar in [#110796](https://github.com/getsentry/sentry/pull/110796)
- Allow users to add feedback when rethinking by @Zylphrex in [#110695](https://github.com/getsentry/sentry/pull/110695)
- Support user feedback in autofix steps by @Zylphrex in [#110694](https://github.com/getsentry/sentry/pull/110694)

#### Dashboards

- Clarify pre-built dashboard UI by @DominikB2014 in [#110852](https://github.com/getsentry/sentry/pull/110852)
- Track failed query runs on generated widgets by @edwardgou-sentry in [#110633](https://github.com/getsentry/sentry/pull/110633)
- Adds validateOnly param to dry run and short circuit dashboard save by @edwardgou-sentry in [#110746](https://github.com/getsentry/sentry/pull/110746)
- Add text widget handling in widget builder state functions by @nikkikapadia in [#110577](https://github.com/getsentry/sentry/pull/110577)
- Add missing referrers to Referrer enum by @DominikB2014 in [#110741](https://github.com/getsentry/sentry/pull/110741)

#### Integrations

- Add bulk code mappings API endpoint by @romtsn in [#109785](https://github.com/getsentry/sentry/pull/109785)
- Expand `org:ci` token permissions to Bulk Code Mapping API endpoints by @romtsn in [#109783](https://github.com/getsentry/sentry/pull/109783)

#### Occurrences On Eap

- Fix `OccurrenceCategory` filtering in query layer by @shashjar in [#110591](https://github.com/getsentry/sentry/pull/110591)
- Update attribute definitions by @shashjar in [#110587](https://github.com/getsentry/sentry/pull/110587)
- Implement double-read errors query for summaries task by @shashjar in [#110279](https://github.com/getsentry/sentry/pull/110279)
- Ingest issue platform occurrence data into EAP by @shashjar in [#110581](https://github.com/getsentry/sentry/pull/110581)

#### Onboarding

- Scaffold SCM onboarding steps with placeholder UI by @jaydgoss in [#110747](https://github.com/getsentry/sentry/pull/110747)
- Register onboarding-scm feature flag by @jaydgoss in [#110570](https://github.com/getsentry/sentry/pull/110570)

#### Spans

- Add shard/slice_id tags to flusher metrics by @untitaker in [#110748](https://github.com/getsentry/sentry/pull/110748)
- Add option to skip enrichment per project in process-segments consumer by @vgrozdanic in [#110736](https://github.com/getsentry/sentry/pull/110736)

#### Tracemetrics

- Remove tracemetric from state by @narsaynorath in [#110786](https://github.com/getsentry/sentry/pull/110786)
- Add metric detail side panel to dropdown by @nsdeschenes in [#110343](https://github.com/getsentry/sentry/pull/110343)
- Add feature flag for multi-metrics selection by @narsaynorath in [#110777](https://github.com/getsentry/sentry/pull/110777)

#### Other

- (admin) Add abuse mark areas to org stats chart by @priscilawebdev in [#110495](https://github.com/getsentry/sentry/pull/110495)
- (attributes) Add batch attribute validation endpoint for trace items - Round 2 by @nsdeschenes in [#110647](https://github.com/getsentry/sentry/pull/110647)
- (cells) Add the rpc methods for project key mapping by @lynnagara in [#110589](https://github.com/getsentry/sentry/pull/110589)
- (ci) Xdist per-worker isolation infrastructure by @mchen-sentry in [#110775](https://github.com/getsentry/sentry/pull/110775)
- (eslint) Remove component-like restriction from no-default-export(-components) rule by @JoshuaKGoldberg in [#110631](https://github.com/getsentry/sentry/pull/110631)
- (explore) Migrate explore saved queries to not use number for bool by @wmak in [#110492](https://github.com/getsentry/sentry/pull/110492)
- (occ-eap) Update tagstore to query attrs instead of tags by @thetruecpaul in [#110761](https://github.com/getsentry/sentry/pull/110761)
- (supergroups) Pass `project_id` when triggering supergroups embedding by @cvxluo in [#110795](https://github.com/getsentry/sentry/pull/110795)
- (tests) Update S015 rule to prevent hardcoding future years by @armenzg in [#110738](https://github.com/getsentry/sentry/pull/110738)
- (uptime) Backfill 2xx status code assertions on all uptime subscriptions by @evanpurkhiser in [#108678](https://github.com/getsentry/sentry/pull/108678)
- (workflow-engine) Add TypedDicts for WorkflowValidator input format by @kcons in [#110692](https://github.com/getsentry/sentry/pull/110692)

### Bug Fixes 🐛

#### Dashboards

- Resolve prebuilt dashboard placeholder IDs before duplication by @gggritso in [#110802](https://github.com/getsentry/sentry/pull/110802)
- Only trigger echarts dispatch sync for visible widgets by @narsaynorath in [#110683](https://github.com/getsentry/sentry/pull/110683)
- Interval should be maintained when editing widget by @bcoe in [#110719](https://github.com/getsentry/sentry/pull/110719)

#### Performance

- Rename HTTP method attribute for EAP txn summary profiles by @mjq in [#110771](https://github.com/getsentry/sentry/pull/110771)
- Add is_transaction filter to FailureRateWidget queries by @mjq in [#110767](https://github.com/getsentry/sentry/pull/110767)
- Hide Tags tab in EAP transaction summary by @mjq in [#110709](https://github.com/getsentry/sentry/pull/110709)

#### Scm

- Prevent 1px text shift when toggling SCM integration row by @ryan953 in [#110799](https://github.com/getsentry/sentry/pull/110799)
- Remove exception squash by @cmanallen in [#110764](https://github.com/getsentry/sentry/pull/110764)

#### Spans

- Unlink distributed payload keys individually to avoid cross-slot errors by @lvthanh03 in [#110790](https://github.com/getsentry/sentry/pull/110790)
- Remove invalid end_timestamp kwarg from Span in test by @untitaker in [#110788](https://github.com/getsentry/sentry/pull/110788)
- Prevent silent span loss in done_flush_segments by @untitaker in [#110462](https://github.com/getsentry/sentry/pull/110462)

#### Ui

- Fix tooltips staying open by @k-fish in [#110867](https://github.com/getsentry/sentry/pull/110867)
- Update route error page with troubleshooting guide and support instructions by @nora-shap in [#110687](https://github.com/getsentry/sentry/pull/110687)

#### Other

- (aci) Show detector environment in disabled environment selector by @scttcper in [#110778](https://github.com/getsentry/sentry/pull/110778)
- (admin) Clean up sample rate display when rates match by @priscilawebdev in [#110832](https://github.com/getsentry/sentry/pull/110832)
- (ai-conversations) Order spans by end timestamp by @obostjancic in [#110841](https://github.com/getsentry/sentry/pull/110841)
- (apple-crash-report) Make code more defensive by @tobias-wilfert in [#110617](https://github.com/getsentry/sentry/pull/110617)
- (copilot) Use `state` field instead of `status` for task lifecycle by @JoshFerge in [#110793](https://github.com/getsentry/sentry/pull/110793)
- (difs) Use PROTECT for shared debug files by @szokeasaurusrex in [#110411](https://github.com/getsentry/sentry/pull/110411)
- (dynamic-groups) Adjust issue list links, query by @scttcper in [#110801](https://github.com/getsentry/sentry/pull/110801)
- (eventOrGroupHeader) Improve click target area for linked error in trace view by @TkDodo in [#110740](https://github.com/getsentry/sentry/pull/110740)
- (explore) Disable drop transition on group-by sortable items by @JoshuaKGoldberg in [#110676](https://github.com/getsentry/sentry/pull/110676)
- (form) Allow form stories to grow by @TkDodo in [#110848](https://github.com/getsentry/sentry/pull/110848)
- (integrations) Add select_for_update() to repository update methods by @vgrozdanic in [#108343](https://github.com/getsentry/sentry/pull/108343)
- (issues) Add new stack trace feature flag by @scttcper in [#110779](https://github.com/getsentry/sentry/pull/110779)
- (logs) Show span_id in log detail view by @mjq in [#110710](https://github.com/getsentry/sentry/pull/110710)
- (organizations) Add select_for_update to prevent race condition in set_user_for_organization_member by @vgrozdanic in [#108344](https://github.com/getsentry/sentry/pull/108344)
- (scoping) Pass X-Viewer-Context on supergroups list/get requests to Seer by @gricha in [#110773](https://github.com/getsentry/sentry/pull/110773)
- (sdk-crash) Exclude React Native fetch instrumentation from SDK crash detection by @antonis in [#110735](https://github.com/getsentry/sentry/pull/110735)
- (seer) Handle empty response in SCM integrations query by @oioki in [#110836](https://github.com/getsentry/sentry/pull/110836)
- (self-hosted) Migration inconsistency by @hubertdeng123 in [#110810](https://github.com/getsentry/sentry/pull/110810)
- (summaries) Use `Op.EQ` instead of `Op.IN` for a scalar value filter in Snuba query by @shashjar in [#110693](https://github.com/getsentry/sentry/pull/110693)
- (tests) Use explicit region override in snowflake ID tests by @mchen-sentry in [#110774](https://github.com/getsentry/sentry/pull/110774)
- Revert "feat(spans): add per-trace segment flush limit" by @lvthanh03 in [#110642](https://github.com/getsentry/sentry/pull/110642)
- Missing some available project instrumentation by @shruthilayaj in [#110689](https://github.com/getsentry/sentry/pull/110689)

### Internal Changes 🔧

#### Cells

- Clean up temporary region aliases by @lynnagara in [#110762](https://github.com/getsentry/sentry/pull/110762)
- Rename python code in hybrid cloud models by @lynnagara in [#110769](https://github.com/getsentry/sentry/pull/110769)
- Silo client renames by @lynnagara in [#110701](https://github.com/getsentry/sentry/pull/110701)
- Migrate org provisioning code from region -> cell by @lynnagara in [#110696](https://github.com/getsentry/sentry/pull/110696)
- Update rpc callers to pass cell_name by @lynnagara in [#110702](https://github.com/getsentry/sentry/pull/110702)
- Update handle_async_deletion and handle_async_replication model methods by @lynnagara in [#110707](https://github.com/getsentry/sentry/pull/110707)
- Switch callers to new rpc methods by @lynnagara in [#110691](https://github.com/getsentry/sentry/pull/110691)

#### Seer

- Move seer settings routes into a getsentry hook by @ryan953 in [#110811](https://github.com/getsentry/sentry/pull/110811)
- Change prompt to include fix in commit by @sehr-m in [#110813](https://github.com/getsentry/sentry/pull/110813)
- Drop SeerOrganizationSettings table by @srest2021 in [#110660](https://github.com/getsentry/sentry/pull/110660)

#### Spans

- Remove zero-copy-dest-threshold option and SUNIONSTORE codepath by @untitaker in [#110759](https://github.com/getsentry/sentry/pull/110759)
- Remove unused end_timestamp from Span NamedTuple by @untitaker in [#109788](https://github.com/getsentry/sentry/pull/109788)

#### Supergroups

- Consolidate supergroups files into dedicated package by @cvxluo in [#110803](https://github.com/getsentry/sentry/pull/110803)
- Filter out supergroups with only one issue by @cvxluo in [#110714](https://github.com/getsentry/sentry/pull/110714)

#### Uptime

- Remove uptime-runtime-assertions feature flag by @evanpurkhiser in [#110478](https://github.com/getsentry/sentry/pull/110478)
- Remove uptime-runtime-assertions feature flag [frontend] by @evanpurkhiser in [#110477](https://github.com/getsentry/sentry/pull/110477)

#### Other

- (Backend) Added newly released iPad Air M4, Vision Pro M5 and rename devices to align with apple's device naming by @itaybre in [#110045](https://github.com/getsentry/sentry/pull/110045)
- (CI) Exclude acceptance tests from backend workflow to optimize CI runs by @TkDodo in [#110632](https://github.com/getsentry/sentry/pull/110632)
- (code-review) Remove old references to prevent app by @suejung-sentry in [#107015](https://github.com/getsentry/sentry/pull/107015)
- (core) Rename AutoSaveField to AutoSaveForm by @TkDodo in [#110733](https://github.com/getsentry/sentry/pull/110733)
- (dashboards) Use VisualizationWidget in fullscreen widget viewer by @DominikB2014 in [#110765](https://github.com/getsentry/sentry/pull/110765)
- (explore) Remove duplicate number attributes that exist as boolean tags by @nsdeschenes in [#110518](https://github.com/getsentry/sentry/pull/110518)
- (explorer) Register RepoClient methods for local rpc by @aliu39 in [#110728](https://github.com/getsentry/sentry/pull/110728)
- (grouping) More parameterization metric improvements by @lobsterkatie in [#110782](https://github.com/getsentry/sentry/pull/110782)
- (lint) Add common ast utils by @natemoo-re in [#110446](https://github.com/getsentry/sentry/pull/110446)
- (occ-eap) Misspell referer [sic] by @thetruecpaul in [#110805](https://github.com/getsentry/sentry/pull/110805)
- (options) Remove ai-agent-monitoring.custom-model-mapping option by @vgrozdanic in [#110835](https://github.com/getsentry/sentry/pull/110835)
- (preprod) Extract section chrome from diff components into parent by @mtopo27 in [#110558](https://github.com/getsentry/sentry/pull/110558)
- (rr6) Convert RedirectToProjectModal to hooks by @evanpurkhiser in [#110744](https://github.com/getsentry/sentry/pull/110744)
- (settings) Convert OrganizationRules from class to function component by @JoshuaKGoldberg in [#109561](https://github.com/getsentry/sentry/pull/109561)
- (span-buffer) Test span buffer against examples by @untitaker in [#109318](https://github.com/getsentry/sentry/pull/109318)
- (symbols) Extract DIF file validation helper by @szokeasaurusrex in [#110429](https://github.com/getsentry/sentry/pull/110429)
- (traces) Prefer transaction over span.name for trace naming by @mjq in [#110708](https://github.com/getsentry/sentry/pull/110708)
- Migrate remaining non-component default export values to named by @JoshuaKGoldberg in [#110630](https://github.com/getsentry/sentry/pull/110630)
- Bump new development version in [0685f415](https://github.com/getsentry/sentry/commit/0685f4152f77e0867c5fa4bb0e187913dfe7de59)
- Added newly released iPad Air M4, Vision Pro M5 and rename devices to align with apple's device naming by @itaybre in [#110043](https://github.com/getsentry/sentry/pull/110043)

### Other

- fix(nav) fix navigation icon container by @JonasBa in [#110864](https://github.com/getsentry/sentry/pull/110864)
- ref(nav) update whatsnew and service incidents by @JonasBa in [#110809](https://github.com/getsentry/sentry/pull/110809)
- adds chat panel to generate dashboards flow by @edwardgou-sentry in [#110725](https://github.com/getsentry/sentry/pull/110725)
- Add alarm to cut trigger on sentry app webhook timing out by @Christinarlong in [#108563](https://github.com/getsentry/sentry/pull/108563)
- bug(preprod): Fix overlay color selection by @rbro112 in [#110772](https://github.com/getsentry/sentry/pull/110772)
- debug(span-buffer): more precise metrics for ttl expiration by @victoria-yining-huang in [#110635](https://github.com/getsentry/sentry/pull/110635)
- ref(nav) layout by @JonasBa in [#110590](https://github.com/getsentry/sentry/pull/110590)
- Add GitLab to the SCM platform by @jacquev6 in [#109468](https://github.com/getsentry/sentry/pull/109468)
- feat(explore) Adding epm, eps columns to occurrences dataset by @manessaraj in [#110540](https://github.com/getsentry/sentry/pull/110540)

26.3.0
------

### New Features ✨

#### Aci

- Make rule stats and group history endpoints backwards compatible by @ceorourke in [#110282](https://github.com/getsentry/sentry/pull/110282)
- Make ProjectRulesEndpoint POST method backwards compatible by @ceorourke in [#109926](https://github.com/getsentry/sentry/pull/109926)
- Add error for unsupported condition by @ceorourke in [#110025](https://github.com/getsentry/sentry/pull/110025)
- Dual delete Workflow/Rule if flag enabled by @ceorourke in [#110003](https://github.com/getsentry/sentry/pull/110003)
- Make OrganizationAlertRuleDetails DELETE method backwards compatible by @ceorourke in [#109845](https://github.com/getsentry/sentry/pull/109845)
- Make ProjectRulesEndpoint GET method backwards compatible by @ceorourke in [#109744](https://github.com/getsentry/sentry/pull/109744)
- Make ProjectRuleDetailsEndpoint DELETE method backwards compatible by @ceorourke in [#109752](https://github.com/getsentry/sentry/pull/109752)
- Make ProjectRuleDetailsEndpoint GET method backwards compatible by @ceorourke in [#109387](https://github.com/getsentry/sentry/pull/109387)
- Update copy on metric alert wizard to refernce issue creation by @malwilley in [#109223](https://github.com/getsentry/sentry/pull/109223)
- Add issue type filter to old alerts by @malwilley in [#108273](https://github.com/getsentry/sentry/pull/108273)
- Update issue type issue handler to work with frontend by @malwilley in [#108241](https://github.com/getsentry/sentry/pull/108241)

#### Ai Conversations

- Add arcade to onboarding by @obostjancic in [#110296](https://github.com/getsentry/sentry/pull/110296)
- Sidebar label by @obostjancic in [#109935](https://github.com/getsentry/sentry/pull/109935)
- Move to explore by @obostjancic in [#109874](https://github.com/getsentry/sentry/pull/109874)
- Design polish by @obostjancic in [#109773](https://github.com/getsentry/sentry/pull/109773)
- Onboarding by @obostjancic in [#109651](https://github.com/getsentry/sentry/pull/109651)
- Remove default filter by @obostjancic in [#109475](https://github.com/getsentry/sentry/pull/109475)
- Return only conversations with input and output by @obostjancic in [#109175](https://github.com/getsentry/sentry/pull/109175)
- Drawer redesign by @obostjancic in [#109182](https://github.com/getsentry/sentry/pull/109182)

#### Alerts

- Include single-written detectors in AlertRuleFetchMixin.fetch_metric_alerts by @kcons in [#110673](https://github.com/getsentry/sentry/pull/110673)
- Add trace metrics support to new alert UI (detectors) by @k-fish in [#108730](https://github.com/getsentry/sentry/pull/108730)
- Consistent logging for cases where users hit alert limits by @kcons in [#109101](https://github.com/getsentry/sentry/pull/109101)

#### Assets

- Add image preview to assets summary details widget by @DominikB2014 in [#109329](https://github.com/getsentry/sentry/pull/109329)
- Link frontend overview assets widget to assets summary dashboard by @DominikB2014 in [#109323](https://github.com/getsentry/sentry/pull/109323)
- Add platformized assets page with dashboard migration flag by @DominikB2014 in [#109240](https://github.com/getsentry/sentry/pull/109240)

#### Autofix

- Loading states for redesigned autofix by @Zylphrex in [#110646](https://github.com/getsentry/sentry/pull/110646)
- Prompt the agent to run the step again by @Zylphrex in [#110596](https://github.com/getsentry/sentry/pull/110596)
- Add next steps button in autofix drawer by @Zylphrex in [#110476](https://github.com/getsentry/sentry/pull/110476)
- Add open seer button in autofix section by @Zylphrex in [#110432](https://github.com/getsentry/sentry/pull/110432)
- Directly restart autofix when clicking on reset by @Zylphrex in [#110444](https://github.com/getsentry/sentry/pull/110444)
- Redesigned autofix cards by @Zylphrex in [#110326](https://github.com/getsentry/sentry/pull/110326)
- Redesigned empty state for autofix section by @Zylphrex in [#110370](https://github.com/getsentry/sentry/pull/110370)
- Redesigned autofix previews by @Zylphrex in [#110203](https://github.com/getsentry/sentry/pull/110203)
- Show Cursor GitHub access modal on verify-branch error by @isaacwang-sentry in [#109695](https://github.com/getsentry/sentry/pull/109695)
- Pass on_completion_hook to explorer create PR by @Zylphrex in [#109787](https://github.com/getsentry/sentry/pull/109787)
- Allow creating explorer autofix prs from slack by @Zylphrex in [#109528](https://github.com/getsentry/sentry/pull/109528)
- Render diff in explorer autofix slack integration by @Zylphrex in [#109396](https://github.com/getsentry/sentry/pull/109396)
- Add github_app field to autofix PR analytics events by @JoshFerge in [#109383](https://github.com/getsentry/sentry/pull/109383)
- Add some debug log for explorer autofix by @Zylphrex in [#109233](https://github.com/getsentry/sentry/pull/109233)
- Support explorer autofix responses for some slack hooks by @Zylphrex in [#109103](https://github.com/getsentry/sentry/pull/109103)

#### Billing

- Add UsageService to billing platform by @dashed in [#110157](https://github.com/getsentry/sentry/pull/110157)
- \_admin page for viewing Contract information by @brendanhsentry in [#109853](https://github.com/getsentry/sentry/pull/109853)
- Add BillingService base class and service method decorator by @volokluev in [#109376](https://github.com/getsentry/sentry/pull/109376)

#### Cells

- Update_region_user RPC method to support both region_name and cell_name by @lynnagara in [#110275](https://github.com/getsentry/sentry/pull/110275)
- Add unique constraint to projectkeymapping table by @lynnagara in [#110235](https://github.com/getsentry/sentry/pull/110235)
- Add idx to OrganizationMapping table for synapse by @lynnagara in [#110168](https://github.com/getsentry/sentry/pull/110168)
- Add projectkeymapping table to control silo by @lynnagara in [#109831](https://github.com/getsentry/sentry/pull/109831)
- Update org-cell-mappings endpoint by @lynnagara in [#109758](https://github.com/getsentry/sentry/pull/109758)
- Add synapse paginator by @lynnagara in [#109412](https://github.com/getsentry/sentry/pull/109412)
- Expand locality/cell distinction by @lynnagara in [#109538](https://github.com/getsentry/sentry/pull/109538)
- Add db migration for synapse by @lynnagara in [#109615](https://github.com/getsentry/sentry/pull/109615)

#### Ci

- Report backend test fails by @joshuarli in [#109543](https://github.com/getsentry/sentry/pull/109543)
- Selective testing escape hatch by @joshuarli in [#109136](https://github.com/getsentry/sentry/pull/109136)

#### Code Review

- Call new endpoints by @armenzg in [#109956](https://github.com/getsentry/sentry/pull/109956)
- Control: include github_event & action info by @armenzg in [#109995](https://github.com/getsentry/sentry/pull/109995)
- Add option to skip code review for excluded PR authors by @srest2021 in [#110101](https://github.com/getsentry/sentry/pull/110101)
- Validate before scheduling by @armenzg in [#108545](https://github.com/getsentry/sentry/pull/108545)

#### Coding Integrations

- Limit coding agent integrations to one per organization by @sehr-m in [#110690](https://github.com/getsentry/sentry/pull/110690)
- Add Claude logo for claude_code integration by @sehr-m in [#110663](https://github.com/getsentry/sentry/pull/110663)

#### Context Engine

- Pass context engine feature flag to Seer by @Mihir-Mavalankar in [#109508](https://github.com/getsentry/sentry/pull/109508)
- New feature flag for explorer context engine by @Mihir-Mavalankar in [#109145](https://github.com/getsentry/sentry/pull/109145)
- New task to generate project summaries for context engine by @Mihir-Mavalankar in [#108760](https://github.com/getsentry/sentry/pull/108760)

#### Core Ui

- Move fzf from profiling to utils by @JonasBa in [#109142](https://github.com/getsentry/sentry/pull/109142)
- Allow searchMatcher to return a score for result ordering by @JonasBa in [#108719](https://github.com/getsentry/sentry/pull/108719)
- Add searchMatcher prop to CompactSelect by @JonasBa in [#108714](https://github.com/getsentry/sentry/pull/108714)

#### Dashboards

- Hide detail/summary prebuilt dashboards from list by default by @DominikB2014 in [#110625](https://github.com/getsentry/sentry/pull/110625)
- Adds seer employee banner to AI Agents Overview insights page when using prebuilt dashboard by @edwardgou-sentry in [#110566](https://github.com/getsentry/sentry/pull/110566)
- Update AI Agents Trace Table widget to use spans global filter by @edwardgou-sentry in [#110554](https://github.com/getsentry/sentry/pull/110554)
- Integrate text widget visualization into product by @nikkikapadia in [#110245](https://github.com/getsentry/sentry/pull/110245)
- Add Sentry Built nav item and remove prebuilt toggle by @DominikB2014 in [#110468](https://github.com/getsentry/sentry/pull/110468)
- Add legendType field and support field links for breakdown charts by @DominikB2014 in [#110420](https://github.com/getsentry/sentry/pull/110420)
- Adds Create Dashboard with Seer frontend modal and preview page by @edwardgou-sentry in [#110451](https://github.com/getsentry/sentry/pull/110451)
- Add onlyPrebuilt filter to dashboards endpoint by @DominikB2014 in [#110465](https://github.com/getsentry/sentry/pull/110465)
- Add optional onboarding widgets for prebuilt dashboards by @gggritso in [#110244](https://github.com/getsentry/sentry/pull/110244)
- Add starred transaction field to widget builder by @DominikB2014 in [#110450](https://github.com/getsentry/sentry/pull/110450)
- Add analytics events to onboarding CTAs on Project Details by @gggritso in [#110368](https://github.com/getsentry/sentry/pull/110368)
- Adds dashboards generate endpoint by @edwardgou-sentry in [#110254](https://github.com/getsentry/sentry/pull/110254)
- Release pre-starred prebuilt dashboards to EA by @DominikB2014 in [#110305](https://github.com/getsentry/sentry/pull/110305)
- Deprecate issue timeseries widgets flag from backend by @edwardgou-sentry in [#110236](https://github.com/getsentry/sentry/pull/110236)
- Separate prebuilt dashboards in starred sidebar by @DominikB2014 in [#110303](https://github.com/getsentry/sentry/pull/110303)
- Deprecate usage of issue timeseries widget flag from frontend by @edwardgou-sentry in [#110238](https://github.com/getsentry/sentry/pull/110238)
- Add default filters for AI Agents and MCP dashboards by @edwardgou-sentry in [#110281](https://github.com/getsentry/sentry/pull/110281)
- Add pre-favorited sync for prebuilt dashboards by @DominikB2014 in [#110209](https://github.com/getsentry/sentry/pull/110209)
- Add text widget visualization by @nikkikapadia in [#110138](https://github.com/getsentry/sentry/pull/110138)
- Add toggle to hide prebuilt Sentry dashboards by @DominikB2014 in [#109971](https://github.com/getsentry/sentry/pull/109971)
- Add favorited column to DashboardFavoriteUser by @DominikB2014 in [#110096](https://github.com/getsentry/sentry/pull/110096)
- Add logs confidence footer to dashboard widgets by @nsdeschenes in [#109940](https://github.com/getsentry/sentry/pull/109940)
- Support multiple filters on dashboards list endpoint by @DominikB2014 in [#109973](https://github.com/getsentry/sentry/pull/109973)
- Add trace metrics confidence footer to dashboard widgets by @nsdeschenes in [#109941](https://github.com/getsentry/sentry/pull/109941)
- Backend validation for text widget by @nikkikapadia in [#108535](https://github.com/getsentry/sentry/pull/108535)
- Increase default height for Laravel table widgets by @DominikB2014 in [#109966](https://github.com/getsentry/sentry/pull/109966)
- Link AI Prebuilt Dashboard widgets with breakdown legends to appropriate Prebuilt Dashboards by @edwardgou-sentry in [#109964](https://github.com/getsentry/sentry/pull/109964)
- Add feature flag for insights prebuilt dashboards by @DominikB2014 in [#109954](https://github.com/getsentry/sentry/pull/109954)
- Increase table size for Laravel overview page by @DominikB2014 in [#109945](https://github.com/getsentry/sentry/pull/109945)
- Show save button on prebuilt dashboards when filters change by @DominikB2014 in [#109902](https://github.com/getsentry/sentry/pull/109902)
- Add errors column to prebuilt MCP dashboards tables by @edwardgou-sentry in [#109873](https://github.com/getsentry/sentry/pull/109873)
- AI Agent prebuilt dashboard improvements by @edwardgou-sentry in [#109830](https://github.com/getsentry/sentry/pull/109830)
- Add moving notice banner to insight pages by @DominikB2014 in [#109813](https://github.com/getsentry/sentry/pull/109813)
- Increase char limit on widget description by @nikkikapadia in [#108529](https://github.com/getsentry/sentry/pull/108529)
- Adds error count column to mcp prebuilt dashboard tables by @edwardgou-sentry in [#109838](https://github.com/getsentry/sentry/pull/109838)
- Add spans table field renderer for internal error count by @edwardgou-sentry in [#109761](https://github.com/getsentry/sentry/pull/109761)
- Updates AI Agents Overview prebuilt dashboard Traces table to open Trace drawer by @edwardgou-sentry in [#109763](https://github.com/getsentry/sentry/pull/109763)
- Register backend caches prebuilt dashboard module by @DominikB2014 in [#109702](https://github.com/getsentry/sentry/pull/109702)
- Register caches prebuilt dashboard on frontend by @DominikB2014 in [#109703](https://github.com/getsentry/sentry/pull/109703)
- Add Agents Traces Table widget to platformized AI overview dashboard by @edwardgou-sentry in [#109565](https://github.com/getsentry/sentry/pull/109565)
- Add 'datamin' support to Mobile Session Health dashboard by @jameskeane in [#109606](https://github.com/getsentry/sentry/pull/109606)
- Register Queues and Queue Summary prebuilt dashboards on frontend by @DominikB2014 in [#109594](https://github.com/getsentry/sentry/pull/109594)
- Register Queues and Queue Summary prebuilt dashboards on backend by @DominikB2014 in [#109595](https://github.com/getsentry/sentry/pull/109595)
- Add maxFontSize prop to AutoSizedText and use it in details widget by @DominikB2014 in [#109577](https://github.com/getsentry/sentry/pull/109577)
- Add axisRange frontend types, state, wiring, and builder UI by @mtopo27 in [#109390](https://github.com/getsentry/sentry/pull/109390)
- Add Crash Free Session Rate widget to Mobile Vitals dashboard by @gggritso in [#108226](https://github.com/getsentry/sentry/pull/108226)
- Persist and serve axisRange on dashboard widgets by @mtopo27 in [#109389](https://github.com/getsentry/sentry/pull/109389)
- Updates AI Agent and MCP pages render using prebuilt dashboard content when flagged by @edwardgou-sentry in [#109327](https://github.com/getsentry/sentry/pull/109327)
- Filter Mobile Vitals tables to screens with nonzero metrics by @gggritso in [#109372](https://github.com/getsentry/sentry/pull/109372)
- Add AI Model icons to Visualization Widget breakdown labels by @edwardgou-sentry in [#109324](https://github.com/getsentry/sentry/pull/109324)
- Add prebuilt dashboard configs for MCP dashboards by @edwardgou-sentry in [#109243](https://github.com/getsentry/sentry/pull/109243)
- Adds prebuilt dashboard configs for AI Agent modules by @edwardgou-sentry in [#109235](https://github.com/getsentry/sentry/pull/109235)
- Register FRONTEND_ASSETS_SUMMARY prebuilt dashboard by @DominikB2014 in [#109230](https://github.com/getsentry/sentry/pull/109230)
- Add FRONTEND_ASSETS_SUMMARY prebuilt config by @DominikB2014 in [#109229](https://github.com/getsentry/sentry/pull/109229)
- Register FRONTEND_ASSETS prebuilt dashboard by @DominikB2014 in [#109216](https://github.com/getsentry/sentry/pull/109216)
- Add blank FRONTEND_ASSETS prebuilt dashboard by @DominikB2014 in [#109221](https://github.com/getsentry/sentry/pull/109221)
- Create laravel overview prebuilt dashboard by @DominikB2014 in [#109079](https://github.com/getsentry/sentry/pull/109079)
- Registers initial prebuilt configs for ai modules in dashboards by @edwardgou-sentry in [#109190](https://github.com/getsentry/sentry/pull/109190)
- Register Laravel Overview prebuilt dashboard by @DominikB2014 in [#109130](https://github.com/getsentry/sentry/pull/109130)
- Register AI Agent and MCP prebuilt dashboard ids to backend by @edwardgou-sentry in [#109086](https://github.com/getsentry/sentry/pull/109086)
- Adds feature flag for AI Agents and MCP modules migration to prebuilt dashboards by @edwardgou-sentry in [#109085](https://github.com/getsentry/sentry/pull/109085)
- Add chart threshold support to dashboard widgets by @DominikB2014 in [#108368](https://github.com/getsentry/sentry/pull/108368)
- Add insights-laravel-overview-dashboard-migration feature flag by @DominikB2014 in [#109077](https://github.com/getsentry/sentry/pull/109077)
- Allow interval selection similar to explore by @bcoe in [#108416](https://github.com/getsentry/sentry/pull/108416)
- Add dashboards-interval-selection feature flag by @DominikB2014 in [#109073](https://github.com/getsentry/sentry/pull/109073)

#### Dev

- Prevent absolute date times by @armenzg in [#110671](https://github.com/getsentry/sentry/pull/110671)
- Autoprovision devenv when making a new git worktree by @joshuarli in [#109889](https://github.com/getsentry/sentry/pull/109889)

#### Discover

- Updates android devices mapping and update script to work without csv-parser by @edwardgou-sentry in [#109669](https://github.com/getsentry/sentry/pull/109669)
- Allow ttid/ttfd contribution rate in arithmetic equations by @gggritso in [#109521](https://github.com/getsentry/sentry/pull/109521)

#### Eslint

- Add initial no-default-export-components rule by @JoshuaKGoldberg in [#110266](https://github.com/getsentry/sentry/pull/110266)
- Add restrict-jsx-slot-children lint rule by @JonasBa in [#109169](https://github.com/getsentry/sentry/pull/109169)

#### Explore

- Adds trace_status_rate to allow list by @edwardgou-sentry in [#110455](https://github.com/getsentry/sentry/pull/110455)
- Add multi-key support for `has:` search filter by @manessaraj in [#109907](https://github.com/getsentry/sentry/pull/109907)
- Allow clearing of last group by by @nsdeschenes in [#107924](https://github.com/getsentry/sentry/pull/107924)

#### Explorer

- Gate coding tools on org feature flag and org option by @aliu39 in [#110705](https://github.com/getsentry/sentry/pull/110705)
- Add max_iterations support to SeerExplorerClient by @cvxluo in [#110006](https://github.com/getsentry/sentry/pull/110006)
- Add get_issue_details and get_event_details RPCs by @aliu39 in [#110027](https://github.com/getsentry/sentry/pull/110027)
- Return meta dict from table rpcs by @aliu39 in [#109359](https://github.com/getsentry/sentry/pull/109359)

#### Flags

- Remove graduated data-browsing profiling feature flags (batch 3) by @wedamija in [#108780](https://github.com/getsentry/sentry/pull/108780)
- Remove graduated data-browsing-8 feature flags by @wedamija in [#108808](https://github.com/getsentry/sentry/pull/108808)
- Remove graduated ecosystem feature flags by @wedamija in [#108813](https://github.com/getsentry/sentry/pull/108813)
- Remove graduated issue-workflow feature flag by @wedamija in [#108816](https://github.com/getsentry/sentry/pull/108816)
- Remove graduated team-replay-2 feature flags by @wedamija in [#108812](https://github.com/getsentry/sentry/pull/108812)
- Remove graduated issue_detection feature flags by @wedamija in [#108775](https://github.com/getsentry/sentry/pull/108775)
- Add frontend assets dashboard migration flag by @DominikB2014 in [#109217](https://github.com/getsentry/sentry/pull/109217)
- Remove graduated ml-ai feature flags by @wedamija in [#108814](https://github.com/getsentry/sentry/pull/108814)
- Remove graduated team-replay user-feedback AI flags by @wedamija in [#108811](https://github.com/getsentry/sentry/pull/108811)
- Remove graduated coding-workflows feature flag by @wedamija in [#108815](https://github.com/getsentry/sentry/pull/108815)
- Remove graduated mep-rollout-flag feature flag by @wedamija in [#108810](https://github.com/getsentry/sentry/pull/108810)
- Remove dead issue-search-allow-postgres-only-search flag by @wedamija in [#108721](https://github.com/getsentry/sentry/pull/108721)
- Remove graduated dashboards-mep feature flag by @wedamija in [#108809](https://github.com/getsentry/sentry/pull/108809)
- Remove dead perf-discover-widget-split-ui and txn-summary-cleanup flags by @wedamija in [#108763](https://github.com/getsentry/sentry/pull/108763)

#### Infra

- Report frontend-snapshot upload failures to Sentry by @rbro112 in [#110427](https://github.com/getsentry/sentry/pull/110427)
- Replace full backend workflow on PRs with selective testing by @rbro112 in [#109346](https://github.com/getsentry/sentry/pull/109346)

#### Insights

- Add moving notice banners to Crons and Uptime by @gggritso in [#109910](https://github.com/getsentry/sentry/pull/109910)
- Add platformized cache module with conditional rendering by @DominikB2014 in [#109707](https://github.com/getsentry/sentry/pull/109707)
- Add feature flag for cache module dashboard migration by @DominikB2014 in [#109698](https://github.com/getsentry/sentry/pull/109698)
- Add prebuilt dashboard rendering for queues landing page by @DominikB2014 in [#109610](https://github.com/getsentry/sentry/pull/109610)

#### Integrations

- Expand platform detection to 98% picker coverage by @jaydgoss in [#109701](https://github.com/getsentry/sentry/pull/109701)
- Add GitHub repository platform detection by @jaydgoss in [#109699](https://github.com/getsentry/sentry/pull/109699)
- Register platform detection feature flag by @jaydgoss in [#110243](https://github.com/getsentry/sentry/pull/110243)

#### Issues

- Remove issues from stream on action w/ realtime by @scttcper in [#110175](https://github.com/getsentry/sentry/pull/110175)
- Improve issue diff copy and loading experience by @scttcper in [#110267](https://github.com/getsentry/sentry/pull/110267)
- Improve regression breakpoint chart experience by @scttcper in [#110171](https://github.com/getsentry/sentry/pull/110171)
- Add open in explore to regression breakpoint by @scttcper in [#109759](https://github.com/getsentry/sentry/pull/109759)
- Rebuild potential causes component by @scttcper in [#109748](https://github.com/getsentry/sentry/pull/109748)
- Remove checks for issue view ai title by @scttcper in [#109704](https://github.com/getsentry/sentry/pull/109704)
- Remove checks for issue view ai title by @scttcper in [#109705](https://github.com/getsentry/sentry/pull/109705)

#### Metric Issues

- Add analytics to detector details link by @malwilley in [#109925](https://github.com/getsentry/sentry/pull/109925)
- Track notification UUID on issue details by @malwilley in [#109917](https://github.com/getsentry/sentry/pull/109917)
- Add attribute comparisons section (for span queries) by @malwilley in [#109627](https://github.com/getsentry/sentry/pull/109627)

#### Notifications

- Improve deploy email subjects by @dcramer in [#110348](https://github.com/getsentry/sentry/pull/110348)
- Threading service locking and followup by @Christinarlong in [#109147](https://github.com/getsentry/sentry/pull/109147)

#### Occurrences On Eap

- Implement double-read performance issues query for summaries task by @shashjar in [#110277](https://github.com/getsentry/sentry/pull/110277)
- Implement double-read query for trace errors count by @shashjar in [#110251](https://github.com/getsentry/sentry/pull/110251)
- Update query abstractions & utils by @shashjar in [#109696](https://github.com/getsentry/sentry/pull/109696)
- Implement double reads from EAP for organization traces API endpoint by @shashjar in [#109636](https://github.com/getsentry/sentry/pull/109636)
- Implement double reads from EAP for monitors associated groups by @shashjar in [#108008](https://github.com/getsentry/sentry/pull/108008)
- Implement double reads from EAP for error counts timeseries by @shashjar in [#107308](https://github.com/getsentry/sentry/pull/107308)
- Implement double reads from EAP in organization events trace API endpoint by @shashjar in [#109391](https://github.com/getsentry/sentry/pull/109391)
- Implement double reads from EAP for reprocessing2 flow by @shashjar in [#109345](https://github.com/getsentry/sentry/pull/109345)
- Support debug logging for data mismatches in rollout comparator by @shashjar in [#109247](https://github.com/getsentry/sentry/pull/109247)

#### Onboarding

- Add copy-as-markdown button to project creation and signup setup docs by @jaydgoss in [#109237](https://github.com/getsentry/sentry/pull/109237)
- Add guide for setup without `--import` to tanstack start by @nicohrubec in [#109549](https://github.com/getsentry/sentry/pull/109549)
- Add logs option to Tanstack Start onboarding by @nicohrubec in [#109550](https://github.com/getsentry/sentry/pull/109550)
- Register feature flag for copy instructions on project creation by @jaydgoss in [#109232](https://github.com/getsentry/sentry/pull/109232)
- Add global sentry exception middlewares to tanstack start onboarding by @nicohrubec in [#108351](https://github.com/getsentry/sentry/pull/108351)
- Design adjustments for copy markdown button by @jaydgoss in [#108696](https://github.com/getsentry/sentry/pull/108696)

#### Pagefilters

- Fix sentinel toggle behavior for All/My Projects quick-select by @JonasBa in [#109545](https://github.com/getsentry/sentry/pull/109545)
- Auto-select single project for single-project orgs by @JonasBa in [#109767](https://github.com/getsentry/sentry/pull/109767)

#### Perf Detectors

- Set default enabled state of perf Detectors based on configuration by @kcons in [#109961](https://github.com/getsentry/sentry/pull/109961)
- Make ProjectPerformanceIssueSettingsEndpoint optionally write to Detector.config by @kcons in [#109623](https://github.com/getsentry/sentry/pull/109623)
- Consider Performance Detectors to be system created by @kcons in [#109762](https://github.com/getsentry/sentry/pull/109762)
- Create Performance Detectors by default by @kcons in [#109760](https://github.com/getsentry/sentry/pull/109760)

#### Preprod

- Navigate through snapshots with keyboard by @rbro112 in [#110614](https://github.com/getsentry/sentry/pull/110614)
- Add auto expansion of selected tab and add links to individual items in status checks by @rbro112 in [#110613](https://github.com/getsentry/sentry/pull/110613)
- Add launchpad-taskbroker-rollout feature flag by @NicoHinderling in [#110549](https://github.com/getsentry/sentry/pull/110549)
- Add app name, app ID, and install columns to PR comment table by @runningcode in [#110418](https://github.com/getsentry/sentry/pull/110418)
- Add PR comments toggle to Mobile Builds settings by @runningcode in [#110051](https://github.com/getsentry/sentry/pull/110051)
- Add project-level toggle for build distribution PR comments by @runningcode in [#110050](https://github.com/getsentry/sentry/pull/110050)
- Filter snapshot artifacts from builds endpoint when display is set by @NicoHinderling in [#110265](https://github.com/getsentry/sentry/pull/110265)
- Post build distribution comments to GitHub PRs by @runningcode in [#109476](https://github.com/getsentry/sentry/pull/109476)
- Add distribution error endpoint for launchpad by @runningcode in [#109497](https://github.com/getsentry/sentry/pull/109497)
- Add different snapshot diff viewing options by @NicoHinderling in [#109892](https://github.com/getsentry/sentry/pull/109892)
- Add rename detection to snapshot comparisons by @NicoHinderling in [#109848](https://github.com/getsentry/sentry/pull/109848)
- Add public build-distribution/latest endpoint by @trevor-e in [#109584](https://github.com/getsentry/sentry/pull/109584)
- Add snapshot diff comparison UI by @NicoHinderling in [#109403](https://github.com/getsentry/sentry/pull/109403)
- Return snapshot URL in create snapshot response by @runningcode in [#109662](https://github.com/getsentry/sentry/pull/109662)
- Add distribution_error_code filter to list builds by @runningcode in [#109491](https://github.com/getsentry/sentry/pull/109491)
- Add comparisonRunInfo data to response + new extra frontend models by @NicoHinderling in [#109619](https://github.com/getsentry/sentry/pull/109619)
- Make snapshots endpoint org scoped by @NicoHinderling in [#109575](https://github.com/getsentry/sentry/pull/109575)
- Create admin gated recompare snapshots endpoint by @NicoHinderling in [#109546](https://github.com/getsentry/sentry/pull/109546)
- Add public install-details endpoint and shared utilities by @trevor-e in [#109583](https://github.com/getsentry/sentry/pull/109583)
- Add snapshot image comparison task and endpoint logic by @NicoHinderling in [#109151](https://github.com/getsentry/sentry/pull/109151)
- Add snapshot comparison task by @NicoHinderling in [#109382](https://github.com/getsentry/sentry/pull/109382)
- Add image comparison library with odiff batch support by @NicoHinderling in [#109381](https://github.com/getsentry/sentry/pull/109381)
- Add public size analysis API by @trevor-e in [#108789](https://github.com/getsentry/sentry/pull/108789)
- Add odiff server wrapper and Dockerfile binary install by @NicoHinderling in [#109380](https://github.com/getsentry/sentry/pull/109380)
- Add detector_id to size analysis occurrence evidence data by @chromy in [#109487](https://github.com/getsentry/sentry/pull/109487)
- Track distribution state on PreprodArtifact by @runningcode in [#109062](https://github.com/getsentry/sentry/pull/109062)
- Enrich size analysis detector occurrences with metadata by @chromy in [#109069](https://github.com/getsentry/sentry/pull/109069)
- Register PR comments feature flag by @runningcode in [#109484](https://github.com/getsentry/sentry/pull/109484)
- Add size monitor UI by @chromy in [#108211](https://github.com/getsentry/sentry/pull/108211)
- Add GitHub Enterprise support for size analysis status checks by @trevor-e in [#109348](https://github.com/getsentry/sentry/pull/109348)
- Add distribution state fields to PreprodArtifact (EME-842) by @runningcode in [#109075](https://github.com/getsentry/sentry/pull/109075)
- Add analytics events for status check threshold failures and approvals by @mtopo27 in [#109132](https://github.com/getsentry/sentry/pull/109132)
- Add analytics for status check rule CRUD by @mtopo27 in [#109125](https://github.com/getsentry/sentry/pull/109125)
- Group failed checks by bundle ID and build configuration by @mtopo27 in [#108373](https://github.com/getsentry/sentry/pull/108373)
- Add App Clip artifact support to size checks by @cameroncooke in [#108676](https://github.com/getsentry/sentry/pull/108676)
- Add App Clip options to size analysis UI by @cameroncooke in [#108675](https://github.com/getsentry/sentry/pull/108675)
- Hook size analysis detector to diff by @chromy in [#108209](https://github.com/getsentry/sentry/pull/108209)
- Add new issue type to frontend by @chromy in [#108210](https://github.com/getsentry/sentry/pull/108210)

#### Processing Errors

- Add `SourcemapConfigurationType GroupType` and `CONFIGURATION` category by @wedamija in [#109542](https://github.com/getsentry/sentry/pull/109542)
- Store processing errors in EAP by @wedamija in [#109285](https://github.com/getsentry/sentry/pull/109285)

#### Relay

- Add feature flag for new error processing pipeline by @Dav1dde in [#109866](https://github.com/getsentry/sentry/pull/109866)
- Register option for objectstore sample rate by @jjbayer in [#109482](https://github.com/getsentry/sentry/pull/109482)
- Upload endpoint feature by @jjbayer in [#109185](https://github.com/getsentry/sentry/pull/109185)

#### Scm

- Can returns the named set of supporting actions by @cmanallen in [#110567](https://github.com/getsentry/sentry/pull/110567)
- Add SCM subscriptions platform publisher by @cmanallen in [#107441](https://github.com/getsentry/sentry/pull/107441)
- Add vendor-agnostic interfaces by @cmanallen in [#107360](https://github.com/getsentry/sentry/pull/107360)

#### Seer

- Register project and org option keys for seer preferences migration by @srest2021 in [#110548](https://github.com/getsentry/sentry/pull/110548)
- Migration for SeerProjectRepository and SeerProjectRepositoryBranchOverride models by @srest2021 in [#110542](https://github.com/getsentry/sentry/pull/110542)
- Allow installing integrations directly from within the Seer SCM treeview by @ryan953 in [#110551](https://github.com/getsentry/sentry/pull/110551)
- Seer Code Review page allows inline editing of the connected repos in a modal by @ryan953 in [#110501](https://github.com/getsentry/sentry/pull/110501)
- Iterate on the seer settings header, copy and visual alignment by @ryan953 in [#110500](https://github.com/getsentry/sentry/pull/110500)
- Add a flag to control if orgs can toggle their Enable Code Generation setting by @ryan953 in [#110491](https://github.com/getsentry/sentry/pull/110491)
- Rewrite the Seer > Project list page by @ryan953 in [#109531](https://github.com/getsentry/sentry/pull/109531)
- Create an SCM config component to streamline seer setup by @ryan953 in [#110166](https://github.com/getsentry/sentry/pull/110166)
- Add is_private field to repo definitions for code review by @vaind in [#110190](https://github.com/getsentry/sentry/pull/110190)
- Detect Cursor GitHub access errors and return specific failure type by @isaacwang-sentry in [#109692](https://github.com/getsentry/sentry/pull/109692)
- Add tooltip to ResponseDot showing step status by @chromy in [#109659](https://github.com/getsentry/sentry/pull/109659)
- Add signed viewer context header to Seer API requests by @azulus in [#109626](https://github.com/getsentry/sentry/pull/109626)
- Iterate on the instructions at the top of seer settings pages by @ryan953 in [#109586](https://github.com/getsentry/sentry/pull/109586)
- Include isolated services in explorer service map by @shruthilayaj in [#109330](https://github.com/getsentry/sentry/pull/109330)
- Add default_coding_agent field to SeerOrganizationSettings by @JoshFerge in [#108762](https://github.com/getsentry/sentry/pull/108762)
- Simplify and consolidate the Settings > Project > Seer page by @ryan953 in [#109349](https://github.com/getsentry/sentry/pull/109349)
- Add SeerOrganizationSettings model by @JoshFerge in [#109299](https://github.com/getsentry/sentry/pull/109299)
- Add Explorer service map extraction pipeline by @shruthilayaj in [#108379](https://github.com/getsentry/sentry/pull/108379)
- Add github_copilot_not_licensed failure type by @JoshFerge in [#108782](https://github.com/getsentry/sentry/pull/108782)

#### Seer Explorer

- Add copy-to-clipboard button to block action bar by @aliu39 in [#110224](https://github.com/getsentry/sentry/pull/110224)
- Add /sentry-conversation slash command for employees by @aliu39 in [#108754](https://github.com/getsentry/sentry/pull/108754)

#### Size

- Kill list-builds endpoint in favor of builds endpoint by @NicoHinderling in [#110272](https://github.com/getsentry/sentry/pull/110272)
- Migrate size compare build selection page to builds endpoint by @NicoHinderling in [#110271](https://github.com/getsentry/sentry/pull/110271)
- Ensure builds endpoint has parity with list-builds endpoint by @NicoHinderling in [#110270](https://github.com/getsentry/sentry/pull/110270)

#### Snapshots

- Fix sidebar rendering for uploads with lots of images by @NicoHinderling in [#110156](https://github.com/getsentry/sentry/pull/110156)
- Add d3-zoom interactivity by @NicoHinderling in [#109921](https://github.com/getsentry/sentry/pull/109921)
- Add click-to-snap interaction on wipe slider by @NicoHinderling in [#110102](https://github.com/getsentry/sentry/pull/110102)
- Simplify color picker by @NicoHinderling in [#109909](https://github.com/getsentry/sentry/pull/109909)

#### Sourcemap Issues

- Add sourcemap issue detection to post_process_group pipeline by @wedamija in [#109817](https://github.com/getsentry/sentry/pull/109817)
- Add ensure_sourcemap_detector() provisioning function by @wedamija in [#109749](https://github.com/getsentry/sentry/pull/109749)
- Add SourcemapDetectorHandler by @wedamija in [#109633](https://github.com/getsentry/sentry/pull/109633)
- Add index to `DetectorState` table by @wedamija in [#109847](https://github.com/getsentry/sentry/pull/109847)

#### Span Buffer

- Add zerocopy mode by @untitaker in [#109313](https://github.com/getsentry/sentry/pull/109313)
- OOB storage by @untitaker in [#109191](https://github.com/getsentry/sentry/pull/109191)

#### Spans

- Distribute span payload keys across Redis cluster by @lvthanh03 in [#110593](https://github.com/getsentry/sentry/pull/110593)
- Add per-trace segment flush limit by @lvthanh03 in [#110337](https://github.com/getsentry/sentry/pull/110337)
- Add flusher log support to GCP log analyzer tool by @lvthanh03 in [#109080](https://github.com/getsentry/sentry/pull/109080)
- Emitting outcomes when `accepted_outcome_emitted` is false by @tobias-wilfert in [#109305](https://github.com/getsentry/sentry/pull/109305)
- Add metric to ensure `accepted_outcome_emitted` arrives by @tobias-wilfert in [#109303](https://github.com/getsentry/sentry/pull/109303)
- Bump `sentry-kafka-schemas` version by @tobias-wilfert in [#109174](https://github.com/getsentry/sentry/pull/109174)

#### Supergroups

- Add lightweight supergroups page and drawer by @cvxluo in [#110232](https://github.com/getsentry/sentry/pull/110232)
- Lightweight RCA prototype by @cvxluo in [#110191](https://github.com/getsentry/sentry/pull/110191)
- Add API endpoints for supergroups by @cvxluo in [#109972](https://github.com/getsentry/sentry/pull/109972)

#### Tracemetrics

- Support units in monitors UI by @narsaynorath in [#109732](https://github.com/getsentry/sentry/pull/109732)
- Alerts allow search on field by @narsaynorath in [#109883](https://github.com/getsentry/sentry/pull/109883)
- Use units in alerts metric selector UI by @narsaynorath in [#109593](https://github.com/getsentry/sentry/pull/109593)
- Expose unit type in metrics UI by @narsaynorath in [#108036](https://github.com/getsentry/sentry/pull/108036)
- Add deno to available metrics platforms by @narsaynorath in [#109195](https://github.com/getsentry/sentry/pull/109195)

#### Ui

- Add Claude Code integration to autofix UI and settings by @sehr-m in [#109756](https://github.com/getsentry/sentry/pull/109756)
- Add AvatarButton with useAvatar hook by @JonasBa in [#109900](https://github.com/getsentry/sentry/pull/109900)

#### Webhooks

- Composite GitHub tag by @armenzg in [#110521](https://github.com/getsentry/sentry/pull/110521)
- Add push-based drain trigger to eliminate scheduler wait by @tnt-sentry in [#109214](https://github.com/getsentry/sentry/pull/109214)
- Exclude mailboxes from delivery_time_ms metric by @armenzg in [#108711](https://github.com/getsentry/sentry/pull/108711)

#### Other

- (actions) Log Action deduplication by @kcons in [#109160](https://github.com/getsentry/sentry/pull/109160)
- (admin) Add Last Active column and sort to user search by @ndmanvar in [#109736](https://github.com/getsentry/sentry/pull/109736)
- (agent-monitoring) Add LLM instructions to copy markdown button by @priscilawebdev in [#109307](https://github.com/getsentry/sentry/pull/109307)
- (alerts-api) Add tests and fixes for OrganizationAlertRuleDetails API backward compatibility by @kcons in [#110362](https://github.com/getsentry/sentry/pull/110362)
- (analytics) Add Amplitude tracking to project page filter by @JonasBa in [#109431](https://github.com/getsentry/sentry/pull/109431)
- (broadcasts) Add show=latest filter to broadcast index endpoint by @JonasBa in [#110323](https://github.com/getsentry/sentry/pull/110323)
- (button) Busy spinner with absolute position by @TkDodo in [#110202](https://github.com/getsentry/sentry/pull/110202)
- (client-reports) Feature flag for new client report processing pipeline by @tobias-wilfert in [#109860](https://github.com/getsentry/sentry/pull/109860)
- (codecov) Hide TA feature by @calvin-codecov in [#109527](https://github.com/getsentry/sentry/pull/109527)
- (commits) Support Sentry issue URLs in "Fixes" references by @vaind in [#106174](https://github.com/getsentry/sentry/pull/106174)
- (compactSelect) Use fzf for default search matching by @JonasBa in [#109252](https://github.com/getsentry/sentry/pull/109252)
- (config-issues) Registering issue type and associated trace item by @Abdkhan14 in [#110225](https://github.com/getsentry/sentry/pull/110225)
- (configuration-issues) Making processing_errors queryable by @Abdkhan14 in [#109884](https://github.com/getsentry/sentry/pull/109884)
- (control) Add support for dropping unprocessed GitHub webhook events by @armenzg in [#109354](https://github.com/getsentry/sentry/pull/109354)
- (conversations) Collapse tool calls in message bubbles by @priscilawebdev in [#109176](https://github.com/getsentry/sentry/pull/109176)
- (cursor) Add retry with model fallback for Cursor API launches by @isaacwang-sentry in [#108768](https://github.com/getsentry/sentry/pull/108768)
- (data-browsing) Use custom React chart legend component in `TimeSeriesWidgetVisualization` by @gggritso in [#108493](https://github.com/getsentry/sentry/pull/108493)
- (data-forwarding) Add padding prop to FieldLayout components by @JonasBa in [#108803](https://github.com/getsentry/sentry/pull/108803)
- (dynamic-sampling) Add new trace based health check bias with higher sample rate by @shellmayr in [#109552](https://github.com/getsentry/sentry/pull/109552)
- (events) Add occurrences as a dataset by @wmak in [#109727](https://github.com/getsentry/sentry/pull/109727)
- (features) Register organizations:page-frame feature flag by @JonasBa in [#110264](https://github.com/getsentry/sentry/pull/110264)
- (form) Enhance field status indicators with lock icon for disabled state by @TkDodo in [#109189](https://github.com/getsentry/sentry/pull/109189)
- (forms) RadioField by @TkDodo in [#108819](https://github.com/getsentry/sentry/pull/108819)
- (frontend) Web snapshot testing by @rbro112 in [#107971](https://github.com/getsentry/sentry/pull/107971)
- (github) Add mailbox bucketing for GitHub webhooks by @tnt-sentry in [#108138](https://github.com/getsentry/sentry/pull/108138)
- (grouping) Parameterize hex values that are up to 128 characters long by @thetruecpaul in [#109137](https://github.com/getsentry/sentry/pull/109137)
- (inbound-filters) Add health-check to healthcheck globs by @shellmayr in [#110402](https://github.com/getsentry/sentry/pull/110402)
- (issue-details) Format is_active field as 'Is Active' in app context by @philipphofmann in [#107047](https://github.com/getsentry/sentry/pull/107047)
- (issue-detection) Use title-only fingerprinting for LLM-detected issues by @roggenkemper in [#109131](https://github.com/getsentry/sentry/pull/109131)
- (metric alerts) Add tests for differences in workflow-engine-rule-serializers output by @kcons in [#109242](https://github.com/getsentry/sentry/pull/109242)
- (middleware) Expand AI agent guidance with docs and plugin links by @dcramer in [#108938](https://github.com/getsentry/sentry/pull/108938)
- (models) Recreate CodeReviewEvent with updated schema [3/3] by @vaind in [#109424](https://github.com/getsentry/sentry/pull/109424)
- (monitors) Add Mobile Builds to monitors sidebar by @mtopo27 in [#110464](https://github.com/getsentry/sentry/pull/110464)
- (occurrences) New ingest by @thetruecpaul in [#109180](https://github.com/getsentry/sentry/pull/109180)
- (page-filters) Use fzf for project search in ProjectPageFilter by @JonasBa in [#108725](https://github.com/getsentry/sentry/pull/108725)
- (performance-detectors) Use config from Workflow Engine Detectors if available and enabled by @kcons in [#107137](https://github.com/getsentry/sentry/pull/107137)
- (profiling) Back SuspectFunctionsTable with EAP by @mjq in [#109293](https://github.com/getsentry/sentry/pull/109293)
- (queue) Register insights-queue-dashboard-migration feature flag by @DominikB2014 in [#109332](https://github.com/getsentry/sentry/pull/109332)
- (queues) Split transaction table into producer and consumer tables by @DominikB2014 in [#109683](https://github.com/getsentry/sentry/pull/109683)
- (replays) Convert replay console tab to tanstack virtual by @scttcper in [#109292](https://github.com/getsentry/sentry/pull/109292)
- (repos) Replace the repo list page with the new repo tree-view by @ryan953 in [#110290](https://github.com/getsentry/sentry/pull/110290)
- (repositories) Add danger delete button with label to repository row by @JonasBa in [#108764](https://github.com/getsentry/sentry/pull/108764)
- (rollouts) Add comparator with timings by @thetruecpaul in [#109104](https://github.com/getsentry/sentry/pull/109104)
- (scim) Move privilege grant/revoke to async task by @michelletran-sentry in [#109129](https://github.com/getsentry/sentry/pull/109129)
- (sdk) Upgrade Sentry SDKs to 10.41.0-beta.0 by @billyvg in [#109494](https://github.com/getsentry/sentry/pull/109494)
- (sentry-apps) Expose sentryAppId in SentryAppInstallation API by @souredoutlook in [#109496](https://github.com/getsentry/sentry/pull/109496)
- (skills) Add lint skills by @natemoo-re in [#110133](https://github.com/getsentry/sentry/pull/110133)
- (spans-buffer) Track pre-merge oversized parent sets by @lvthanh03 in [#108447](https://github.com/getsentry/sentry/pull/108447)
- (stories) Lazy load story API type docs by @scttcper in [#110332](https://github.com/getsentry/sentry/pull/110332)
- (symbolicator) Disable Intel symbol source by @tobias-wilfert in [#109311](https://github.com/getsentry/sentry/pull/109311)
- (theme) Add swatch utils by @natemoo-re in [#110090](https://github.com/getsentry/sentry/pull/110090)
- (trace-items) Update trace item search with dynamic keys by @nsdeschenes in [#108121](https://github.com/getsentry/sentry/pull/108121)
- (traces) Add 'Open in Logs' link to Logs view by @JoshuaKGoldberg in [#110311](https://github.com/getsentry/sentry/pull/110311)
- (traces-explorer) Pass through all chart visuals in Compare Queries by @JoshuaKGoldberg in [#110153](https://github.com/getsentry/sentry/pull/110153)
- (typing) Enable mypy strict_equality in our strongly typed config by @kcons in [#108606](https://github.com/getsentry/sentry/pull/108606)
- (uptime-assertions) Improving json path form by @Abdkhan14 in [#109963](https://github.com/getsentry/sentry/pull/109963)
- (uptime-form-errors) Improving assertion error handling by @Abdkhan14 in [#109352](https://github.com/getsentry/sentry/pull/109352)
- (uptime-trace-issues) Rendering uptime issues in traces by @Abdkhan14 in [#108567](https://github.com/getsentry/sentry/pull/108567)
- Allow `sentry-replay-debugger` uri scheme for oauth by @billyvg in [#109976](https://github.com/getsentry/sentry/pull/109976)
- Disable webhook forwarding to codecov by @calvin-codecov in [#110023](https://github.com/getsentry/sentry/pull/110023)
- Add branch to use taskbroker-client by @markstory in [#110001](https://github.com/getsentry/sentry/pull/110001)
- TanStack devtools by @TkDodo in [#110032](https://github.com/getsentry/sentry/pull/110032)
- Add flamegraph for metric kit hangs by @noahsmartin in [#106412](https://github.com/getsentry/sentry/pull/106412)
- Devenv syncs chromedriver to the google chrome version by @joshuarli in [#109739](https://github.com/getsentry/sentry/pull/109739)
- Remove github-console-sdk-self-invite flag registration by @mujacica in [#109493](https://github.com/getsentry/sentry/pull/109493)
- Remove github-console-sdk-self-invite feature flag by @mujacica in [#109470](https://github.com/getsentry/sentry/pull/109470)
- Add endpoint to list only issues that have PRs created from Seer Explorer by @billyvg in [#107850](https://github.com/getsentry/sentry/pull/107850)

### Bug Fixes 🐛

#### Aci

- Add charts to contributing issues by @scttcper in [#110162](https://github.com/getsentry/sentry/pull/110162)
- S/deactive/inactive/g by @kcons in [#110137](https://github.com/getsentry/sentry/pull/110137)
- Single query in toggle_detector by @kcons in [#109375](https://github.com/getsentry/sentry/pull/109375)
- Use types to ensure migration helpers aren't modifying input data by @kcons in [#109379](https://github.com/getsentry/sentry/pull/109379)
- Use start of open period instead of event creation time on metric issue queries by @malwilley in [#109353](https://github.com/getsentry/sentry/pull/109353)
- Don't dedup actions by workflow by @kcons in [#109251](https://github.com/getsentry/sentry/pull/109251)
- Handle custom zoom stats periods in detector details by @malwilley in [#109157](https://github.com/getsentry/sentry/pull/109157)

#### Agents

- Add error boundary around ModelsTable by @priscilawebdev in [#110509](https://github.com/getsentry/sentry/pull/110509)
- Handle null modelId in agent monitoring page by @priscilawebdev in [#110505](https://github.com/getsentry/sentry/pull/110505)

#### Ai Conversations

- Display model in span list by @obostjancic in [#109774](https://github.com/getsentry/sentry/pull/109774)
- Support multi part messages by @obostjancic in [#109076](https://github.com/getsentry/sentry/pull/109076)
- Select first message by @obostjancic in [#109072](https://github.com/getsentry/sentry/pull/109072)

#### Alerts

- Prevent stripping 0 values from request body by @malwilley in [#110470](https://github.com/getsentry/sentry/pull/110470)
- Remove unnecessary condition label renames by @malwilley in [#110329](https://github.com/getsentry/sentry/pull/110329)
- Trace metrics shouldn't error on query validator by @wmak in [#109824](https://github.com/getsentry/sentry/pull/109824)
- Actor missing for feature flag checks in detectors by @k-fish in [#109603](https://github.com/getsentry/sentry/pull/109603)
- User_misery eap validation error by @nikkikapadia in [#109604](https://github.com/getsentry/sentry/pull/109604)

#### Api

- Preserve RateLimitExceeded metadata in handle_query_errors by @cvxluo in [#109821](https://github.com/getsentry/sentry/pull/109821)
- Fix user serializers to return emails for superusers by @wedamija in [#109837](https://github.com/getsentry/sentry/pull/109837)
- Add missing cursor query parameter to paginated endpoint OpenAPI schemas by @MathurAditya724 in [#109642](https://github.com/getsentry/sentry/pull/109642)

#### Auth

- Mask SCIM token after 5-minute visibility window by @wedamija in [#108093](https://github.com/getsentry/sentry/pull/108093)
- Show warning when authenticated user isn't an org member by @JoshFerge in [#109952](https://github.com/getsentry/sentry/pull/109952)
- Fix for impersonated sessions by @michelletran-sentry in [#109903](https://github.com/getsentry/sentry/pull/109903)
- Revoke superuser/staff when user not in default org by @michelletran-sentry in [#109510](https://github.com/getsentry/sentry/pull/109510)
- Invalidate sessions when a linked identity is disconnected by @wedamija in [#108250](https://github.com/getsentry/sentry/pull/108250)

#### Autofix

- Reset sections on re-run by @Zylphrex in [#110644](https://github.com/getsentry/sentry/pull/110644)
- Handle deleted groups in autofix tasks by @Mihir-Mavalankar in [#110386](https://github.com/getsentry/sentry/pull/110386)
- Init explorer client with on complete callback by @Zylphrex in [#109841](https://github.com/getsentry/sentry/pull/109841)
- Handle autofix create PR not started by @Zylphrex in [#109778](https://github.com/getsentry/sentry/pull/109778)
- Handle explorer run status when creating PRs from slack by @Zylphrex in [#109740](https://github.com/getsentry/sentry/pull/109740)
- Always attach group id in explorer autofix metadata by @Zylphrex in [#109358](https://github.com/getsentry/sentry/pull/109358)
- Recognize PRs opened by Sentry GitHub app in autofix webhook by @JoshFerge in [#109081](https://github.com/getsentry/sentry/pull/109081)

#### Billing

- Prevent checkout form resetting when payment details are updated by @brendanhsentry in [#110669](https://github.com/getsentry/sentry/pull/110669)
- \_admin provisioning for legacy Seer by @brendanhsentry in [#110482](https://github.com/getsentry/sentry/pull/110482)
- Fix category display names in pending changes by @dashed in [#109612](https://github.com/getsentry/sentry/pull/109612)

#### Build

- Exclude snapshot test files from rspack type-checker by @NicoHinderling in [#110547](https://github.com/getsentry/sentry/pull/110547)
- Exclude react-select from SWC loader to fix emotion warning by @TkDodo in [#109563](https://github.com/getsentry/sentry/pull/109563)

#### Ci

- Exclude .venv from pyc cache cleanup by @mchen-sentry in [#110585](https://github.com/getsentry/sentry/pull/110585)
- Lint issue in snapshot.ts by @nsdeschenes in [#110414](https://github.com/getsentry/sentry/pull/110414)
- Skip selenium plugin import on non-acceptance backend test shards by @mchen-sentry in [#109757](https://github.com/getsentry/sentry/pull/109757)
- Add CODEOWNERS fastpath to selective testing by @joshuarli in [#109163](https://github.com/getsentry/sentry/pull/109163)

#### Conversations

- Left-align text content in user message bubbles by @priscilawebdev in [#110403](https://github.com/getsentry/sentry/pull/110403)
- Preserve query params on redirect to explore by @obostjancic in [#110030](https://github.com/getsentry/sentry/pull/110030)

#### Dashboards

- Include hidden dashboards in linked dashboard lookup by @DominikB2014 in [#110667](https://github.com/getsentry/sentry/pull/110667)
- Allow table widgets to have a limit up to 20 by @DominikB2014 in [#110621](https://github.com/getsentry/sentry/pull/110621)
- Lower agent traces widget limit to 10 in pre-built dashboard by @gggritso in [#110526](https://github.com/getsentry/sentry/pull/110526)
- Prevent dashboard manage view forwarding search parameter when navigating to dashboard by @edwardgou-sentry in [#110525](https://github.com/getsentry/sentry/pull/110525)
- Hide table in full screen view for issues timeseries widgets by @DominikB2014 in [#110532](https://github.com/getsentry/sentry/pull/110532)
- Validate linked dashboard fields against columns instead of fields by @DominikB2014 in [#110524](https://github.com/getsentry/sentry/pull/110524)
- Prevent empty SQL strings from being passed to SQL formatter by @gggritso in [#110475](https://github.com/getsentry/sentry/pull/110475)
- Pass translated options to CompactSelect dropdown by @DominikB2014 in [#110421](https://github.com/getsentry/sentry/pull/110421)
- Open Explore in aggregate mode for widgets with aggregates by @DominikB2014 in [#110417](https://github.com/getsentry/sentry/pull/110417)
- Register agents_traces_table display type in backend by @gggritso in [#110365](https://github.com/getsentry/sentry/pull/110365)
- Add equation| prefix to non-allowed aggregates in prebuilt dashboards by @DominikB2014 in [#110308](https://github.com/getsentry/sentry/pull/110308)
- Format y-axis numbers with abbreviation helper by @narsaynorath in [#110360](https://github.com/getsentry/sentry/pull/110360)
- Enable fullscreen widget view in prebuilt dashboard renderer by @DominikB2014 in [#110340](https://github.com/getsentry/sentry/pull/110340)
- Filter out equation aggregates from create alert menu by @DominikB2014 in [#110333](https://github.com/getsentry/sentry/pull/110333)
- Add missing `fields` key to non-table prebuilt widget queries by @gggritso in [#110227](https://github.com/getsentry/sentry/pull/110227)
- Throw validation errors for incorrect dataset source by @nikkikapadia in [#110240](https://github.com/getsentry/sentry/pull/110240)
- Add datasource to text widget validation by @nikkikapadia in [#110213](https://github.com/getsentry/sentry/pull/110213)
- Resolve infinite render loop in ChartLegend overflow detection by @gggritso in [#110187](https://github.com/getsentry/sentry/pull/110187)
- Moves Open in External link to bottom of cell action by @edwardgou-sentry in [#110154](https://github.com/getsentry/sentry/pull/110154)
- Treat TOP_N display type as AREA by @DominikB2014 in [#109876](https://github.com/getsentry/sentry/pull/109876)
- Show full aggregate name in widget legends for measurements by @gggritso in [#109901](https://github.com/getsentry/sentry/pull/109901)
- Fixes for Agents Traces Table to display properly in widget viewer by @edwardgou-sentry in [#109905](https://github.com/getsentry/sentry/pull/109905)
- Clamp invalid widget layouts to prevent browser crash by @gggritso in [#109825](https://github.com/getsentry/sentry/pull/109825)
- Add backend validation for widget layout dimensions by @gggritso in [#109826](https://github.com/getsentry/sentry/pull/109826)
- Allow editing global filters on prebuilt dashboards by @DominikB2014 in [#109880](https://github.com/getsentry/sentry/pull/109880)
- Preserve polarity when clearing threshold values by @DominikB2014 in [#109872](https://github.com/getsentry/sentry/pull/109872)
- Merge URL filters with saved filters instead of replacing them by @DominikB2014 in [#109590](https://github.com/getsentry/sentry/pull/109590)
- Use correct table item limit for categorical bar charts in widget viewer by @gggritso in [#109775](https://github.com/getsentry/sentry/pull/109775)
- Respect current time series interval in Widget Viewer by @gggritso in [#109766](https://github.com/getsentry/sentry/pull/109766)
- Ignore stale limit on Table widgets by @gggritso in [#109688](https://github.com/getsentry/sentry/pull/109688)
- Default axisRange to auto for existing widgets in builder by @mtopo27 in [#109598](https://github.com/getsentry/sentry/pull/109598)
- Use equation prefix for ttid/ttfd contribution rate in Mobile Vitals by @gggritso in [#109525](https://github.com/getsentry/sentry/pull/109525)
- Fix threshold unit selector for timeseries widgets and size data types by @DominikB2014 in [#109500](https://github.com/getsentry/sentry/pull/109500)
- Fix prebuilt mcp overview dashboard layout by @edwardgou-sentry in [#109492](https://github.com/getsentry/sentry/pull/109492)
- Prevent threshold lines from overlapping the chart legend by @DominikB2014 in [#109488](https://github.com/getsentry/sentry/pull/109488)
- Support multiple aggregates and equations in categorical bar charts by @gggritso in [#108071](https://github.com/getsentry/sentry/pull/108071)
- Fix "Other" series colour not displaying correctly in new timeseries visualization by @edwardgou-sentry in [#109321](https://github.com/getsentry/sentry/pull/109321)
- Replace TOP_N display type with AREA in dashboard templates by @DominikB2014 in [#109211](https://github.com/getsentry/sentry/pull/109211)
- Side nav updates on dashboard deletion by @nikkikapadia in [#109197](https://github.com/getsentry/sentry/pull/109197)
- Preserve display type when switching display types by @DominikB2014 in [#109208](https://github.com/getsentry/sentry/pull/109208)
- `storageNamespace` not being applied on prebuilt dashboards by @DominikB2014 in [#109187](https://github.com/getsentry/sentry/pull/109187)
- Widget id mismatch in dashboard details test by @nikkikapadia in [#108694](https://github.com/getsentry/sentry/pull/108694)

#### Detectors

- Fix WorkflowEngineDetectorSerializer snooze field by @kcons in [#110529](https://github.com/getsentry/sentry/pull/110529)
- Make mobile build threshold validation require at least one by @mtopo27 in [#110460](https://github.com/getsentry/sentry/pull/110460)
- Require data sources for Detector creation by default by @kcons in [#110246](https://github.com/getsentry/sentry/pull/110246)

#### Eap

- Use addFilterValue for transaction name in EAP sidebar charts by @mjq in [#109089](https://github.com/getsentry/sentry/pull/109089)
- Fix possibly-undefined group_list in delete helper by @scttcper in [#109518](https://github.com/getsentry/sentry/pull/109518)
- Silence possibly-undefined warning in SearchResolver by @scttcper in [#109514](https://github.com/getsentry/sentry/pull/109514)
- Add transaction filters to SegmentSpansTable query by @mjq in [#109084](https://github.com/getsentry/sentry/pull/109084)

#### Events

- Don't link to trace explorer when trace id is missing by @mrduncan in [#110670](https://github.com/getsentry/sentry/pull/110670)
- Handle Snuba errors in group events endpoint gracefully by @shashjar in [#109158](https://github.com/getsentry/sentry/pull/109158)

#### Explore

- Unify header FeedbackButton size as default sm by @JoshuaKGoldberg in [#109782](https://github.com/getsentry/sentry/pull/109782)
- Use unique IDs in drag-and-drop column editors by @nsdeschenes in [#108252](https://github.com/getsentry/sentry/pull/108252)
- Require query field on saved query creation and handle malformed queries in frontend by @wedamija in [#108285](https://github.com/getsentry/sentry/pull/108285)

#### Explorer

- Fix issue/event formatters by @aliu39 in [#110378](https://github.com/getsentry/sentry/pull/110378)
- Incl project id and slug in issue details response by @aliu39 in [#110338](https://github.com/getsentry/sentry/pull/110338)
- Handle missing counts in get_filter_key_values and don't query both backends by @aliu39 in [#110172](https://github.com/getsentry/sentry/pull/110172)
- Use sentry org for conversations url and rename slash cmd by @aliu39 in [#109592](https://github.com/getsentry/sentry/pull/109592)

#### Form

- Swap `hashchange` for `useLocation` by @natemoo-re in [#109570](https://github.com/getsentry/sentry/pull/109570)
- Remove padding & negative margin from HighlightableFlex by @TkDodo in [#109304](https://github.com/getsentry/sentry/pull/109304)

#### Github Copilot

- Lower problem_statement truncation limit by @JoshFerge in [#110600](https://github.com/getsentry/sentry/pull/110600)
- Fall back to now() when started_at is missing from API response by @JoshFerge in [#110638](https://github.com/getsentry/sentry/pull/110638)

#### Grouping

- Handle grouphash cache invalidation errors gracefully by @lobsterkatie in [#110158](https://github.com/getsentry/sentry/pull/110158)
- Fix "kitchen" time parameterization regex by @lobsterkatie in [#109895](https://github.com/getsentry/sentry/pull/109895)
- Stop parameterizing message variable in custom titles by @lobsterkatie in [#109893](https://github.com/getsentry/sentry/pull/109893)
- Make derived rules visible to users by @thetruecpaul in [#109836](https://github.com/getsentry/sentry/pull/109836)
- Fix ip parameterization false positives by @lobsterkatie in [#109713](https://github.com/getsentry/sentry/pull/109713)
- Fix hex parameterization lookahead bug by @lobsterkatie in [#109709](https://github.com/getsentry/sentry/pull/109709)
- Resolve mypy possibly-undefined errors in grouphash caching by @scttcper in [#109602](https://github.com/getsentry/sentry/pull/109602)
- Avoid mutating class-level initial_context in grouping info endpoint by @joshuarli in [#109009](https://github.com/getsentry/sentry/pull/109009)
- Fix UnboundLocalError in \_is_race_condition_skipped_event by @mrduncan in [#109393](https://github.com/getsentry/sentry/pull/109393)

#### Insights

- Hide platform selector when platformized insights is active by @DominikB2014 in [#110349](https://github.com/getsentry/sentry/pull/110349)
- Handle nullable sentry.normalized_description by @gggritso in [#110186](https://github.com/getsentry/sentry/pull/110186)
- EAP support for status breakdown by @mjq in [#109969](https://github.com/getsentry/sentry/pull/109969)
- Remove tag summary from EAP Transaction Summary by @mjq in [#109970](https://github.com/getsentry/sentry/pull/109970)
- Don't display raw JSON as user message by @obostjancic in [#109065](https://github.com/getsentry/sentry/pull/109065)

#### Integrations

- Reload integrations after installing coding agent by @sehr-m in [#110665](https://github.com/getsentry/sentry/pull/110665)
- Cache empty repo 409 responses to reduce GitHub API calls by @trevor-e in [#109153](https://github.com/getsentry/sentry/pull/109153)
- Record 409 empty repo responses as halts instead of failures by @trevor-e in [#109134](https://github.com/getsentry/sentry/pull/109134)
- Add interaction events for /repos and /installation/repositories by @trevor-e in [#108722](https://github.com/getsentry/sentry/pull/108722)

#### Issues

- Prefer integration app name in resolution copy by @scttcper in [#110242](https://github.com/getsentry/sentry/pull/110242)
- Always allow archived issues to be unarchived by @malwilley in [#110230](https://github.com/getsentry/sentry/pull/110230)
- Use serialize_generic_user in GroupSeenSerializer by @mrduncan in [#108576](https://github.com/getsentry/sentry/pull/108576)
- Fix possibly-undefined variables across issues module by @scttcper in [#109540](https://github.com/getsentry/sentry/pull/109540)
- Add transaction to highlight defaults by @scttcper in [#109246](https://github.com/getsentry/sentry/pull/109246)
- Remove border from start tour modal by @scttcper in [#109220](https://github.com/getsentry/sentry/pull/109220)

#### Logs

- Allow vertical padding height for 'No logs found' messages by @JoshuaKGoldberg in [#110321](https://github.com/getsentry/sentry/pull/110321)
- Pass boolean attributes object to the logs table prop by @nsdeschenes in [#110544](https://github.com/getsentry/sentry/pull/110544)
- Simplify CellAction rendering to only be used if needed by @JoshuaKGoldberg in [#109946](https://github.com/getsentry/sentry/pull/109946)
- Manual refresh tooltip by @k-fish in [#108686](https://github.com/getsentry/sentry/pull/108686)

#### Metrics

- Enable Save as for multi-aggregate queries by @nsdeschenes in [#110325](https://github.com/getsentry/sentry/pull/110325)
- Remove use_metrics_layer from query builder core by @wedamija in [#108755](https://github.com/getsentry/sentry/pull/108755)
- Remove use-metrics-layer flag from endpoints and snuba signatures by @wedamija in [#108752](https://github.com/getsentry/sentry/pull/108752)

#### Oauth

- Delay before allowing pressing Approve button by @oioki in [#110304](https://github.com/getsentry/sentry/pull/110304)
- Add distributed lock to refresh token exchange to prevent race condition by @wedamija in [#108193](https://github.com/getsentry/sentry/pull/108193)

#### Objectstore

- Use OrganizationReleasePermission for Objectstore endpoint by @lcian in [#109865](https://github.com/getsentry/sentry/pull/109865)
- Change scopes type from dict to list of tuples by @lcian in [#108693](https://github.com/getsentry/sentry/pull/108693)

#### Occurrences On Eap

- Fix debug log formatting by @shashjar in [#109818](https://github.com/getsentry/sentry/pull/109818)
- Use `OP_IN` instead of chained `OR`s for multi-`group_id` queries by @shashjar in [#109148](https://github.com/getsentry/sentry/pull/109148)

#### Onboarding

- Preserve user-entered project slug during platform selection by @sentry in [#109609](https://github.com/getsentry/sentry/pull/109609)
- Fix CopyDsnField markdown + hide copy button with AI setup by @jaydgoss in [#109953](https://github.com/getsentry/sentry/pull/109953)
- PHP renaming `trace_metrics` -> `traceMetrics` by @constantinius in [#109066](https://github.com/getsentry/sentry/pull/109066)

#### Perforce

- Use P4CONFIG for per-connection trust file isolation by @mujacica in [#109828](https://github.com/getsentry/sentry/pull/109828)
- Isolate P4 trust/ticket files per client to prevent lock contention by @mujacica in [#109652](https://github.com/getsentry/sentry/pull/109652)
- Use tmp files for the trust locks instead of global paths by @mujacica in [#109469](https://github.com/getsentry/sentry/pull/109469)

#### Performance

- Remap request.method for EAP related issues table by @mjq in [#109196](https://github.com/getsentry/sentry/pull/109196)
- Fix EAP transaction summary method filter and duration breakdown chart by @mjq in [#108483](https://github.com/getsentry/sentry/pull/108483)

#### Preprod

- Add size monitors filter support in backend by @chromy in [#110523](https://github.com/getsentry/sentry/pull/110523)
- Allow user tokens for ProjectPreprodBuildDistributionLatestEndpoint by @chromy in [#110430](https://github.com/getsentry/sentry/pull/110430)
- Include display param in builds API on initial load by @NicoHinderling in [#110481](https://github.com/getsentry/sentry/pull/110481)
- Remove UI for adding distribution scopes to personal tokens by @chromy in [#110216](https://github.com/getsentry/sentry/pull/110216)
- Mark App Store signed builds as not installable (EME-917) by @runningcode in [#110422](https://github.com/getsentry/sentry/pull/110422)
- Strip trailing slash from objectstore base URL by @runningcode in [#110409](https://github.com/getsentry/sentry/pull/110409)
- Expose PR comments feature flag to frontend API by @runningcode in [#110407](https://github.com/getsentry/sentry/pull/110407)
- Update existing PR comment instead of posting a new one by @runningcode in [#110399](https://github.com/getsentry/sentry/pull/110399)
- Skip snapshot artifacts in expiry detection by @NicoHinderling in [#110288](https://github.com/getsentry/sentry/pull/110288)
- Prevent diff mode buttons from being cut off on small viewports by @NicoHinderling in [#110221](https://github.com/getsentry/sentry/pull/110221)
- Check code signature in is_installable_artifact by @runningcode in [#110194](https://github.com/getsentry/sentry/pull/110194)
- Gate comparison download query on SUCCESS state by @NicoHinderling in [#109923](https://github.com/getsentry/sentry/pull/109923)
- Restore full token authentication on retention endpoint by @NicoHinderling in [#109842](https://github.com/getsentry/sentry/pull/109842)
- Return 404 instead of 500 for missing objectstore images by @NicoHinderling in [#109734](https://github.com/getsentry/sentry/pull/109734)
- Use theme-aware border color for treemap level-0 gaps by @mtopo27 in [#109517](https://github.com/getsentry/sentry/pull/109517)
- Rename absolute_threshold to absolute in size analysis config by @chromy in [#109481](https://github.com/getsentry/sentry/pull/109481)
- Replace transparent treemap colors with opaque composites (EME-889) by @cameroncooke in [#109308](https://github.com/getsentry/sentry/pull/109308)
- Update default artifact type and label by @cameroncooke in [#109194](https://github.com/getsentry/sentry/pull/109194)

#### Profiling

- Wrap billing banner inside DescriptionWrapper by @priscilawebdev in [#109867](https://github.com/getsentry/sentry/pull/109867)
- Show empty state when no suspect functions found by @mjq in [#109295](https://github.com/getsentry/sentry/pull/109295)

#### Replay

- Fix `customElement.define` by @billyvg in [#110352](https://github.com/getsentry/sentry/pull/110352)
- Fix tooltips on timestamps in replay index by @billyvg in [#109691](https://github.com/getsentry/sentry/pull/109691)

#### Seer

- Reduce the staletime of the SCM tree so it can refresh as integrations change by @ryan953 in [#110287](https://github.com/getsentry/sentry/pull/110287)
- Prevent duplicate navigation in Seer settings tabs by @scttcper in [#110222](https://github.com/getsentry/sentry/pull/110222)
- Add auth signing to grouping record delete-by-hash requests by @JoshFerge in [#110205](https://github.com/getsentry/sentry/pull/110205)
- Set explicit timeouts for AI translate endpoints by @sentry in [#109960](https://github.com/getsentry/sentry/pull/109960)
- Update seer_model after training mode request by @yuvmen in [#109539](https://github.com/getsentry/sentry/pull/109539)
- Apply stacktrace length filtering to all platforms for V2 grouping model by @yuvmen in [#109287](https://github.com/getsentry/sentry/pull/109287)
- Populate missing IssueDetails fields for explorer_index by @sentry in [#109213](https://github.com/getsentry/sentry/pull/109213)

#### Settings

- Remove double url normalization by @natemoo-re in [#110160](https://github.com/getsentry/sentry/pull/110160)
- Add team selection modal and navigation support by @TkDodo in [#108669](https://github.com/getsentry/sentry/pull/108669)

#### Spans

- Convert nones to zeros for failure rate and count by @Zylphrex in [#110330](https://github.com/getsentry/sentry/pull/110330)
- Use decompressed bytes size for oversized segment check by @lvthanh03 in [#109839](https://github.com/getsentry/sentry/pull/109839)
- Detect subprocess crash during startup health check by @lvthanh03 in [#109832](https://github.com/getsentry/sentry/pull/109832)
- Route spans to queue by Kafka partition by @lvthanh03 in [#109490](https://github.com/getsentry/sentry/pull/109490)
- Handle null span attributes by @lvthanh03 in [#109316](https://github.com/getsentry/sentry/pull/109316)

#### Stories

- Wrap StoryTabPanels in Stack by @natemoo-re in [#110657](https://github.com/getsentry/sentry/pull/110657)
- Fix HMR for .stories.tsx and .mdx files in Scraps by @scttcper in [#109630](https://github.com/getsentry/sentry/pull/109630)

#### Tests

- Prerequisite test fixes for xdist parallelization by @mchen-sentry in [#110584](https://github.com/getsentry/sentry/pull/110584)
- Use relative date in EAP escalating test frozen time by @NicoHinderling in [#110643](https://github.com/getsentry/sentry/pull/110643)
- Fix broken ci by @wedamija in [#110484](https://github.com/getsentry/sentry/pull/110484)
- Fix pre-prod eap integration tests by @wedamija in [#109852](https://github.com/getsentry/sentry/pull/109852)
- Fix flaky test_cross_trace_query_with_spans_and_logs by @smanes-sentry in [#109572](https://github.com/getsentry/sentry/pull/109572)
- Remove hardcoded IDs from tests/sentry to prevent flaky tests by @joshuarli in [#109409](https://github.com/getsentry/sentry/pull/109409)
- Use override_settings instead of direct settings mutation by @joshuarli in [#109414](https://github.com/getsentry/sentry/pull/109414)
- Add deterministic ordering to all unordered queryset index access by @joshuarli in [#109410](https://github.com/getsentry/sentry/pull/109410)
- Use distinct cluster name in buffer fixture to prevent cache pollution by @joshuarli in [#109008](https://github.com/getsentry/sentry/pull/109008)
- Fix scope level pollution from span consumer tests by @joshuarli in [#109105](https://github.com/getsentry/sentry/pull/109105)
- Combined flaky test fixes by @joshuarli in [#109344](https://github.com/getsentry/sentry/pull/109344)
- Fix flaky ProjectUserDetailsTest Snuba data leak by @joshuarli in [#108944](https://github.com/getsentry/sentry/pull/108944)
- Fix flaky SessionFetchProjectReleaseHealthTotalsTest timing by @joshuarli in [#108959](https://github.com/getsentry/sentry/pull/108959)
- Fix flaky test_api_key_request Snuba data leak by @joshuarli in [#109098](https://github.com/getsentry/sentry/pull/109098)
- Fix flaky test_slow_condition_subqueries timing issue by @joshuarli in [#108784](https://github.com/getsentry/sentry/pull/108784)
- Use outcomes QueryDefinition in test_outcomes by @noahsmartin in [#108790](https://github.com/getsentry/sentry/pull/108790)

#### Trace

- Prefer standalone span indicators over pageload span indicators by @nsdeschenes in [#110297](https://github.com/getsentry/sentry/pull/110297)
- Handle missing groups by @wmak in [#109942](https://github.com/getsentry/sentry/pull/109942)

#### Tracemetrics

- Preserve all visualizes when changing chart type by @nsdeschenes in [#110618](https://github.com/getsentry/sentry/pull/110618)
- Hide explicit none types in UI by @narsaynorath in [#110443](https://github.com/getsentry/sentry/pull/110443)
- Include conditions for unit:none explicitly by @narsaynorath in [#110415](https://github.com/getsentry/sentry/pull/110415)
- Handle unit for "value" column in frontend by @narsaynorath in [#110095](https://github.com/getsentry/sentry/pull/110095)
- Fix effective sample rate in dual write by @k-fish in [#110104](https://github.com/getsentry/sentry/pull/110104)
- Properly handle duration scaling in alerts by @narsaynorath in [#109950](https://github.com/getsentry/sentry/pull/109950)
- Metric select field in alerts should use isLoading by @narsaynorath in [#109943](https://github.com/getsentry/sentry/pull/109943)
- Changing to categorical bar chart loses unit value by @narsaynorath in [#109899](https://github.com/getsentry/sentry/pull/109899)
- Parse units off response in events request for alerts by @narsaynorath in [#109608](https://github.com/getsentry/sentry/pull/109608)
- Allow explicitly defining none in requests by @narsaynorath in [#109328](https://github.com/getsentry/sentry/pull/109328)

#### Traces

- Filter unreleased issue types from trace API by @nora-shap in [#110356](https://github.com/getsentry/sentry/pull/110356)
- Hide LLM Detected issues from trace details view by @nora-shap in [#109929](https://github.com/getsentry/sentry/pull/109929)
- Switch 'Edit Table' button to use the Edit icon, not Table by @JoshuaKGoldberg in [#109780](https://github.com/getsentry/sentry/pull/109780)
- Handle heavily sampled projects by @wmak in [#108750](https://github.com/getsentry/sentry/pull/108750)

#### Ui

- Align upsell modal feature list by @natemoo-re in [#110677](https://github.com/getsentry/sentry/pull/110677)
- Move git_pr_number to number tags in explore constants by @runningcode in [#110040](https://github.com/getsentry/sentry/pull/110040)
- Change git_pr_number field type from STRING to INTEGER by @runningcode in [#110033](https://github.com/getsentry/sentry/pull/110033)
- Align event drawer header with sidebar header and sticky EventNavigation by @TkDodo in [#109930](https://github.com/getsentry/sentry/pull/109930)
- Defer scroll restoration by @natemoo-re in [#109885](https://github.com/getsentry/sentry/pull/109885)
- Hide LLM Detected issues from trace timeline by @nora-shap in [#109857](https://github.com/getsentry/sentry/pull/109857)
- Filter null-tuple unhandled rejections by @scttcper in [#109588](https://github.com/getsentry/sentry/pull/109588)
- Improve layout responsiveness for smaller screens by @priscilawebdev in [#109173](https://github.com/getsentry/sentry/pull/109173)

#### Workflow Engine

- Skip workflow processing for inactive projects by @malwilley in [#110553](https://github.com/getsentry/sentry/pull/110553)
- Fix Workflow.DoesNotExist issue(s) by @saponifi3d in [#110169](https://github.com/getsentry/sentry/pull/110169)

#### Workflows

- Treat OrganizationWorkflowIndexEndpoint query parse errors as 400s by @kcons in [#110434](https://github.com/getsentry/sentry/pull/110434)
- Don't report missing Environment as an error by @kcons in [#109958](https://github.com/getsentry/sentry/pull/109958)
- Account for no associated workflow by @kcons in [#109509](https://github.com/getsentry/sentry/pull/109509)
- Make update_workflow_action_group_statuses handle missing foreign keys by @kcons in [#109149](https://github.com/getsentry/sentry/pull/109149)

#### Other

- (ai-agents) Remove platform filters by @obostjancic in [#110295](https://github.com/getsentry/sentry/pull/110295)
- (ai-monitoring) Fix error icon bg bleed in ai trace span list by @priscilawebdev in [#109177](https://github.com/getsentry/sentry/pull/109177)
- (attachments) Skip rate limiting for attachments already in objectstore by @jan-auer in [#110035](https://github.com/getsentry/sentry/pull/110035)
- (AutoSaveField) Type inference for mutationOptions by @TkDodo in [#110413](https://github.com/getsentry/sentry/pull/110413)
- (avatar) Coerce owner id and avatar name to string before trim by @JonasBa in [#110598](https://github.com/getsentry/sentry/pull/110598)
- (broadcasts) Guard against non-array broadcasts value to prevent crash by @JonasBa in [#110599](https://github.com/getsentry/sentry/pull/110599)
- (buffer) Allow dicts during buffer encoding by @thetruecpaul in [#110024](https://github.com/getsentry/sentry/pull/110024)
- (button) Restore focus ring on transparent LinkButton by @JonasBa in [#109735](https://github.com/getsentry/sentry/pull/109735)
- (cells) Fix ByCellName resolver by @lynnagara in [#110217](https://github.com/getsentry/sentry/pull/110217)
- (charts) Break infinite render loop in `ChartLegend` overflow detection by @gggritso in [#110480](https://github.com/getsentry/sentry/pull/110480)
- (cleanup) Move partition validation before environment setup by @joshuarli in [#108404](https://github.com/getsentry/sentry/pull/108404)
- (code-review) Filter pr_closed webhook when no code review triggers configured by @giovanni-guidini in [#109192](https://github.com/getsentry/sentry/pull/109192)
- (coding integrations) Setting branding + loading bug by @sehr-m in [#110448](https://github.com/getsentry/sentry/pull/110448)
- (CompactSelect) Adjust scrollbar gutter behavior based on overflow state by @TkDodo in [#109653](https://github.com/getsentry/sentry/pull/109653)
- (components) [SearchQueryBuilder] cap FilterWrapper width to 2xl less than parent by @JoshuaKGoldberg in [#110334](https://github.com/getsentry/sentry/pull/110334)
- (crons) Try to fix deletion spikes from crons by @wedamija in [#109388](https://github.com/getsentry/sentry/pull/109388)
- (cursor) Fall back to /v0/models for API key verification by @JoshFerge in [#109297](https://github.com/getsentry/sentry/pull/109297)
- (data-browsing) Allow SQLish to parse some Unicode control characters by @gggritso in [#110306](https://github.com/getsentry/sentry/pull/110306)
- (eco) Addresses ApiForbidden errors, IntegrationConfigurationError noise by @GabeVillalobos in [#109711](https://github.com/getsentry/sentry/pull/109711)
- (eslint) Use optional chain in restrict-jsx-slot-children rule by @TkDodo in [#109557](https://github.com/getsentry/sentry/pull/109557)
- (fixability) Always pass issue summary to fixability endpoint by @Mihir-Mavalankar in [#109258](https://github.com/getsentry/sentry/pull/109258)
- (formatting) Run ruff format by @thetruecpaul in [#109618](https://github.com/getsentry/sentry/pull/109618)
- (forms) Hash-based scroll + focus by @natemoo-re in [#108536](https://github.com/getsentry/sentry/pull/108536)
- (gen-ai) Gracefully handle malformed JSON in AI message parsing by @sentry in [#109645](https://github.com/getsentry/sentry/pull/109645)
- (gettingStartedDocs) Update LangGraph example to use StateGraph API by @priscilawebdev in [#109551](https://github.com/getsentry/sentry/pull/109551)
- (github) Swallow error when getting back an error response for codeowners file by @Christinarlong in [#110233](https://github.com/getsentry/sentry/pull/110233)
- (globalDrawer) Fix horizontal scroll on small screens by @priscilawebdev in [#109168](https://github.com/getsentry/sentry/pull/109168)
- (gsAdmin) Handle missing abuse reason in customer stats by @priscilawebdev in [#110293](https://github.com/getsentry/sentry/pull/110293)
- (guidedSteps) Reset to first step when currentStep exceeds totalSteps by @jaydgoss in [#109501](https://github.com/getsentry/sentry/pull/109501)
- (interfaces) Allow 'self' as context key by @kcons in [#106991](https://github.com/getsentry/sentry/pull/106991)
- (issue search) Route non-error issue message search through Snuba instead of truncated Postgres field by @shashjar in [#109110](https://github.com/getsentry/sentry/pull/109110)
- (issue-details) Preserve page filters when searching issues by tag value by @yuvmen in [#109102](https://github.com/getsentry/sentry/pull/109102)
- (issue-detection) Use LLM-resolved project_id for cross-project issue attribution by @roggenkemper in [#109253](https://github.com/getsentry/sentry/pull/109253)
- (issue-timeseries) Allow higher granularities by @wmak in [#109827](https://github.com/getsentry/sentry/pull/109827)
- (jira) Update error handling to handle more form errors by @Christinarlong in [#109764](https://github.com/getsentry/sentry/pull/109764)
- (metric-issue) Defer chart request until open period has loaded by @malwilley in [#109425](https://github.com/getsentry/sentry/pull/109425)
- (metric-issues) Handle 10k data point limit for the metric chart by @malwilley in [#109882](https://github.com/getsentry/sentry/pull/109882)
- (migrations) Getsentry clean migration by @hubertdeng123 in [#110374](https://github.com/getsentry/sentry/pull/110374)
- (modal) Skip ESC close when event is already handled by child by @TkDodo in [#109556](https://github.com/getsentry/sentry/pull/109556)
- (monitors) Remove radius on schedule preview when overlapping panels by @evanpurkhiser in [#108673](https://github.com/getsentry/sentry/pull/108673)
- (notifications) Attach occurrence to GroupEvent for test notifications by @mrduncan in [#110562](https://github.com/getsentry/sentry/pull/110562)
- (occurrences) Filter None values out of headers by @thetruecpaul in [#110355](https://github.com/getsentry/sentry/pull/110355)
- (pageFilters) Expand sentinel selection before unchecking a project by @JonasBa in [#110274](https://github.com/getsentry/sentry/pull/110274)
- (processing-errors) Fix missing `received` value from our processing-error TraceItems by @wedamija in [#109851](https://github.com/getsentry/sentry/pull/109851)
- (profiles) Re-enable skipped symbolicator deobfuscation tests by @romtsn in [#110379](https://github.com/getsentry/sentry/pull/110379)
- (projectredirect) Increase slug size by @thetruecpaul in [#109968](https://github.com/getsentry/sentry/pull/109968)
- (releases) Sort by build number & code in semver when resolving in next release by @srest2021 in [#106885](https://github.com/getsentry/sentry/pull/106885)
- (rules) Update escalation condition label to reflect actual behavior by @malwilley in [#110328](https://github.com/getsentry/sentry/pull/110328)
- (safe) Handle None query parameter in safe_urlencode by @malwilley in [#110367](https://github.com/getsentry/sentry/pull/110367)
- (scm) Rename to apps.py by @cmanallen in [#110682](https://github.com/getsentry/sentry/pull/110682)
- (search) Preserve scroll position in multi-select filter combobox by @nsdeschenes in [#108526](https://github.com/getsentry/sentry/pull/108526)
- (security) Only include emails in user serialization for the requesting user by @wedamija in [#108287](https://github.com/getsentry/sentry/pull/108287)
- (sentry-apps) Handle empty webhook_url in external requests by @sentry in [#109529](https://github.com/getsentry/sentry/pull/109529)
- (similar-issues) Deduplicate groups with multiple hashes in similar issues response by @mrduncan in [#108513](https://github.com/getsentry/sentry/pull/108513)
- (snuba) Handle direct project.id groupby in top event conditions by @Zylphrex in [#109535](https://github.com/getsentry/sentry/pull/109535)
- (span-buffer) Track outcome on produce errors by @evanh in [#109944](https://github.com/getsentry/sentry/pull/109944)
- (storybook) Convert missed default imports to named by @JoshuaKGoldberg in [#110535](https://github.com/getsentry/sentry/pull/110535)
- (taskbroker) Allow taskbroker_send_tasks to run indefinitely by @evanh in [#110573](https://github.com/getsentry/sentry/pull/110573)
- (tempest) Add more metrics, logs and spans for monitoring by @mujacica in [#107041](https://github.com/getsentry/sentry/pull/107041)
- (trace-waterfall) Fix duration text overlap in trace waterfall by @nsdeschenes in [#108230](https://github.com/getsentry/sentry/pull/108230)
- (traces-explorer) Remove chart-specific restrictions on deletion logic by @JoshuaKGoldberg in [#110046](https://github.com/getsentry/sentry/pull/110046)
- (typing) Add missing types to group-merge code by @thetruecpaul in [#110229](https://github.com/getsentry/sentry/pull/110229)
- (useScrollLock) Fix document.documentElement locking to not break position: sticky by @TkDodo in [#109663](https://github.com/getsentry/sentry/pull/109663)
- (vercel) Adds signature check to vercel delete endpoint by @Christinarlong in [#109974](https://github.com/getsentry/sentry/pull/109974)
- (virtualization) Adjust height calculation to include vertical padding for scrollbar consistency by @TkDodo in [#109480](https://github.com/getsentry/sentry/pull/109480)
- (webhooks) Eliminate head-of-line blocking in sequential mailbox drain by @tnt-sentry in [#110215](https://github.com/getsentry/sentry/pull/110215)
- Only disable SubmitButton while form is in submitting state by @TkDodo in [#110192](https://github.com/getsentry/sentry/pull/110192)
- Add dependency on column drop migration by @markstory in [#110214](https://github.com/getsentry/sentry/pull/110214)
- Revert "ref(core): button busy state and form SubmitButton UX" by @natemoo-re in [#109891](https://github.com/getsentry/sentry/pull/109891)

### Documentation 📚

#### Skills

- Add no-toast guidance for auto-save form fields by @JonasBa in [#109483](https://github.com/getsentry/sentry/pull/109483)
- Add setup-dev skill for dev environment setup by @HazAT in [#108744](https://github.com/getsentry/sentry/pull/108744)

#### Other

- (search) Note internal wildcard operators by @nsdeschenes in [#110047](https://github.com/getsentry/sentry/pull/110047)
- (sentry-apps) Add sentryAppId to sentry-app-installations API schema by @souredoutlook in [#109628](https://github.com/getsentry/sentry/pull/109628)
- New form system by @TkDodo in [#109861](https://github.com/getsentry/sentry/pull/109861)

### Internal Changes 🔧

#### Aci

- Add feedback button to metric issue page by @malwilley in [#110132](https://github.com/getsentry/sentry/pull/110132)
- Handle prepare_component_fields in WorkflowEngineRuleSerializer by @ceorourke in [#109423](https://github.com/getsentry/sentry/pull/109423)
- Replace usage of legacy code to populate conditions data in WorkflowEngineRuleSerializer by @ceorourke in [#109541](https://github.com/getsentry/sentry/pull/109541)
- Disable seer on metric issues by @malwilley in [#109712](https://github.com/getsentry/sentry/pull/109712)
- Add feature flag for disabling issue stream detector notifications for metric issues by @malwilley in [#109245](https://github.com/getsentry/sentry/pull/109245)
- Flip additionalProperties back to False by @ceorourke in [#109241](https://github.com/getsentry/sentry/pull/109241)
- Update metric issue threshold copy by @malwilley in [#109227](https://github.com/getsentry/sentry/pull/109227)
- Remove sentry_app_identifier from Action by @ceorourke in [#109215](https://github.com/getsentry/sentry/pull/109215)
- Add render_label method for sentry apps by @ceorourke in [#109123](https://github.com/getsentry/sentry/pull/109123)
- Automatically zoom metric issues to the event's open period by @malwilley in [#109212](https://github.com/getsentry/sentry/pull/109212)
- Add render_label for ticketing providers by @ceorourke in [#108795](https://github.com/getsentry/sentry/pull/108795)

#### Alerts

- Refactor DetailedWorkflowEngineDetectorSerializer to remove inheritance by @kcons in [#110706](https://github.com/getsentry/sentry/pull/110706)
- Remove unused neglected rule code by @ceorourke in [#110363](https://github.com/getsentry/sentry/pull/110363)
- Replace useRouter with specific hooks in ruleDetails by @evanpurkhiser in [#110116](https://github.com/getsentry/sentry/pull/110116)

#### Api

- Remove OrganizationEventsSpansHistogramEndpoint by @cvxluo in [#110339](https://github.com/getsentry/sentry/pull/110339)
- Remove ProjectUserStatsEndpoint by @cvxluo in [#110342](https://github.com/getsentry/sentry/pull/110342)
- Use logs instead of capture_message by @billyvg in [#109794](https://github.com/getsentry/sentry/pull/109794)
- Remove dead code from organization traces API endpoint by @shashjar in [#109637](https://github.com/getsentry/sentry/pull/109637)

#### Attachments

- Skip V2 objectstore delete for EventAttachments during cleanup by @jan-auer in [#109776](https://github.com/getsentry/sentry/pull/109776)
- Clean up objectstore rollout options by @jan-auer in [#109674](https://github.com/getsentry/sentry/pull/109674)
- Remove objectstore double-write code by @jan-auer in [#109671](https://github.com/getsentry/sentry/pull/109671)

#### Auth

- Replace browserHistory with useNavigate in loginForm by @evanpurkhiser in [#110013](https://github.com/getsentry/sentry/pull/110013)
- Replace browserHistory with useNavigate in ssoForm by @evanpurkhiser in [#109992](https://github.com/getsentry/sentry/pull/109992)
- Replace browserHistory with useNavigate in registerForm by @evanpurkhiser in [#109998](https://github.com/getsentry/sentry/pull/109998)

#### Autofix

- Split explorer response into sections by @Zylphrex in [#110527](https://github.com/getsentry/sentry/pull/110527)
- Use disclosure component for autofix cards by @Zylphrex in [#110433](https://github.com/getsentry/sentry/pull/110433)
- Rename autofix artifacts type by @Zylphrex in [#110431](https://github.com/getsentry/sentry/pull/110431)
- Refactor seer drawer into shared components by @Zylphrex in [#109854](https://github.com/getsentry/sentry/pull/109854)
- Remove seer-slack-workflows-explorer by @Zylphrex in [#109871](https://github.com/getsentry/sentry/pull/109871)
- Unify differences between seer drawers by @Zylphrex in [#109686](https://github.com/getsentry/sentry/pull/109686)
- Add feature flag for autofix-on-explorer-v2 by @Zylphrex in [#109687](https://github.com/getsentry/sentry/pull/109687)

#### Avatar

- Migrate Gravatar hash to useQuery by @JonasBa in [#109784](https://github.com/getsentry/sentry/pull/109784)
- Consolidate Gravatar and ImageAvatar into useImageAvatar hook by @JonasBa in [#109544](https://github.com/getsentry/sentry/pull/109544)

#### Billing

- Bump sentry-protos to >=0.8.3 by @dashed in [#109996](https://github.com/getsentry/sentry/pull/109996)
- Bump protos to 0.8.2 by @krithikravi in [#109855](https://github.com/getsentry/sentry/pull/109855)
- Remove maxAdminGift frontend limits for gifting by @mrduncan in [#109426](https://github.com/getsentry/sentry/pull/109426)
- Reference startDate when filtering active product trials by @brendanhsentry in [#108720](https://github.com/getsentry/sentry/pull/108720)

#### Cells

- Region_silo_test -> cell_silo_test by @lynnagara in [#110569](https://github.com/getsentry/sentry/pull/110569)
- RegionSiloClient -> CellSiloClient by @lynnagara in [#110579](https://github.com/getsentry/sentry/pull/110579)
- Remove SiloMode.REGION by @lynnagara in [#110679](https://github.com/getsentry/sentry/pull/110679)
- Rpc method renaming and deprecation of unused methods by @lynnagara in [#110586](https://github.com/getsentry/sentry/pull/110586)
- RegionCacheVersion -> CellCacheVersion by @lynnagara in [#110678](https://github.com/getsentry/sentry/pull/110678)
- Rename core hybridcloud models from region -> cell by @lynnagara in [#110601](https://github.com/getsentry/sentry/pull/110601)
- Update RegionReplicaService rpc method callers to use cell_name by @lynnagara in [#110576](https://github.com/getsentry/sentry/pull/110576)
- Rename RegionOutbox to CellOutbox by @lynnagara in [#110609](https://github.com/getsentry/sentry/pull/110609)
- Regional_rpc_method -> cell_rpc_method by @lynnagara in [#110610](https://github.com/getsentry/sentry/pull/110610)
- Clean up temporary aliases needed for getsentry by @lynnagara in [#110496](https://github.com/getsentry/sentry/pull/110496)
- SiloMode.REGION -> SiloMode.CELL by @lynnagara in [#110494](https://github.com/getsentry/sentry/pull/110494)
- Update RegionReplicaService rpc methods to accept cell_name by @lynnagara in [#110461](https://github.com/getsentry/sentry/pull/110461)
- Update all org provisioning rpc methods with cell terminology by @lynnagara in [#110361](https://github.com/getsentry/sentry/pull/110361)
- More renames of core region methods by @lynnagara in [#110487](https://github.com/getsentry/sentry/pull/110487)
- Update more decorator naming by @lynnagara in [#110489](https://github.com/getsentry/sentry/pull/110489)
- Rename silo decorators by @lynnagara in [#110458](https://github.com/getsentry/sentry/pull/110458)
- Update all sentry-apps module to use cells terminology instead of regions by @lynnagara in [#110354](https://github.com/getsentry/sentry/pull/110354)
- Update caller of update_region_user rpc method by @lynnagara in [#110357](https://github.com/getsentry/sentry/pull/110357)
- ControlOutbox.region_name -> ControlOutbox.cell_name by @lynnagara in [#110344](https://github.com/getsentry/sentry/pull/110344)
- Get_local_region -> get_local_cell by @lynnagara in [#110350](https://github.com/getsentry/sentry/pull/110350)
- Remove region_name param from get_organizations_by_user_and_scope by @lynnagara in [#110276](https://github.com/getsentry/sentry/pull/110276)
- The subdomain check is now subdomain_is_locality by @lynnagara in [#110278](https://github.com/getsentry/sentry/pull/110278)
- WebhookPayload.region_name -> WebhookPayload.cell_name by @lynnagara in [#110253](https://github.com/getsentry/sentry/pull/110253)
- Migrate get_organizations_by_user_and_scope to use cell_name by @lynnagara in [#110173](https://github.com/getsentry/sentry/pull/110173)
- OrganizationSlugReservationReplica.region_name -> cell_name by @lynnagara in [#110220](https://github.com/getsentry/sentry/pull/110220)
- Rename OrganizationSlugReservation.region_name to cell_name by @lynnagara in [#110177](https://github.com/getsentry/sentry/pull/110177)
- Remove no-longer-needed shims for getsentry by @lynnagara in [#110170](https://github.com/getsentry/sentry/pull/110170)
- Rename region_name to cell_name in OrganizationMapping django model by @lynnagara in [#109997](https://github.com/getsentry/sentry/pull/109997)
- Migrate hybrid cloud resolvers from region -> cell by @lynnagara in [#110029](https://github.com/getsentry/sentry/pull/110029)
- RegionDirectory.regions -> RegionDirectory.cells by @lynnagara in [#110028](https://github.com/getsentry/sentry/pull/110028)
- Update apigateway with region -> cell by @lynnagara in [#109989](https://github.com/getsentry/sentry/pull/109989)
- Remove usage of Region.category by @lynnagara in [#109840](https://github.com/getsentry/sentry/pull/109840)
- Rename Region -> Cell by @lynnagara in [#109918](https://github.com/getsentry/sentry/pull/109918)
- Clarify the SENTRY_MONOLITH_REGION setting by @lynnagara in [#109915](https://github.com/getsentry/sentry/pull/109915)
- Remove find_all_region_names() by @lynnagara in [#109911](https://github.com/getsentry/sentry/pull/109911)
- Remove get_region_by_name by @lynnagara in [#109833](https://github.com/getsentry/sentry/pull/109833)
- Generate_region_url -> generate_locality_url by @lynnagara in [#109745](https://github.com/getsentry/sentry/pull/109745)
- More refactors from regions -> cell + locality by @lynnagara in [#109622](https://github.com/getsentry/sentry/pull/109622)

#### Ci

- Add action to update `baseline-browser-mapping` by @natemoo-re in [#110608](https://github.com/getsentry/sentry/pull/110608)
- Add mdx type checking by @natemoo-re in [#107776](https://github.com/getsentry/sentry/pull/107776)
- Refactor jest-balance job to use shared setup-node-pnpm step by @ryan953 in [#110534](https://github.com/getsentry/sentry/pull/110534)
- Remove repo-level Warden workflow by @gricha in [#110134](https://github.com/getsentry/sentry/pull/110134)
- Use shared setup-node-pnpm action in acceptance workflow by @hubertdeng123 in [#110022](https://github.com/getsentry/sentry/pull/110022)

#### Code Review

- Remove github_event from task by @armenzg in [#110639](https://github.com/getsentry/sentry/pull/110639)
- Use seer_path and skip request_type by @armenzg in [#110416](https://github.com/getsentry/sentry/pull/110416)
- Remove legacy endpoint by @armenzg in [#110457](https://github.com/getsentry/sentry/pull/110457)
- Remove unused models by @armenzg in [#108546](https://github.com/getsentry/sentry/pull/108546)

#### Coding Integrations

- Update Claude environment selection with default by @sehr-m in [#110662](https://github.com/getsentry/sentry/pull/110662)
- Minor frontend changes by @sehr-m in [#110392](https://github.com/getsentry/sentry/pull/110392)

#### Components

- Convert AvatarCropper from class to function component by @JoshuaKGoldberg in [#110098](https://github.com/getsentry/sentry/pull/110098)
- Convert GridEditable from class to function component by @JoshuaKGoldberg in [#109347](https://github.com/getsentry/sentry/pull/109347)
- Convert BarChartZoom from class to function component by @JoshuaKGoldberg in [#109600](https://github.com/getsentry/sentry/pull/109600)
- Convert StackedAreaChart from class to function component by @JoshuaKGoldberg in [#109601](https://github.com/getsentry/sentry/pull/109601)

#### Context Engine

- Keep 1 kill switch option for all of context engine indexing by @Mihir-Mavalankar in [#109226](https://github.com/getsentry/sentry/pull/109226)
- Organize tasks and add scheduling task by @Mihir-Mavalankar in [#109156](https://github.com/getsentry/sentry/pull/109156)

#### Core

- Improve select field types by @TkDodo in [#110454](https://github.com/getsentry/sentry/pull/110454)
- Button busy state and form SubmitButton UX by @TkDodo in [#109869](https://github.com/getsentry/sentry/pull/109869)

#### Dashboards

- Updates AI insights pages to use `useHasPlatformizedInsights` by @edwardgou-sentry in [#110572](https://github.com/getsentry/sentry/pull/110572)
- Update ai agents overview dashboard to use equations fro trace_status_rate by @edwardgou-sentry in [#110456](https://github.com/getsentry/sentry/pull/110456)
- Remove prebuilt dashboards section from sidebar nav by @DominikB2014 in [#110453](https://github.com/getsentry/sentry/pull/110453)
- Remove pre-favorited prebuilt dashboards feature by @DominikB2014 in [#110445](https://github.com/getsentry/sentry/pull/110445)
- Rename prebuilt dashboard titles in frontend by @edwardgou-sentry in [#110255](https://github.com/getsentry/sentry/pull/110255)
- Add "Details" suffix to non overview AI Dashboards by @edwardgou-sentry in [#110257](https://github.com/getsentry/sentry/pull/110257)
- Add create alert option to span based timeseries widgets by @DominikB2014 in [#110239](https://github.com/getsentry/sentry/pull/110239)
- Switch EventsSearchBar test to use paste by @scttcper in [#110223](https://github.com/getsentry/sentry/pull/110223)
- Change save button text for prebuilt dashboard filters by @DominikB2014 in [#110211](https://github.com/getsentry/sentry/pull/110211)
- Use favorited column for favorite status instead of row existence by @DominikB2014 in [#110204](https://github.com/getsentry/sentry/pull/110204)
- Remove `dashboards-categorical-bar-charts` flag declaration by @gggritso in [#109897](https://github.com/getsentry/sentry/pull/109897)
- Extract spans confidence footer into reusable component by @nsdeschenes in [#109939](https://github.com/getsentry/sentry/pull/109939)
- Replace browserHistory with useNavigate in importDashboardFromFileModal by @evanpurkhiser in [#109986](https://github.com/getsentry/sentry/pull/109986)
- Standardize table minH across prebuilt dashboards by @DominikB2014 in [#109949](https://github.com/getsentry/sentry/pull/109949)
- Remove `dashboards-categorical-bar-charts` feature flag from frontend by @gggritso in [#109896](https://github.com/getsentry/sentry/pull/109896)
- Remove Widget Viewer manual caching layer by @gggritso in [#109689](https://github.com/getsentry/sentry/pull/109689)
- Replace maxFontSize prop with Container height in details widget by @DominikB2014 in [#109599](https://github.com/getsentry/sentry/pull/109599)
- Increase Next.js overview table widget heights to match mobile by @DominikB2014 in [#109498](https://github.com/getsentry/sentry/pull/109498)

#### Db

- Add (group_id, action_id, date_added) index on NotificationMessage by @beezz in [#109179](https://github.com/getsentry/sentry/pull/109179)
- Remove (group_id, last_seen DESC) index from GroupRelease by @beezz in [#109067](https://github.com/getsentry/sentry/pull/109067)

#### Deps

- Update baseline-browser-mapping by @github-actions in [#110672](https://github.com/getsentry/sentry/pull/110672)
- Bump django from 5.2.11 to 5.2.12 by @dependabot in [#110406](https://github.com/getsentry/sentry/pull/110406)
- Bump werkzeug from 3.1.5 to 3.1.6 by @dependabot in [#110425](https://github.com/getsentry/sentry/pull/110425)
- Bump sqlparse from 0.5.0 to 0.5.4 by @dependabot in [#110424](https://github.com/getsentry/sentry/pull/110424)
- Pnpm approve native bindings by @natemoo-re in [#110435](https://github.com/getsentry/sentry/pull/110435)
- Bump pillow from 11.0.0 to 12.1.1 by @dependabot in [#109657](https://github.com/getsentry/sentry/pull/109657)
- Bump cryptography from 44.0.1 to 46.0.5 by @dependabot in [#109655](https://github.com/getsentry/sentry/pull/109655)
- Bump @rspack/cli, @rspack/core, @rspack/plugin-react-refresh by @oioki in [#109656](https://github.com/getsentry/sentry/pull/109656)
- Fix GHSA-23c5-xmqv-rm74 vulnerable minimatch in api-docs by @oioki in [#109658](https://github.com/getsentry/sentry/pull/109658)
- Fix GHSA-fjxv-7rqg-78g4 vulnerable form-data in api-docs by @oioki in [#109654](https://github.com/getsentry/sentry/pull/109654)
- Bump minimatch from 5.1.6 to 5.1.9 in /api-docs by @dependabot in [#109536](https://github.com/getsentry/sentry/pull/109536)
- Bump typescript-eslint to 8.56.1 by @JoshuaKGoldberg in [#109312](https://github.com/getsentry/sentry/pull/109312)
- Bump objectstore-client to 0.0.18 by @lcian in [#109193](https://github.com/getsentry/sentry/pull/109193)

#### Discover

- Replace browserHistory with useNavigate in landing by @evanpurkhiser in [#110010](https://github.com/getsentry/sentry/pull/110010)
- Replace browserHistory with useNavigate in actionDropdown by @evanpurkhiser in [#110018](https://github.com/getsentry/sentry/pull/110018)
- Replace browserHistory with useNavigate in eventInputName by @evanpurkhiser in [#109979](https://github.com/getsentry/sentry/pull/109979)

#### Eslint

- Enforce dynamic type-loader imports by @scttcper in [#110441](https://github.com/getsentry/sentry/pull/110441)
- No-unnecessary-type-annotation rule by @TkDodo in [#109485](https://github.com/getsentry/sentry/pull/109485)
- Bolster restrict-jsx-slot-children's getDisplayName by @JoshuaKGoldberg in [#109725](https://github.com/getsentry/sentry/pull/109725)

#### Explore

- Remove TraceItemAttributeContext provider pattern by @nsdeschenes in [#108552](https://github.com/getsentry/sentry/pull/108552)
- Make attribute breakdown components a little more reusable by @malwilley in [#109515](https://github.com/getsentry/sentry/pull/109515)

#### Explorer

- Tool formatter and links for new issue/event tool by @aliu39 in [#110234](https://github.com/getsentry/sentry/pull/110234)
- Register baselines rpc for proxy by @aliu39 in [#109856](https://github.com/getsentry/sentry/pull/109856)
- Update pr widget labels to use 'PR' language by @aliu39 in [#109548](https://github.com/getsentry/sentry/pull/109548)
- Rm unused category params from continue_run by @aliu39 in [#109355](https://github.com/getsentry/sentry/pull/109355)

#### Flags

- Cleanup dead `feature-flag-suspect-flags` option by @ryan953 in [#110335](https://github.com/getsentry/sentry/pull/110335)
- Cleanup dead `feature-flag-suspect-flags` option by @ryan953 in [#110312](https://github.com/getsentry/sentry/pull/110312)
- Remove GA-graduated dynamic-sampling-count-biases flag by @wedamija in [#108773](https://github.com/getsentry/sentry/pull/108773)
- Remove 5 GA-graduated data-browsing feature flags (batch 1) by @wedamija in [#108769](https://github.com/getsentry/sentry/pull/108769)

#### Gen Ai

- Remove noisy parse exception captures in AI input by @priscilawebdev in [#110400](https://github.com/getsentry/sentry/pull/110400)
- Remove redundant cost alert capture message by @priscilawebdev in [#110398](https://github.com/getsentry/sentry/pull/110398)

#### Github

- Bucket webhooks by event type to reduce head-of-line blocking by @tnt-sentry in [#109988](https://github.com/getsentry/sentry/pull/109988)
- Remove mailbox allowlist for drop-unprocessed-events by @armenzg in [#109519](https://github.com/getsentry/sentry/pull/109519)

#### Grouping

- Improve message parameterization metrics by @lobsterkatie in [#110612](https://github.com/getsentry/sentry/pull/110612)
- Cache parameterization on context by @lobsterkatie in [#110605](https://github.com/getsentry/sentry/pull/110605)
- Remove `ContextValue` and `ContextDict` by @lobsterkatie in [#110466](https://github.com/getsentry/sentry/pull/110466)
- Change where message variable is parameterized by @lobsterkatie in [#110377](https://github.com/getsentry/sentry/pull/110377)
- Convert message parameterizer to singleton by @lobsterkatie in [#110384](https://github.com/getsentry/sentry/pull/110384)
- Change custom fingerprint helper to return entire description by @lobsterkatie in [#110380](https://github.com/getsentry/sentry/pull/110380)
- Move `GroupingContext` to new module by @lobsterkatie in [#110373](https://github.com/getsentry/sentry/pull/110373)
- Small normalization and parameterization refactors by @lobsterkatie in [#110014](https://github.com/getsentry/sentry/pull/110014)
- Add fingerprinting test input for title parameterization by @lobsterkatie in [#109886](https://github.com/getsentry/sentry/pull/109886)
- Add git SHA parameterization by @lobsterkatie in [#109753](https://github.com/getsentry/sentry/pull/109753)
- Expand hex parameterization to include numbers with 9-15 digits by @lobsterkatie in [#109751](https://github.com/getsentry/sentry/pull/109751)
- Remove grouphash cache expiry options by @cvxluo in [#109677](https://github.com/getsentry/sentry/pull/109677)
- Expand datetime message parameterization by @lobsterkatie in [#109706](https://github.com/getsentry/sentry/pull/109706)
- Clarify and add to xfail parameterization tests by @lobsterkatie in [#109693](https://github.com/getsentry/sentry/pull/109693)
- Small parameterization refactor by @lobsterkatie in [#109690](https://github.com/getsentry/sentry/pull/109690)

#### Hc

- Adds skill for outbox development and debugging by @GabeVillalobos in [#108626](https://github.com/getsentry/sentry/pull/108626)
- Adds skill for general hybrid cloud testing by @GabeVillalobos in [#108622](https://github.com/getsentry/sentry/pull/108622)

#### Insights

- Replace useRouter with specific hooks in webVitals pageOverview by @evanpurkhiser in [#110118](https://github.com/getsentry/sentry/pull/110118)
- Replace useRouter with specific hooks in screenLoadSpansPage by @evanpurkhiser in [#110120](https://github.com/getsentry/sentry/pull/110120)
- Replace useRouter with specific hooks in screenSummaryPage by @evanpurkhiser in [#110121](https://github.com/getsentry/sentry/pull/110121)
- Remove unused dashboard migration feature flags by @DominikB2014 in [#110044](https://github.com/getsentry/sentry/pull/110044)
- Consolidate platformized hooks into useHasPlatformizedInsights by @DominikB2014 in [#109967](https://github.com/getsentry/sentry/pull/109967)

#### Issues

- Remove useHasStreamlinedUI from a few components by @malwilley in [#110143](https://github.com/getsentry/sentry/pull/110143)
- Always use streamlined UI by @malwilley in [#109685](https://github.com/getsentry/sentry/pull/109685)
- Refactor profile preview section tests by @scttcper in [#109362](https://github.com/getsentry/sentry/pull/109362)
- Share first/last release hook + types by @scttcper in [#109265](https://github.com/getsentry/sentry/pull/109265)
- Prefetch group.project in update group endpoint by @scttcper in [#109152](https://github.com/getsentry/sentry/pull/109152)
- Fix N+1 project queries in bulk_transition_group_to_ongoing by @mrduncan in [#108792](https://github.com/getsentry/sentry/pull/108792)

#### Llm Detected Issues

- Use new llm detected issue type by @shayna-ch in [#109144](https://github.com/getsentry/sentry/pull/109144)
- Create new issue type for llm detected issues by @shayna-ch in [#109138](https://github.com/getsentry/sentry/pull/109138)

#### Logs

- Prevent search query builder rerenders on auto-refresh by @nsdeschenes in [#110320](https://github.com/getsentry/sentry/pull/110320)
- Fix memoization on log row content by @k-fish in [#110310](https://github.com/getsentry/sentry/pull/110310)

#### Models

- Extract `EventErrorType` StrEnum from `EventError` by @wedamija in [#109585](https://github.com/getsentry/sentry/pull/109585)
- Delete CodeReviewEvent table [2/3] by @vaind in [#109422](https://github.com/getsentry/sentry/pull/109422)
- Pending-delete CodeReviewEvent table [1/3] by @vaind in [#109420](https://github.com/getsentry/sentry/pull/109420)

#### Nav

- Remove navigationParentRef from context by @JonasBa in [#110530](https://github.com/getsentry/sentry/pull/110530)
- Move whatsnew outside of its folder by @JonasBa in [#110485](https://github.com/getsentry/sentry/pull/110485)
- Move buttonOverlay to components by @JonasBa in [#110486](https://github.com/getsentry/sentry/pull/110486)
- Rename Nav to Navigation in navigation directory by @JonasBa in [#110359](https://github.com/getsentry/sentry/pull/110359)
- Standardize primary nav footer button sizes by @JonasBa in [#110289](https://github.com/getsentry/sentry/pull/110289)
- Redesign primary nav footer with vertical ButtonBar and portal overlays by @JonasBa in [#109977](https://github.com/getsentry/sentry/pull/109977)

#### Objectstore

- Remove objectstore.force-stored-symbolication flag by @jan-auer in [#109660](https://github.com/getsentry/sentry/pull/109660)
- Pass through compressed bytes when client accepts encoding by @jan-auer in [#109571](https://github.com/getsentry/sentry/pull/109571)

#### Occurrences On Eap

- Use relative frozen timestamps in tests by @shashjar in [#110658](https://github.com/getsentry/sentry/pull/110658)
- Relax reasonable match comparator for `is_escalating` read path by @shashjar in [#109820](https://github.com/getsentry/sentry/pull/109820)
- Create e2e tests for occurrence read paths by @shashjar in [#109121](https://github.com/getsentry/sentry/pull/109121)
- Create e2e test infrastructure by @shashjar in [#108179](https://github.com/getsentry/sentry/pull/108179)

#### Onboarding

- Replace useRouter with specific hooks in platformOptionDropdown by @evanpurkhiser in [#110108](https://github.com/getsentry/sentry/pull/110108)
- Replace useRouter with specific hooks in platformDocHeader by @evanpurkhiser in [#110128](https://github.com/getsentry/sentry/pull/110128)
- Replace inline AI rules with sentry-for-ai skill prompts by @HazAT in [#109647](https://github.com/getsentry/sentry/pull/109647)
- Update tanstack start vite plugin to subpath export by @nicohrubec in [#107672](https://github.com/getsentry/sentry/pull/107672)

#### Ownership

- Migrate ownership settings form to AutoSaveField by @JonasBa in [#109365](https://github.com/getsentry/sentry/pull/109365)
- Remove some empty patterns from CODEOWNERS by @kcons in [#109126](https://github.com/getsentry/sentry/pull/109126)

#### Performance

- Replace useRouter with specific hooks in durationChart by @evanpurkhiser in [#110123](https://github.com/getsentry/sentry/pull/110123)
- Replace browserHistory with useNavigate in trends chart by @evanpurkhiser in [#110011](https://github.com/getsentry/sentry/pull/110011)
- Replace browserHistory with useNavigate in eventsTable by @evanpurkhiser in [#110008](https://github.com/getsentry/sentry/pull/110008)
- Replace browserHistory with useNavigate in tagExplorer by @evanpurkhiser in [#110012](https://github.com/getsentry/sentry/pull/110012)
- Replace browserHistory with useNavigate in tagValueTable by @evanpurkhiser in [#110009](https://github.com/getsentry/sentry/pull/110009)
- Replace browserHistory with useNavigate in onboarding by @evanpurkhiser in [#110017](https://github.com/getsentry/sentry/pull/110017)
- Replace browserHistory with useNavigate in traceWaterfall by @evanpurkhiser in [#109978](https://github.com/getsentry/sentry/pull/109978)
- Replace browserHistory with useNavigate in metricsEnhancedSetting by @evanpurkhiser in [#109991](https://github.com/getsentry/sentry/pull/109991)
- Convert TransactionThresholdModal from class to function component by @JoshuaKGoldberg in [#109574](https://github.com/getsentry/sentry/pull/109574)
- Convert TransactionThresholdButton from class to function component by @JoshuaKGoldberg in [#109567](https://github.com/getsentry/sentry/pull/109567)
- Convert OperationSort from class to function component by @JoshuaKGoldberg in [#109331](https://github.com/getsentry/sentry/pull/109331)
- Convert TeamKeyTransactionsManager from class to function component by @JoshuaKGoldberg in [#109591](https://github.com/getsentry/sentry/pull/109591)
- Convert Table from class to function component by @JoshuaKGoldberg in [#109578](https://github.com/getsentry/sentry/pull/109578)
- Convert TagExplorer from class to functional component by @mjq in [#109298](https://github.com/getsentry/sentry/pull/109298)

#### Preprod

- Sidebar polish by @rbro112 in [#110571](https://github.com/getsentry/sentry/pull/110571)
- Delete no longer used buildList component by @NicoHinderling in [#110259](https://github.com/getsentry/sentry/pull/110259)
- Replace useRouter with specific hooks in buildDetailsHeaderContent by @evanpurkhiser in [#110124](https://github.com/getsentry/sentry/pull/110124)
- Remove duplicated project-scoped endpoints from preprod URLs by @chromy in [#109878](https://github.com/getsentry/sentry/pull/109878)
- Remove project query param from artifact URLs by @NicoHinderling in [#109877](https://github.com/getsentry/sentry/pull/109877)
- Use shared utils in check-for-updates endpoint by @trevor-e in [#109789](https://github.com/getsentry/sentry/pull/109789)
- Remove projectId from URLs where possible by @chromy in [#109665](https://github.com/getsentry/sentry/pull/109665)
- Register endpoints on organization as well as project by @chromy in [#106435](https://github.com/getsentry/sentry/pull/106435)
- Redesign treemap tooltip to match Figma design (EME-869) by @cameroncooke in [#109478](https://github.com/getsentry/sentry/pull/109478)
- Update manifest fields by @rbro112 in [#109088](https://github.com/getsentry/sentry/pull/109088)
- Remove unused size analysis issues module by @chromy in [#109068](https://github.com/getsentry/sentry/pull/109068)
- Add timing metric around snapshot transaction block by @NicoHinderling in [#108242](https://github.com/getsentry/sentry/pull/108242)

#### Profiling

- Replace useRouter with specific hooks in landingWidgetSelector by @evanpurkhiser in [#110125](https://github.com/getsentry/sentry/pull/110125)
- Replace browserHistory with useNavigate in functionTrendsWidget by @evanpurkhiser in [#109980](https://github.com/getsentry/sentry/pull/109980)
- Replace browserHistory with useNavigate in flamegraphQueryParamSync by @evanpurkhiser in [#109981](https://github.com/getsentry/sentry/pull/109981)
- Replace browserHistory with useNavigate in content by @evanpurkhiser in [#109990](https://github.com/getsentry/sentry/pull/109990)
- Replace browserHistory with useNavigate in slowestFunctionsWidget by @evanpurkhiser in [#109987](https://github.com/getsentry/sentry/pull/109987)
- Replace browserHistory with useNavigate in profileSummary by @evanpurkhiser in [#109982](https://github.com/getsentry/sentry/pull/109982)

#### Relay

- Update project config snapshot for health-check glob by @oioki in [#110408](https://github.com/getsentry/sentry/pull/110408)
- Remove metrics extraction integration test by @phacops in [#109613](https://github.com/getsentry/sentry/pull/109613)
- Migrate ingestThroughTrustedRelaysOnly to AutoSaveField by @JonasBa in [#108761](https://github.com/getsentry/sentry/pull/108761)
- Add rollout option for eap accepted span outcomes by @tobias-wilfert in [#109078](https://github.com/getsentry/sentry/pull/109078)

#### Releases

- Replace useRouter with specific hooks in releases detail overview by @evanpurkhiser in [#110129](https://github.com/getsentry/sentry/pull/110129)
- Replace browserHistory with useNavigate in releases overview by @evanpurkhiser in [#109983](https://github.com/getsentry/sentry/pull/109983)
- Replace browserHistory with useNavigate in preprodBuilds by @evanpurkhiser in [#109984](https://github.com/getsentry/sentry/pull/109984)

#### Replays

- Remove granular-replay-permissions flag registration by @priscilawebdev in [#110397](https://github.com/getsentry/sentry/pull/110397)
- Clean up granular-replay-permissions feature flag (backend) by @priscilawebdev in [#110036](https://github.com/getsentry/sentry/pull/110036)
- Clean up granular-replay-permissions flag (frontend) by @priscilawebdev in [#110037](https://github.com/getsentry/sentry/pull/110037)
- Migrate projectReplays settings to AutoSaveField by @JonasBa in [#109364](https://github.com/getsentry/sentry/pull/109364)
- Migrate replay network/errors virtualization to tanstack virtual by @scttcper in [#108190](https://github.com/getsentry/sentry/pull/108190)

#### Repos

- Refactor Settings > Seer > Repos to use virtual rendering by @ryan953 in [#108798](https://github.com/getsentry/sentry/pull/108798)
- Refactor useOrganizationRepositoriesWithSettings to use apiOptions & useInfiniteQuery by @ryan953 in [#108295](https://github.com/getsentry/sentry/pull/108295)

#### Seer

- Remove unused SeerOrganizationSettings model and mark table for pending deletion by @srest2021 in [#110656](https://github.com/getsentry/sentry/pull/110656)
- Add random 50% rollout for context engine in start_run by @Mihir-Mavalankar in [#110574](https://github.com/getsentry/sentry/pull/110574)
- Trim whitespace from ASCII snapshot to reduce token usage by @Mihir-Mavalankar in [#110273](https://github.com/getsentry/sentry/pull/110273)
- Rename useAgentHooks to seerAgentHooks by @ryan953 in [#110188](https://github.com/getsentry/sentry/pull/110188)
- Propagate viewer_context to background tasks and utilities by @azulus in [#109724](https://github.com/getsentry/sentry/pull/109724)
- Propagate viewer_context to Seer endpoint call sites by @azulus in [#109723](https://github.com/getsentry/sentry/pull/109723)
- Propagate viewer_context to autofix Seer call sites by @azulus in [#109722](https://github.com/getsentry/sentry/pull/109722)
- Propagate viewer_context to LLM detection and event manager by @azulus in [#109721](https://github.com/getsentry/sentry/pull/109721)
- Propagate viewer_context to code review Seer call sites by @azulus in [#109717](https://github.com/getsentry/sentry/pull/109717)
- Propagate viewer_context to explorer Seer call sites by @azulus in [#109716](https://github.com/getsentry/sentry/pull/109716)
- Propagate viewer_context to feedback Seer call sites by @azulus in [#109714](https://github.com/getsentry/sentry/pull/109714)
- Propagate viewer_context to anomaly detection Seer call sites by @azulus in [#109720](https://github.com/getsentry/sentry/pull/109720)
- Propagate viewer_context to breakpoints Seer call sites by @azulus in [#109718](https://github.com/getsentry/sentry/pull/109718)
- Propagate viewer_context to similarity Seer call sites by @azulus in [#109719](https://github.com/getsentry/sentry/pull/109719)
- Propagate viewer_context to replays Seer call sites by @azulus in [#109715](https://github.com/getsentry/sentry/pull/109715)
- Add viewer_context passthrough to all Seer API wrappers by @azulus in [#109697](https://github.com/getsentry/sentry/pull/109697)
- Add typed wrappers for remaining Seer API callsites by @azulus in [#109607](https://github.com/getsentry/sentry/pull/109607)
- Add typed wrappers for Seer API callsites by @azulus in [#109589](https://github.com/getsentry/sentry/pull/109589)
- Batch size modifiable and retry on rate limit by @shruthilayaj in [#109568](https://github.com/getsentry/sentry/pull/109568)
- Extract typed severity score request function by @azulus in [#109507](https://github.com/getsentry/sentry/pull/109507)
- Refactor explorer service map query and instrumentation by @shruthilayaj in [#109322](https://github.com/getsentry/sentry/pull/109322)
- Refactor useCodingAgentIntegrations to be based on apiOptions instead by @ryan953 in [#109290](https://github.com/getsentry/sentry/pull/109290)
- Migrate remaining seer calls to urllib3 connection pools by @azulus in [#109263](https://github.com/getsentry/sentry/pull/109263)
- Migrate seer endpoints to urllib3 connection pools by @azulus in [#109254](https://github.com/getsentry/sentry/pull/109254)
- Migrate explorer to urllib3 connection pools by @azulus in [#109224](https://github.com/getsentry/sentry/pull/109224)
- Migrate autofix and summarization to make_signed_seer_api_request by @azulus in [#109205](https://github.com/getsentry/sentry/pull/109205)
- Remove unused allowBackgroundAgentDelegation org option - be by @ryan953 in [#109083](https://github.com/getsentry/sentry/pull/109083)
- Remove unused allowBackgroundAgentDelegation org option - fe by @ryan953 in [#109082](https://github.com/getsentry/sentry/pull/109082)

#### Settings

- Convert PluginDeprecationAlert from class to function component by @JoshuaKGoldberg in [#110207](https://github.com/getsentry/sentry/pull/110207)
- Convert OrganizationRoleSelect from class to function component by @JoshuaKGoldberg in [#110206](https://github.com/getsentry/sentry/pull/110206)
- Convert KeyStats from class to function component by @JoshuaKGoldberg in [#109562](https://github.com/getsentry/sentry/pull/109562)
- Remove dead loadStats call from org teams page by @cvxluo in [#110394](https://github.com/getsentry/sentry/pull/110394)
- Move projects sparklines to use /projects/ endpoint by @cvxluo in [#110395](https://github.com/getsentry/sentry/pull/110395)
- Convert ProjectFiltersSettings from class to function component by @JoshuaKGoldberg in [#110201](https://github.com/getsentry/sentry/pull/110201)
- Migrate integration detailed view to new form system by @TkDodo in [#110300](https://github.com/getsentry/sentry/pull/110300)
- Migrate code path mapping form to new form system by @TkDodo in [#110294](https://github.com/getsentry/sentry/pull/110294)
- Convert OwnerInput from class to function component by @JoshuaKGoldberg in [#110200](https://github.com/getsentry/sentry/pull/110200)
- Replace useRouter with specific hooks in notificationSettingsByEntity by @evanpurkhiser in [#110131](https://github.com/getsentry/sentry/pull/110131)
- Replace browserHistory with useNavigate in organizationAuditLog by @evanpurkhiser in [#110007](https://github.com/getsentry/sentry/pull/110007)
- Replace browserHistory with useNavigate in projectKeys details by @evanpurkhiser in [#110015](https://github.com/getsentry/sentry/pull/110015)
- Replace browserHistory with useNavigate in statusCheckRules by @evanpurkhiser in [#110016](https://github.com/getsentry/sentry/pull/110016)
- Replace browserHistory with useNavigate in organizationProjects by @evanpurkhiser in [#110019](https://github.com/getsentry/sentry/pull/110019)
- Replace browserHistory with useNavigate in apiTokenDetails by @evanpurkhiser in [#110020](https://github.com/getsentry/sentry/pull/110020)
- Migrate org auth token forms to new form system by @JonasBa in [#109257](https://github.com/getsentry/sentry/pull/109257)
- Migrate general org settings to new form system by @JonasBa in [#108490](https://github.com/getsentry/sentry/pull/108490)

#### Span Buffer

- Reduce Redis pipeline commands in done_flush_segments by @evanh in [#110052](https://github.com/getsentry/sentry/pull/110052)
- Add metrics tracking the number of subsegments by @evanh in [#108692](https://github.com/getsentry/sentry/pull/108692)

#### Spans

- Remove OOB (out-of-band) support from span buffer by @untitaker in [#109793](https://github.com/getsentry/sentry/pull/109793)
- Add flush logging for debugging traces by @lvthanh03 in [#109228](https://github.com/getsentry/sentry/pull/109228)

#### Tests

- Replace store_uptime_results with store_eap_items by @wedamija in [#110147](https://github.com/getsentry/sentry/pull/110147)
- Replace store_ourlogs with store_eap_items by @wedamija in [#110142](https://github.com/getsentry/sentry/pull/110142)
- Reverse ids when returning values from store_eap_items take 2 by @wedamija in [#110550](https://github.com/getsentry/sentry/pull/110550)
- Replace store_trace_metrics with store_eap_items by @wedamija in [#110141](https://github.com/getsentry/sentry/pull/110141)
- Replace store_occurrences with store_eap_items by @wedamija in [#110140](https://github.com/getsentry/sentry/pull/110140)
- Replace store_profile_functions with store_eap_items by @wedamija in [#110139](https://github.com/getsentry/sentry/pull/110139)
- Add instasnapshot types to various tests by @lobsterkatie in [#108280](https://github.com/getsentry/sentry/pull/108280)
- Add instasnapshot types to event manager interface tests by @lobsterkatie in [#108276](https://github.com/getsentry/sentry/pull/108276)

#### Tracemetrics

- Handle multi-aggregate view saving and dashboard creation by @nsdeschenes in [#108215](https://github.com/getsentry/sentry/pull/108215)
- Register Attribute Side Panel Feature Flag by @nsdeschenes in [#110198](https://github.com/getsentry/sentry/pull/110198)

#### Traces

- Switch cycle detection from captureMessage to logger.warn by @nsdeschenes in [#110410](https://github.com/getsentry/sentry/pull/110410)
- Comment out flakey test by @gggritso in [#109951](https://github.com/getsentry/sentry/pull/109951)

#### Ui

- Replace EventWaiter class component with useEventWaiter hook by @billyvg in [#110376](https://github.com/getsentry/sentry/pull/110376)
- Remove legacy TestRouteContext compatibility path by @scttcper in [#110000](https://github.com/getsentry/sentry/pull/110000)
- Remove last deprecated router mock (dashboard, alerts) by @scttcper in [#109931](https://github.com/getsentry/sentry/pull/109931)
- Update Feature Flags to new forms by @natemoo-re in [#109523](https://github.com/getsentry/sentry/pull/109523)
- Use deterministic chunk/module IDs in production by @scttcper in [#109631](https://github.com/getsentry/sentry/pull/109631)
- Hoist inline regexes in initializeSdk to module-level constants by @scttcper in [#109596](https://github.com/getsentry/sentry/pull/109596)
- Switch hook tests to use renderHookWithProviders by @scttcper in [#109373](https://github.com/getsentry/sentry/pull/109373)
- Remove codecov bundle analysis by @scttcper in [#109342](https://github.com/getsentry/sentry/pull/109342)

#### Uptime

- Prefix uptime assertion-related type exports with Uptime by @jaydgoss in [#108562](https://github.com/getsentry/sentry/pull/108562)
- Extract OpType, ComparisonType, and AssertionType enums by @jaydgoss in [#108551](https://github.com/getsentry/sentry/pull/108551)

#### Warden

- Add WARDEN_SENTRY_DSN env var to workflow by @gricha in [#109859](https://github.com/getsentry/sentry/pull/109859)
- Add gha-security-review skill for workflow files by @gricha in [#109765](https://github.com/getsentry/sentry/pull/109765)

#### Other

- (ai-conversations) Clean up 100% sampling from the AI conversations endpoint by @vgrozdanic in [#108016](https://github.com/getsentry/sentry/pull/108016)
- (apiQueryKey) Refactor ApiQueryKey so it can accept a prefix to disambiguate between apiFetch and fetchDataQuery calls by @ryan953 in [#110383](https://github.com/getsentry/sentry/pull/110383)
- (app) Replace browserHistory with Navigate in organizationRestore by @evanpurkhiser in [#109993](https://github.com/getsentry/sentry/pull/109993)
- (build) Release Docker image to GHCR via Craft by @aldy505 in [#105457](https://github.com/getsentry/sentry/pull/105457)
- (claude) Ignore local worktrees by @jan-auer in [#109772](https://github.com/getsentry/sentry/pull/109772)
- (client-reports) Remove feature flag by @tobias-wilfert in [#110615](https://github.com/getsentry/sentry/pull/110615)
- (codeowners) Dev-infra ownership of AGENTS.md by @bc-sentry in [#109159](https://github.com/getsentry/sentry/pull/109159)
- (coding integration) Switch to event based polling for claude integration by @sehr-m in [#110260](https://github.com/getsentry/sentry/pull/110260)
- (compactSelect) Consolidate search props into a single search config object by @JonasBa in [#109146](https://github.com/getsentry/sentry/pull/109146)
- (conduit) Remove conduit streaming code from explorer chat by @Mihir-Mavalankar in [#109394](https://github.com/getsentry/sentry/pull/109394)
- (control) Drop unused flag by @armenzg in [#110419](https://github.com/getsentry/sentry/pull/110419)
- (crons) Replace browserHistory with useNavigate in monitorCreateForm by @evanpurkhiser in [#109985](https://github.com/getsentry/sentry/pull/109985)
- (data-forwarding) Cache DataForwarderProject query in post_process by @beezz in [#109477](https://github.com/getsentry/sentry/pull/109477)
- (dep) Bump sentry-relay to 0.9.24 by @Zylphrex in [#109959](https://github.com/getsentry/sentry/pull/109959)
- (detectors) Replace detector attribute hooks with consolidated explore hooks by @nsdeschenes in [#110042](https://github.com/getsentry/sentry/pull/110042)
- (devenv) Remove --frozen flag from dotagents install by @gricha in [#109300](https://github.com/getsentry/sentry/pull/109300)
- (docs) Add CocoaPods deprecation notices to Apple SDK onboarding docs by @itaybre in [#109361](https://github.com/getsentry/sentry/pull/109361)
- (dynamic-sampling) Remove custom rule logic by @shellmayr in [#107770](https://github.com/getsentry/sentry/pull/107770)
- (form) Expose BaseField by @TkDodo in [#109554](https://github.com/getsentry/sentry/pull/109554)
- (forms) Data-scrubbing to new form system by @TkDodo in [#109560](https://github.com/getsentry/sentry/pull/109560)
- (groupstore) Add useAssignIssueMutation to replace assignToActor by @malwilley in [#108759](https://github.com/getsentry/sentry/pull/108759)
- (incidents) Eliminate redundant COUNT query in auto_resolve_snapshot_incidents by @mrduncan in [#108794](https://github.com/getsentry/sentry/pull/108794)
- (integrations) Refactor platform detection to composable framework definitions by @jaydgoss in [#109700](https://github.com/getsentry/sentry/pull/109700)
- (issue-details) Remove old issues UI opt-out action by @malwilley in [#109534](https://github.com/getsentry/sentry/pull/109534)
- (launchpad) Swap Rerun Analysis and Fetch Artifact Info grid positions by @NicoHinderling in [#109511](https://github.com/getsentry/sentry/pull/109511)
- (metric-issues) Clarify metric alert types by @kcons in [#109908](https://github.com/getsentry/sentry/pull/109908)
- (metrics) Remove escalating metrics producer and associated dead code by @phacops in [#110165](https://github.com/getsentry/sentry/pull/110165)
- (navigation) Use async assertions in collapse/expand sidebar test by @JonasBa in [#110653](https://github.com/getsentry/sentry/pull/110653)
- (nextjs) Update auto vercel cron config references by @logaretm in [#107688](https://github.com/getsentry/sentry/pull/107688)
- (notifications) Migrate account notification settings to new form system by @natemoo-re in [#108393](https://github.com/getsentry/sentry/pull/108393)
- (occurrences) Dedupe test frameworks by @thetruecpaul in [#110241](https://github.com/getsentry/sentry/pull/110241)
- (open-periods) Add index for GroupOpenPeriodActivity.event_id by @kcons in [#109625](https://github.com/getsentry/sentry/pull/109625)
- (pageFilters) Update callers to use new useStagedCompactSelect return shape by @JonasBa in [#109512](https://github.com/getsentry/sentry/pull/109512)
- (perf-detectors) Export PerformanceNPlusOneGroupType at new location by @kcons in [#110541](https://github.com/getsentry/sentry/pull/110541)
- (project-detail) Replace useRouter with specific hooks in projectDetail by @evanpurkhiser in [#110127](https://github.com/getsentry/sentry/pull/110127)
- (query-builder) Remove old boolean token experience by @nsdeschenes in [#108143](https://github.com/getsentry/sentry/pull/108143)
- (rr6) Rework useNavigate to remove `router` param by @evanpurkhiser in [#110322](https://github.com/getsentry/sentry/pull/110322)
- (scim) Bulk add/remove members in SCIM team patch operations by @michelletran-sentry in [#109670](https://github.com/getsentry/sentry/pull/109670)
- (scm) General improvments to the platform by @cmanallen in [#108262](https://github.com/getsentry/sentry/pull/108262)
- (scraps) Unify FormWrapper and AppForm by @TkDodo in [#109474](https://github.com/getsentry/sentry/pull/109474)
- (sdk-crash-detection) Add more ignores to Java config by @romtsn in [#109648](https://github.com/getsentry/sentry/pull/109648)
- (search) Treat currencies as numbers by @nsdeschenes in [#108248](https://github.com/getsentry/sentry/pull/108248)
- (seer coding integrations) Extract base class for coding agent providers by @sehr-m in [#109730](https://github.com/getsentry/sentry/pull/109730)
- (seer-api) Use a default timeout of 30s for seer connpools by @aliu39 in [#110249](https://github.com/getsentry/sentry/pull/110249)
- (snuba) Remove spans_histogram_query and related helpers by @cvxluo in [#110393](https://github.com/getsentry/sentry/pull/110393)
- (space) Remove deprecated `space()` by @natemoo-re in [#110575](https://github.com/getsentry/sentry/pull/110575)
- (spans-buffer) Move SegmentKey to a separate module by @lvthanh03 in [#108496](https://github.com/getsentry/sentry/pull/108496)
- (stores) Remove dead stats code from `ProjectsStore` by @cvxluo in [#110449](https://github.com/getsentry/sentry/pull/110449)
- (supergroups) Remove old Top Issues (dynamic grouping) POC by @cvxluo in [#110262](https://github.com/getsentry/sentry/pull/110262)
- (symbolicator) Run Sentry tests tagged with symbolicator by @Dav1dde in [#110336](https://github.com/getsentry/sentry/pull/110336)
- (tasks) Fix N+1 project queries in clear_expired_snoozes by @mrduncan in [#108793](https://github.com/getsentry/sentry/pull/108793)
- (tempest) Migrate configForm to AutoSaveField by @JonasBa in [#109363](https://github.com/getsentry/sentry/pull/109363)
- (time-range) Replace useRouter with specific hooks in timeRangeSelector by @evanpurkhiser in [#110113](https://github.com/getsentry/sentry/pull/110113)
- (toolbar) Migrate Dev Toolbar settings to AutoSaveField by @JonasBa in [#109368](https://github.com/getsentry/sentry/pull/109368)
- (user-feedback) Migrate settings form to AutoSaveField by @JonasBa in [#109369](https://github.com/getsentry/sentry/pull/109369)
- (webhooks) Include tags by default by @armenzg in [#110519](https://github.com/getsentry/sentry/pull/110519)
- (whats-new) Single data-fetch source and fix mark-seen edge cases by @JonasBa in [#110269](https://github.com/getsentry/sentry/pull/110269)
- (workflow_engine) Convert OwnerModel.owner_team FK to BigInt by @beezz in [#109938](https://github.com/getsentry/sentry/pull/109938)
- Add test case for exact match prioritization in fzf by @JonasBa in [#110685](https://github.com/getsentry/sentry/pull/110685)
- Add toggle for context engine enable/disable by @shruthilayaj in [#110645](https://github.com/getsentry/sentry/pull/110645)
- Add fe flag to hide/show ui toggle by @shruthilayaj in [#110637](https://github.com/getsentry/sentry/pull/110637)
- Allow context engine overrider from fe by @shruthilayaj in [#110582](https://github.com/getsentry/sentry/pull/110582)
- Sentry devservices exec stub by @joshuarli in [#110580](https://github.com/getsentry/sentry/pull/110580)
- Migrate most straightforward non-component default export values to named by @JoshuaKGoldberg in [#110516](https://github.com/getsentry/sentry/pull/110516)
- Migrate most use* hooks from default exports to named by @JoshuaKGoldberg in [#110513](https://github.com/getsentry/sentry/pull/110513)
- Fix broken imports from default->named and class->function commit conflicts by @JoshuaKGoldberg in [#110564](https://github.com/getsentry/sentry/pull/110564)
- Remove graduated emerge-tools backend feature flags by @wedamija in [#109829](https://github.com/getsentry/sentry/pull/109829)
- Migrate most straightforward default component exports to named by @JoshuaKGoldberg in [#110263](https://github.com/getsentry/sentry/pull/110263)
- Remove daily-summary feature by @wedamija in [#110181](https://github.com/getsentry/sentry/pull/110181)
- Graduate profiling-browser flag by @wedamija in [#110180](https://github.com/getsentry/sentry/pull/110180)
- Graduate session-replay-issue-emails and session-replay-slack-new-issue by @wedamija in [#110178](https://github.com/getsentry/sentry/pull/110178)
- Add design-engineering as codeowners of navigation views by @JonasBa in [#110389](https://github.com/getsentry/sentry/pull/110389)
- Add v10 directory to gitignore by @NicoHinderling in [#110428](https://github.com/getsentry/sentry/pull/110428)
- Enable @typescript-eslint/no-unnecessary-template-expression by @JoshuaKGoldberg in [#110219](https://github.com/getsentry/sentry/pull/110219)
- Skip test_basic_resolving by @armenzg in [#110309](https://github.com/getsentry/sentry/pull/110309)
- Enable @typescript-eslint/no-duplicate-type-constituents by @JoshuaKGoldberg in [#109661](https://github.com/getsentry/sentry/pull/109661)
- Remove unreachable form by @TkDodo in [#110228](https://github.com/getsentry/sentry/pull/110228)
- Update CODEOWNERS to use coding-workflows sub-teams by @vaind in [#110149](https://github.com/getsentry/sentry/pull/110149)
- Bump slack-sdk to 3.40.1 by @getsentry-bot in [#110163](https://github.com/getsentry/sentry/pull/110163)
- Remove dead mobile perf score relay flag and code by @wedamija in [#110179](https://github.com/getsentry/sentry/pull/110179)
- Migrate seer settings to new form system by @TkDodo in [#110041](https://github.com/getsentry/sentry/pull/110041)
- Complete removal of ProjectTemplate models by @markstory in [#110048](https://github.com/getsentry/sentry/pull/110048)
- Remove graduated feature flags (data-browsing batch 7) by @wedamija in [#108802](https://github.com/getsentry/sentry/pull/108802)
- Remove graduated feature flags (dashboards batch 4) by @wedamija in [#108800](https://github.com/getsentry/sentry/pull/108800)
- Remove projecttemplate models pt 1 by @markstory in [#109890](https://github.com/getsentry/sentry/pull/109890)
- Extract repeated Node/pnpm setup into a reusable composite action by @hubertdeng123 in [#109924](https://github.com/getsentry/sentry/pull/109924)
- Remove project.template_id foreignkey by @markstory in [#109879](https://github.com/getsentry/sentry/pull/109879)
- Update onboarding endpoint owners to value-discovery by @priscilawebdev in [#109863](https://github.com/getsentry/sentry/pull/109863)
- Update frontend onboarding/platform codeowners to value-discovery by @priscilawebdev in [#109862](https://github.com/getsentry/sentry/pull/109862)
- Remove graduated emerge-tools frontend feature flags by @wedamija in [#109790](https://github.com/getsentry/sentry/pull/109790)
- Remove unused history/$historyId/ from KnownGetsentryApiUrls by @noahsmartin in [#109673](https://github.com/getsentry/sentry/pull/109673)
- Github-script v7 -> v8 by @joshuarli in [#109742](https://github.com/getsentry/sentry/pull/109742)
- Make span parent id query on highest accuracy by @shruthilayaj in [#109726](https://github.com/getsentry/sentry/pull/109726)
- Use a list instead of or filter by @shruthilayaj in [#109710](https://github.com/getsentry/sentry/pull/109710)
- Convert ESLint files from .js/.mjs to .ts by @JoshuaKGoldberg in [#109310](https://github.com/getsentry/sentry/pull/109310)
- Remove project template endpoints by @markstory in [#109632](https://github.com/getsentry/sentry/pull/109632)
- Bump sentry-protos to 0.8.1 by @brendanhsentry in [#109684](https://github.com/getsentry/sentry/pull/109684)
- Add ESM type: module to package.json by @JoshuaKGoldberg in [#109319](https://github.com/getsentry/sentry/pull/109319)
- Update knip by @TkDodo in [#109644](https://github.com/getsentry/sentry/pull/109644)
- Capture exception by @shruthilayaj in [#109620](https://github.com/getsentry/sentry/pull/109620)
- Bump sentry-protos 0.8.0 by @brendanhsentry in [#109513](https://github.com/getsentry/sentry/pull/109513)
- Enable `@typescript-eslint/consistent-generic-constructors` by @JoshuaKGoldberg in [#109315](https://github.com/getsentry/sentry/pull/109315)
- Get eslintPluginScraps tests running, and fixed use-semantic-token's by @JoshuaKGoldberg in [#109326](https://github.com/getsentry/sentry/pull/109326)
- Delete shuffle-tests for now by @joshuarli in [#109407](https://github.com/getsentry/sentry/pull/109407)
- Bump `sentry-protos` to `0.7.1` by @wedamija in [#109334](https://github.com/getsentry/sentry/pull/109334)
- Remove unused processing area label by @olksdr in [#109314](https://github.com/getsentry/sentry/pull/109314)
- Migrate teamSettings to new form system by @TkDodo in [#108525](https://github.com/getsentry/sentry/pull/108525)
- Migrate security and privacy to new form system by @TkDodo in [#109183](https://github.com/getsentry/sentry/pull/109183)
- Gitignore agent skill auto-update artifacts by @gricha in [#109302](https://github.com/getsentry/sentry/pull/109302)
- Unpin remaining skills in agents.lock by @dcramer in [#109267](https://github.com/getsentry/sentry/pull/109267)
- Update warden skills to use getsentry/warden source by @dcramer in [#109203](https://github.com/getsentry/sentry/pull/109203)
- Unpin dotagents skills and update skill set by @gricha in [#109262](https://github.com/getsentry/sentry/pull/109262)
- Remove redundant isAiSummaryEnabled variable by @wedamija in [#109166](https://github.com/getsentry/sentry/pull/109166)
- Remove graduated feature flags (data-browsing batch 6) by @wedamija in [#108801](https://github.com/getsentry/sentry/pull/108801)
- Bump `sentry-protos` to 0.7.0 by @tobias-wilfert in [#109184](https://github.com/getsentry/sentry/pull/109184)
- Bump new development version in [8877a85f](https://github.com/getsentry/sentry/commit/8877a85f1b4d86aed5198e79c76b2ddc650d41d1)

### Other

- impr(http/sockets): Add tracing to socket operations by @Christinarlong in [#110597](https://github.com/getsentry/sentry/pull/110597)
- deps(ui): Upgrade babel/jest together by @scttcper in [#110675](https://github.com/getsentry/sentry/pull/110675)
- ref(nav) remove label by @JonasBa in [#110563](https://github.com/getsentry/sentry/pull/110563)
- chore(tasks) Integration TaskbrokerClient into testutils by @markstory in [#110463](https://github.com/getsentry/sentry/pull/110463)
- ref(nav) secondary context bool values cleanup by @JonasBa in [#110557](https://github.com/getsentry/sentry/pull/110557)
- Split artifact lookup projects filtering to separate queries by @geoffg-sentry in [#110626](https://github.com/getsentry/sentry/pull/110626)
- bug(preprod): Fix snapshot zoom related issues by @rbro112 in [#110607](https://github.com/getsentry/sentry/pull/110607)
- partial-revert(llm-detection): Revert frontend issue type filtering by @nora-shap in [#110565](https://github.com/getsentry/sentry/pull/110565)
- ref(nav) split primary and secondary context by @JonasBa in [#110528](https://github.com/getsentry/sentry/pull/110528)
- ref(nav) remove config driven label by @JonasBa in [#110546](https://github.com/getsentry/sentry/pull/110546)
- Team avatar initial mismatch by @gaprl in [#108196](https://github.com/getsentry/sentry/pull/108196)
- dx(claude): allowlist read-only Linear MCP tools by @cvxluo in [#110474](https://github.com/getsentry/sentry/pull/110474)
- ref(navigation) cleanup sidebar styled components by @JonasBa in [#110459](https://github.com/getsentry/sentry/pull/110459)
- Issue detail margin by @cursor in [#110479](https://github.com/getsentry/sentry/pull/110479)
- Add project scoping to release_file query in artifact_lookup by @geoffg-sentry in [#110351](https://github.com/getsentry/sentry/pull/110351)
- Use new compare URL for snapshot status check URLs by @rbro112 in [#110390](https://github.com/getsentry/sentry/pull/110390)
- (span-repro): add metric to track hypothetical data loss by @victoria-yining-huang in [#110364](https://github.com/getsentry/sentry/pull/110364)
- deps(ui): Upgrade react-docgen-typescript by @scttcper in [#110331](https://github.com/getsentry/sentry/pull/110331)
- ref(nav) split tour reminder context from nav by @JonasBa in [#110341](https://github.com/getsentry/sentry/pull/110341)
- Add SCM platform RPC endpoint by @jacquev6 in [#107669](https://github.com/getsentry/sentry/pull/107669)
- Update snapshots to use sentry org by @rbro112 in [#110391](https://github.com/getsentry/sentry/pull/110391)
- improve api application redirect uri validation by @geoffg-sentry in [#110307](https://github.com/getsentry/sentry/pull/110307)
- impr(detectors api): Add new endpoint with project in path for detector creation by @Christinarlong in [#110285](https://github.com/getsentry/sentry/pull/110285)
- ref(issues) graphalert by @JonasBa in [#110319](https://github.com/getsentry/sentry/pull/110319)

_Plus 72 more_

26.2.1
------

### New Features ✨

#### Autofix

- Add modal for GitHub Copilot license required by @JoshFerge in [#108783](https://github.com/getsentry/sentry/pull/108783)
- Support explorer autofix steps in slack operator by @Zylphrex in [#108569](https://github.com/getsentry/sentry/pull/108569)
- Add seer-slack-workflows-explorer flag by @Zylphrex in [#108572](https://github.com/getsentry/sentry/pull/108572)
- Trigger process autofix updates in explorer autofix by @Zylphrex in [#108389](https://github.com/getsentry/sentry/pull/108389)

#### Cmd K

- Add DSN lookup to both command palettes by @sergical in [#108401](https://github.com/getsentry/sentry/pull/108401)
- Add DSN lookup API endpoint by @sergical in [#108400](https://github.com/getsentry/sentry/pull/108400)

#### Code Review

- Set Sentry tags & context by @armenzg in [#108435](https://github.com/getsentry/sentry/pull/108435)
- Add CodeReviewEvent model and migration [internal] by @vaind in [#108531](https://github.com/getsentry/sentry/pull/108531)
- Allow bots to get PR reviews by @srest2021 in [#108291](https://github.com/getsentry/sentry/pull/108291)

#### Coding Agents

- Detect GitHub App 403 permission errors and return structured failure_type by @JoshFerge in [#108451](https://github.com/getsentry/sentry/pull/108451)
- Show GitHub App permissions modal on 403 errors by @JoshFerge in [#108452](https://github.com/getsentry/sentry/pull/108452)

#### Dashboards

- Register text widget flag by @nikkikapadia in [#108500](https://github.com/getsentry/sentry/pull/108500)
- Add chart-legend-component feature flag by @gggritso in [#108370](https://github.com/getsentry/sentry/pull/108370)

#### Flags

- Remove disabled unlimited-auto-triggered-autofix-runs flag by @wedamija in [#108724](https://github.com/getsentry/sentry/pull/108724)
- Remove 2 dead-except-tests flags (batch 13) by @wedamija in [#108707](https://github.com/getsentry/sentry/pull/108707)
- Remove 5 dead/dead-except-tests flags (batch 12) by @wedamija in [#108706](https://github.com/getsentry/sentry/pull/108706)

#### Forms

- Migrate account emails form to new form system by @JonasBa in [#108384](https://github.com/getsentry/sentry/pull/108384)
- Rewrite password form using new form system by @JonasBa in [#108380](https://github.com/getsentry/sentry/pull/108380)

#### Preprod

- Snapshots frontend v1 by @rbro112 in [#108278](https://github.com/getsentry/sentry/pull/108278)
- Set up snapshot get API by @rbro112 in [#108199](https://github.com/getsentry/sentry/pull/108199)
- Add Size Analysis detector by @chromy in [#108208](https://github.com/getsentry/sentry/pull/108208)
- Add upload-options endpoint for snapshot uploads by @lcian in [#108312](https://github.com/getsentry/sentry/pull/108312)
- Add artifact-type filtering controls to status rule UI by @cameroncooke in [#108313](https://github.com/getsentry/sentry/pull/108313)
- Add artifact-type filtering to size status checks by @cameroncooke in [#108311](https://github.com/getsentry/sentry/pull/108311)

#### Spans Buffer

- Split SUNIONSTORE timing and use stage tags for metrics by @untitaker in [#108468](https://github.com/getsentry/sentry/pull/108468)
- Add more flusher documentation by @lvthanh03 in [#108029](https://github.com/getsentry/sentry/pull/108029)

#### Uptime

- Add AI assertion suggestions frontend by @jaydgoss in [#108378](https://github.com/getsentry/sentry/pull/108378)
- Add AI-powered assertion suggestions backend by @jaydgoss in [#108382](https://github.com/getsentry/sentry/pull/108382)

#### Other

- (aci) Add CacheMapping helper by @kcons in [#107821](https://github.com/getsentry/sentry/pull/107821)
- (auth) Add structured logging for AuthIdentity updates and deletes by @michelletran-sentry in [#108688](https://github.com/getsentry/sentry/pull/108688)
- (billing) Allow frontend to set category retention to null by @vbro in [#105462](https://github.com/getsentry/sentry/pull/105462)
- (cells) Introduce locality concept in configuration by @lynnagara in [#108410](https://github.com/getsentry/sentry/pull/108410)
- (explore) Add analytics tracking to FloatingTrigger actions by @JonasBa in [#108532](https://github.com/getsentry/sentry/pull/108532)
- (github) Add get_check_run method to GitHub client by @armenzg in [#108434](https://github.com/getsentry/sentry/pull/108434)
- (gsAdmin) Add product trial extension support by @mrduncan in [#108298](https://github.com/getsentry/sentry/pull/108298)
- (hybridFilter) Add shift-click range selection by @JonasBa in [#108367](https://github.com/getsentry/sentry/pull/108367)
- (identity) Encrypt Identity.data field with EncryptedJSONField by @vgrozdanic in [#108429](https://github.com/getsentry/sentry/pull/108429)
- (infra) Update test shuffling to shuffle across shards by @rbro112 in [#108319](https://github.com/getsentry/sentry/pull/108319)
- (issues) Add engaged view tracking by @mrduncan in [#107912](https://github.com/getsentry/sentry/pull/107912)
- (monitors-tables) Removing hardcoded column widths by @Abdkhan14 in [#108234](https://github.com/getsentry/sentry/pull/108234)
- (parseJsonWithFix) Add tests by @priscilawebdev in [#108303](https://github.com/getsentry/sentry/pull/108303)
- (profiling) More examples on slowest functions widget by @Zylphrex in [#108739](https://github.com/getsentry/sentry/pull/108739)
- (relay) Remove `replay.relay-snuba-publishing-disabled.sample-rate` by @tobias-wilfert in [#108110](https://github.com/getsentry/sentry/pull/108110)
- (replay) Remove feature flag for new replay processing pipeline by @tobias-wilfert in [#107474](https://github.com/getsentry/sentry/pull/107474)
- (repos) Add the X-Hits response header to /api/0/organizations/$org/repos/ by @ryan953 in [#108388](https://github.com/getsentry/sentry/pull/108388)
- (sdk) Add configurable S4S transaction sampling by @JoshFerge in [#108097](https://github.com/getsentry/sentry/pull/108097)
- (security) Add sentry-security skill synthesized from vulnerability history by @dcramer in [#108433](https://github.com/getsentry/sentry/pull/108433)
- (seer) Add seer-agent-pr-consolidation feature flag by @JoshFerge in [#108751](https://github.com/getsentry/sentry/pull/108751)
- (seer-explorer) Enable copy button without completed status, fall back to status string when no blocks by @aliu39 in [#108743](https://github.com/getsentry/sentry/pull/108743)
- (settings) Migrate dynamic sampling from react-virtualized to tanstack by @scttcper in [#108277](https://github.com/getsentry/sentry/pull/108277)
- (spans) Add FlusherLogger to track top flush operations by bytes by @lvthanh03 in [#108266](https://github.com/getsentry/sentry/pull/108266)
- (uptime-traces) Linking uptime issues to check-ins in traces by @Abdkhan14 in [#108464](https://github.com/getsentry/sentry/pull/108464)
- (webhooks) Log slow forwarding & more context by @armenzg in [#108220](https://github.com/getsentry/sentry/pull/108220)
- (workflow-engine) Track tainted workflow evaluations by @kcons in [#107311](https://github.com/getsentry/sentry/pull/107311)
- Add dotagents skill management and expand warden by @dcramer in [#108695](https://github.com/getsentry/sentry/pull/108695)

### Bug Fixes 🐛

#### Api

- Require project:write for transaction threshold override mutations by @dcramer in [#108470](https://github.com/getsentry/sentry/pull/108470)
- Prevent IDOR in release threshold status via unvalidated project slugs by @dcramer in [#108467](https://github.com/getsentry/sentry/pull/108467)
- Add org membership check to onboarding continuation email endpoint by @dcramer in [#108474](https://github.com/getsentry/sentry/pull/108474)
- Validate linked dashboard org membership in field links by @dcramer in [#108471](https://github.com/getsentry/sentry/pull/108471)
- Validate scope_list in ApiKey serializer by @dcramer in [#108475](https://github.com/getsentry/sentry/pull/108475)
- Use parameterized query for shared_domain in missing org members by @dcramer in [#108469](https://github.com/getsentry/sentry/pull/108469)
- Check token expiration in OAuth userinfo endpoint by @dcramer in [#108465](https://github.com/getsentry/sentry/pull/108465)
- Scope member invite lookups to organization by @dcramer in [#108463](https://github.com/getsentry/sentry/pull/108463)

#### Codeowners

- Add trailing slashes to directory patterns for recursive matching by @NicoHinderling in [#108487](https://github.com/getsentry/sentry/pull/108487)
- Add trailing slashes to preprod directory rules by @NicoHinderling in [#108485](https://github.com/getsentry/sentry/pull/108485)

#### Dashboards

- Put user_misery in equation by @nikkikapadia in [#108716](https://github.com/getsentry/sentry/pull/108716)
- Use spans dataset in default overview dashboard backend by @nikkikapadia in [#108682](https://github.com/getsentry/sentry/pull/108682)

#### Issues

- Remove broken scope tag by @kcons in [#108450](https://github.com/getsentry/sentry/pull/108450)
- Handle None from event serialization in wrap_event_response by @mrduncan in [#108508](https://github.com/getsentry/sentry/pull/108508)
- Downgrade assignee validation error to warning in occurrence consumer by @mrduncan in [#108511](https://github.com/getsentry/sentry/pull/108511)
- Raise DoesNotExist for group IDs exceeding field max value by @mrduncan in [#108489](https://github.com/getsentry/sentry/pull/108489)
- Fix a problem were `0` may be rendered by @ryan953 in [#108403](https://github.com/getsentry/sentry/pull/108403)

#### Seer

- Fix bad link construction by @ryan953 in [#108442](https://github.com/getsentry/sentry/pull/108442)
- Rollback to the single Enable AI Code Review (beta) settings toggle for legacy orgs by @ryan953 in [#108383](https://github.com/getsentry/sentry/pull/108383)

#### Tests

- Fix flaky test_update_workflows_add_workflow ordering by @joshuarli in [#108731](https://github.com/getsentry/sentry/pull/108731)
- Fix flaky test_issue_owners_should_ratelimit by @joshuarli in [#108663](https://github.com/getsentry/sentry/pull/108663)
- Fix default action data by @ceorourke in [#108505](https://github.com/getsentry/sentry/pull/108505)
- Use TestCase instead of TransactionTestCase by @mrduncan in [#108427](https://github.com/getsentry/sentry/pull/108427)

#### Workflows

- Avoid doing an additional query just to tag the session with a count by @kcons in [#108734](https://github.com/getsentry/sentry/pull/108734)
- Make workflow limit values options so we can tweak if necessary by @kcons in [#108718](https://github.com/getsentry/sentry/pull/108718)

#### Other

- (aci) Switch organizations:more-workflows to a flagpole feature by @kcons in [#108634](https://github.com/getsentry/sentry/pull/108634)
- (alerts) Verify OrganizationCombinedRuleIndexEndpoint sort key by @kcons in [#108321](https://github.com/getsentry/sentry/pull/108321)
- (autofix) Check for access in process_autofix_updates by @leeandher in [#108619](https://github.com/getsentry/sentry/pull/108619)
- (AutoSaveField) Make sure boolean fields can revert on error by @TkDodo in [#108528](https://github.com/getsentry/sentry/pull/108528)
- (code-review) Fix the audit log for code review settings by @suejungshin in [#107994](https://github.com/getsentry/sentry/pull/107994)
- (cross-events) Remove checking explicit buckets to resolve fails around UTC midnight by @nsdeschenes in [#107773](https://github.com/getsentry/sentry/pull/107773)
- (csrf) Note that cookies must be enabled on the CSRF error page by @JoshFerge in [#108481](https://github.com/getsentry/sentry/pull/108481)
- (cursor) Mark branchName and autoCreatePr as optional in CursorAgentResponseTarget by @JoshFerge in [#108497](https://github.com/getsentry/sentry/pull/108497)
- (data-browsing) Sort `device.class` by power rather than alphabetically by @gggritso in [#108122](https://github.com/getsentry/sentry/pull/108122)
- (deletions) Remove unnecessary skip_models check in Group deletion by @kcons in [#108448](https://github.com/getsentry/sentry/pull/108448)
- (devserver) Improve HMR and liveReload for reverse proxy by @dashed in [#108661](https://github.com/getsentry/sentry/pull/108661)
- (devservices) Support OrbStack and Docker Desktop in addition to Colima by @HazAT in [#108740](https://github.com/getsentry/sentry/pull/108740)
- (escalating) Convert Redis threshold to float before comparison by @mrduncan in [#108476](https://github.com/getsentry/sentry/pull/108476)
- (explore) Deduplicate group by and visualize select options by @nsdeschenes in [#108679](https://github.com/getsentry/sentry/pull/108679)
- (flags) Convert Unleash createdByUserId to str in \_get_user by @kcons in [#108578](https://github.com/getsentry/sentry/pull/108578)
- (form) Delay hash scroll by @natemoo-re in [#108414](https://github.com/getsentry/sentry/pull/108414)
- (forms) Allow hash-based field focus by @natemoo-re in [#108376](https://github.com/getsentry/sentry/pull/108376)
- (frameRegisters) Sort registers numerically instead of lexicographically by @mrduncan in [#108426](https://github.com/getsentry/sentry/pull/108426)
- (hybridcloud) Fix test assertion by @kcons in [#108478](https://github.com/getsentry/sentry/pull/108478)
- (idp) Use auth base template for IDP email verification pages by @JoshFerge in [#108417](https://github.com/getsentry/sentry/pull/108417)
- (incidents) Add failure_count to EAP_FUNCTIONS by @kcons in [#108495](https://github.com/getsentry/sentry/pull/108495)
- (issue search) Fix wildcard IN filter on array fields by @shashjar in [#108502](https://github.com/getsentry/sentry/pull/108502)
- (occurrences) Blocklist span data out of event ingestion by @thetruecpaul in [#108553](https://github.com/getsentry/sentry/pull/108553)
- (occurrences on eap) Set a recursion depth limit on attribute arrays & dicts by @shashjar in [#108555](https://github.com/getsentry/sentry/pull/108555)
- (orgmembers) Deleting user race condition causes list to fail by @mikejihbe in [#108420](https://github.com/getsentry/sentry/pull/108420)
- (releases) Paginate GitHub client compare_commits to avoid 250-commit limit by @srest2021 in [#108550](https://github.com/getsentry/sentry/pull/108550)
- (reprocessing) Add select_for_update() to Group queries in finish_reprocessing by @vgrozdanic in [#108342](https://github.com/getsentry/sentry/pull/108342)
- (rpc) Handle organization slug collision gracefully during slug update by @sentry in [#107053](https://github.com/getsentry/sentry/pull/107053)
- (rules) Make WorkflowEngineRuleSerializer write owner properly by @kcons in [#108509](https://github.com/getsentry/sentry/pull/108509)
- (scraps) FormField Search in new form system by @TkDodo in [#108453](https://github.com/getsentry/sentry/pull/108453)
- (security) Delete recovery codes when last primary authenticator is removed by @wedamija in [#108264](https://github.com/getsentry/sentry/pull/108264)
- (sentry-security) Improve severity classification for cross-flow enforcement by @dcramer in [#108494](https://github.com/getsentry/sentry/pull/108494)
- (servicehooks) Make servicehook updating idempotent by @Christinarlong in [#108415](https://github.com/getsentry/sentry/pull/108415)
- (similar-issues) Fix overflow in issue diff modal by @mrduncan in [#108444](https://github.com/getsentry/sentry/pull/108444)
- (teams) Prevent contributors from downgrading org admins' team roles by @wedamija in [#108288](https://github.com/getsentry/sentry/pull/108288)
- (tracemetrics) Pass unit properly from backend for tracemetrics by @narsaynorath in [#108441](https://github.com/getsentry/sentry/pull/108441)
- (typing) Bring sentry.auth and sentry.auth_v2 into the mypy stronglist by @kcons in [#108620](https://github.com/getsentry/sentry/pull/108620)
- (uptime) Defensive error handling in deletion cascade for billing seats by @dashed in [#108554](https://github.com/getsentry/sentry/pull/108554)
- (uptime-trace) Enabling linking to timing nodes on re-load by @Abdkhan14 in [#108689](https://github.com/getsentry/sentry/pull/108689)
- (userrole) Fix guaranteed-to-fail comparison by @kcons in [#108466](https://github.com/getsentry/sentry/pull/108466)
- (warden) Add remote source for dotagents-managed skills by @dcramer in [#108735](https://github.com/getsentry/sentry/pull/108735)
- (workflow_engine) Fix integration_id type mismatch in action translator by @kcons in [#108462](https://github.com/getsentry/sentry/pull/108462)
- Remove unused type exports by @gggritso in [#108538](https://github.com/getsentry/sentry/pull/108538)

### Documentation 📚

- (api) Warn that SentryIsAuthenticated bypasses base class access controls by @JoshFerge in [#108480](https://github.com/getsentry/sentry/pull/108480)
- Add feature flag and PR splitting guidance to AGENTS.md by @sergical in [#108530](https://github.com/getsentry/sentry/pull/108530)

### Internal Changes 🔧

#### Aci

- Add actions data to WorkflowEngineRuleSerializer by @ceorourke in [#108419](https://github.com/getsentry/sentry/pull/108419)
- Remove all references of sentry_app_identifier by @ceorourke in [#107991](https://github.com/getsentry/sentry/pull/107991)

#### Explorer

- Clamp rec event algo to 14d and fallback on error or timeout by @aliu39 in [#108261](https://github.com/getsentry/sentry/pull/108261)
- Default to max stats period for log/metric details by @aliu39 in [#108258](https://github.com/getsentry/sentry/pull/108258)
- Cleanup chat GET requests when runId=null by @aliu39 in [#108293](https://github.com/getsentry/sentry/pull/108293)

#### Flags

- Remove 4 dead feature flags (batch 11) by @wedamija in [#108615](https://github.com/getsentry/sentry/pull/108615)
- Remove 5 dead feature flags (batch 10) by @wedamija in [#108613](https://github.com/getsentry/sentry/pull/108613)
- Remove 4 dead feature flags (batch 9) by @wedamija in [#108610](https://github.com/getsentry/sentry/pull/108610)
- Remove 5 dead feature flags (batch 8) by @wedamija in [#108609](https://github.com/getsentry/sentry/pull/108609)
- Remove 5 dead feature flags (batch 7) by @wedamija in [#108608](https://github.com/getsentry/sentry/pull/108608)
- Remove 5 dead feature flags (batch 6) by @wedamija in [#108607](https://github.com/getsentry/sentry/pull/108607)
- Remove 5 dead feature flags (batch 5) by @wedamija in [#108605](https://github.com/getsentry/sentry/pull/108605)
- Remove 3 dead feature flags (batch 4) by @wedamija in [#108560](https://github.com/getsentry/sentry/pull/108560)
- Remove 5 dead feature flags (batch 3) by @wedamija in [#108559](https://github.com/getsentry/sentry/pull/108559)
- Remove 5 dead feature flags (batch 2) by @wedamija in [#108557](https://github.com/getsentry/sentry/pull/108557)
- Remove 4 dead feature flags (batch 1) by @wedamija in [#108556](https://github.com/getsentry/sentry/pull/108556)
- Remove 5 dead feature flags by @wedamija in [#108507](https://github.com/getsentry/sentry/pull/108507)

#### Performance

- Rename otlp/ to eap/ and use consistent EAP naming by @mjq in [#108385](https://github.com/getsentry/sentry/pull/108385)
- Remove performance-otel-friendly-ui feature flag by @mjq in [#108369](https://github.com/getsentry/sentry/pull/108369)

#### Seer

- Remove doc links from legacy Seer settings page by @sfanahata in [#108473](https://github.com/getsentry/sentry/pull/108473)
- Refactor explorer-chat/ url pattern to be simpler. by @ryan953 in [#108391](https://github.com/getsentry/sentry/pull/108391)

#### Settings

- Migrate close account form to new form system API by @JonasBa in [#108392](https://github.com/getsentry/sentry/pull/108392)
- Migrate account subscriptions to new form system by @JonasBa in [#108387](https://github.com/getsentry/sentry/pull/108387)
- Make code behind grouptombstones-hit-counter the default by @priscilawebdev in [#108301](https://github.com/getsentry/sentry/pull/108301)

#### Ui

- Remove GroupStore usage from StreamGroup by @malwilley in [#108625](https://github.com/getsentry/sentry/pull/108625)
- Update conventions package by @nsdeschenes in [#108524](https://github.com/getsentry/sentry/pull/108524)

#### Warden

- Disable sentry-javascript-bugs skill by @dcramer in [#108756](https://github.com/getsentry/sentry/pull/108756)
- Vendor sentry-backend-bugs and sentry-javascript-bugs skills by @dcramer in [#108746](https://github.com/getsentry/sentry/pull/108746)
- Add Django access review automation by @dcramer in [#107652](https://github.com/getsentry/sentry/pull/107652)

#### Other

- (agent-monitoring) Add tag to cost warnings for ownership assignment by @shellmayr in [#108522](https://github.com/getsentry/sentry/pull/108522)
- (apiOptions) Use apiFetch internally to avoid includeAllArgs by @ryan953 in [#108728](https://github.com/getsentry/sentry/pull/108728)
- (core-ui) Detect and log duplicate option keys for CompactSelect by @nsdeschenes in [#108680](https://github.com/getsentry/sentry/pull/108680)
- (dashboards) Update mobile vitals configs by @gggritso in [#108537](https://github.com/getsentry/sentry/pull/108537)
- (explore) Update trace item attribute hooks to remove context by @nsdeschenes in [#108019](https://github.com/getsentry/sentry/pull/108019)
- (forms) Support `ReactNode` for label and hintText by @natemoo-re in [#108477](https://github.com/getsentry/sentry/pull/108477)
- (getApiUrl) Use getApiUrl in all the places and update types to require it by @ryan953 in [#108096](https://github.com/getsentry/sentry/pull/108096)
- (github) Centralize GitHub API Accept header into shared constant by @leeandher in [#108354](https://github.com/getsentry/sentry/pull/108354)
- (grouping) Clean up grouphash caching by @lobsterkatie in [#108274](https://github.com/getsentry/sentry/pull/108274)
- (issues) Remove time-to-process metric by @mrduncan in [#108564](https://github.com/getsentry/sentry/pull/108564)
- (knip) Update knip to latest version and rm some extra exports by @ryan953 in [#108397](https://github.com/getsentry/sentry/pull/108397)
- (relay) Add rollout option for eap accepted outcomes by @Dav1dde in [#108314](https://github.com/getsentry/sentry/pull/108314)
- (replays) Clamp connected error query dates to org retention period by @aliu39 in [#108428](https://github.com/getsentry/sentry/pull/108428)
- (sdk) Sample S4S upstream metrics at 1% by @JoshFerge in [#108566](https://github.com/getsentry/sentry/pull/108566)
- (selective testing) Exclude tests/sentry/test_wsgi.py by @joshuarli in [#108198](https://github.com/getsentry/sentry/pull/108198)
- (tests) Reduce session count in test_batch_query_percent_decimal by @mrduncan in [#108425](https://github.com/getsentry/sentry/pull/108425)
- (tracemetrics) Use metrics rollout flows by @nsdeschenes in [#108683](https://github.com/getsentry/sentry/pull/108683)
- Remove dead release.timestamp preflight query code by @noahsmartin in [#108660](https://github.com/getsentry/sentry/pull/108660)
- Make code behind grouptombstones-hit-counter the default by @priscilawebdev in [#108302](https://github.com/getsentry/sentry/pull/108302)
- Delete SessionsQueryConfig and inline AllowedResolution.ten_seconds by @noahsmartin in [#108590](https://github.com/getsentry/sentry/pull/108590)

### Other

- Idor issue group operations by @cvxluo in [#107989](https://github.com/getsentry/sentry/pull/107989)
- Adds hybrid_cloud_rpc skill to claude config by @GabeVillalobos in [#108548](https://github.com/getsentry/sentry/pull/108548)
- Move massage result functions from sessions_v2 to outcomes by @noahsmartin in [#108598](https://github.com/getsentry/sentry/pull/108598)
- form(search) bailout if label is jsx node and make hintText optional by @JonasBa in [#108690](https://github.com/getsentry/sentry/pull/108690)
- core(styling) drop double serializers by @JonasBa in [#108631](https://github.com/getsentry/sentry/pull/108631)
- Distinguish Copilot licensing errors from GitHub App permission errors by @JoshFerge in [#108565](https://github.com/getsentry/sentry/pull/108565)
- fix(pagefilter) increase hitBox, add infoTip and search clear by @JonasBa in [#108422](https://github.com/getsentry/sentry/pull/108422)
- test(preprod): use fake timers to cut buildDetails spec from 22s to 2s by @scttcper in [#108621](https://github.com/getsentry/sentry/pull/108621)
- test(billing): Refactor Stripe hook test to use fake timers by @scttcper in [#108515](https://github.com/getsentry/sentry/pull/108515)
- ref(settings) better buttons on stats page by @JonasBa in [#108501](https://github.com/getsentry/sentry/pull/108501)
- de 928 migrate customcommitsresolutionmodal to new form system by @TkDodo in [#108348](https://github.com/getsentry/sentry/pull/108348)
- meta: Bump new development version in [7a5c2b85](https://github.com/getsentry/sentry/commit/7a5c2b85b1843386c717da2b3cc01574c290634a)
- release: 26.2.0 by @hubertdeng123 in [58e75470](https://github.com/getsentry/sentry/commit/58e754707b5adf070dfc982a4c99cb5a8123d66e)
- Support spawning processes in multi process step by @fpacifici in [#108472](https://github.com/getsentry/sentry/pull/108472)
- Harden SSO login pipeline for inactive user identities by @michelletran-sentry in [#108458](https://github.com/getsentry/sentry/pull/108458)
- fix(relocation) Remove fixup passes on relocation processing by @markstory in [#108374](https://github.com/getsentry/sentry/pull/108374)
- fix(relocation) Align max upload size with nginx limits by @markstory in [#108381](https://github.com/getsentry/sentry/pull/108381)
- Increase product trial extension limit from 90 to 180 days by @rahulchhabria in [#108395](https://github.com/getsentry/sentry/pull/108395)
- meta: Bump new development version in [98d06f22](https://github.com/getsentry/sentry/commit/98d06f2274111b01b05ba20326ff65b7277b4df8)
- deps(ui): Upgrade react aria to feb 2026 by @scttcper in [#106755](https://github.com/getsentry/sentry/pull/106755)

26.2.0
------

### New Features ✨

#### Aci

- Add issue type condition to new Alerts UI by @malwilley in [#108174](https://github.com/getsentry/sentry/pull/108174)
- Support issue category include/exclude in issue alerts by @malwilley in [#107966](https://github.com/getsentry/sentry/pull/107966)
- Add support for excluding issue categories in new alerts UI by @malwilley in [#108002](https://github.com/getsentry/sentry/pull/108002)
- Translate issue category condition include property for legacy models by @malwilley in [#107948](https://github.com/getsentry/sentry/pull/107948)
- Metric issue should link to metric alert if new UI is not enabled by @malwilley in [#107870](https://github.com/getsentry/sentry/pull/107870)
- Deduplicate workflows API endpoint by @mifu67 in [#106482](https://github.com/getsentry/sentry/pull/106482)
- Delete rule processing by @cathteng in [#106616](https://github.com/getsentry/sentry/pull/106616)
- Include Rule in legacy model tracking by @kcons in [#107647](https://github.com/getsentry/sentry/pull/107647)
- Update metric alerts page to redirect with workflow-engine-metric-issue-ui flag by @malwilley in [#107645](https://github.com/getsentry/sentry/pull/107645)
- Add exclusion to issue category filter by @mifu67 in [#107527](https://github.com/getsentry/sentry/pull/107527)
- Add exclusion to issue type filter by @mifu67 in [#107535](https://github.com/getsentry/sentry/pull/107535)
- Finally default post-process to workflow engine take 2 by @cathteng in [#107696](https://github.com/getsentry/sentry/pull/107696)
- Add ongoing issues component to metric alert details page by @malwilley in [#107566](https://github.com/getsentry/sentry/pull/107566)
- Update metric issue open periods list to display activities by @malwilley in [#107522](https://github.com/getsentry/sentry/pull/107522)
- Highlight current open period in metric issue details by @malwilley in [#107274](https://github.com/getsentry/sentry/pull/107274)
- Add open period timeline to metric issue details by @malwilley in [#107210](https://github.com/getsentry/sentry/pull/107210)
- Add pagination and event ID links to open period list by @malwilley in [#107007](https://github.com/getsentry/sentry/pull/107007)
- Enable Seer for metric detector issues by @malwilley in [#107027](https://github.com/getsentry/sentry/pull/107027)
- Add ability to filter group open periods by event_id by @malwilley in [#106930](https://github.com/getsentry/sentry/pull/106930)
- Add eventId to group open period serializer by @malwilley in [#106929](https://github.com/getsentry/sentry/pull/106929)
- Publish bulk PUT endpoints by @ceorourke in [#106743](https://github.com/getsentry/sentry/pull/106743)
- Add deprecation warning to old alerts API docs by @ceorourke in [#106692](https://github.com/getsentry/sentry/pull/106692)
- Publish workflow engine API docs by @ceorourke in [#106628](https://github.com/getsentry/sentry/pull/106628)
- Document OrganizationWorkflowDetailsEndpoint by @mifu67 in [#106323](https://github.com/getsentry/sentry/pull/106323)
- Document Organization Detector Details Endpoints by @ceorourke in [#106148](https://github.com/getsentry/sentry/pull/106148)
- Add API documentation for OrganizationDetectorIndexEndpoint POST by @ceorourke in [#105882](https://github.com/getsentry/sentry/pull/105882)
- Document organization workflow index POST endpoint by @ceorourke in [#106228](https://github.com/getsentry/sentry/pull/106228)
- Document organization workflow index GET and DELETE endpoints by @ceorourke in [#106210](https://github.com/getsentry/sentry/pull/106210)

#### Admin

- Add unit formatting for emerge categories in admin provisioning by @dashed in [#106941](https://github.com/getsentry/sentry/pull/106941)
- Update Toggle console platforms modal to manage console SDK invites by @alexsohn1126 in [#105638](https://github.com/getsentry/sentry/pull/105638)
- Restrict /manage/ endpoint to non-SaaS modes by @michelletran-sentry in [#106530](https://github.com/getsentry/sentry/pull/106530)

#### Agent

- Try to fix invalid json by @priscilawebdev in [#108300](https://github.com/getsentry/sentry/pull/108300)
- Expand root JSON path by default in trace drawer by @priscilawebdev in [#107585](https://github.com/getsentry/sentry/pull/107585)
- Update onboarding for meta frameworks by @priscilawebdev in [#107221](https://github.com/getsentry/sentry/pull/107221)
- Add alert about other runtimes for meta frameworks by @priscilawebdev in [#106944](https://github.com/getsentry/sentry/pull/106944)
- Update onboarding documentation for python by @priscilawebdev in [#106656](https://github.com/getsentry/sentry/pull/106656)

#### Agents

- Update onboarding to display sdk update alert by @priscilawebdev in [#107575](https://github.com/getsentry/sentry/pull/107575)
- Add agent dropdown to the page by @priscilawebdev in [#107108](https://github.com/getsentry/sentry/pull/107108)
- Update JavaScript onboarding docs by @priscilawebdev in [#106361](https://github.com/getsentry/sentry/pull/106361)

#### Ai Conversations

- Show tool calls by @obostjancic in [#107662](https://github.com/getsentry/sentry/pull/107662)
- Add aggregations to conversation details by @obostjancic in [#107479](https://github.com/getsentry/sentry/pull/107479)
- Add start and end timestamp to the endpoint by @obostjancic in [#107500](https://github.com/getsentry/sentry/pull/107500)
- Tool names and errors by @obostjancic in [#107407](https://github.com/getsentry/sentry/pull/107407)
- Display failed tool calls by @obostjancic in [#107405](https://github.com/getsentry/sentry/pull/107405)
- Add user avatar to table and reorder nav by @obostjancic in [#106962](https://github.com/getsentry/sentry/pull/106962)
- Use conversations endpoint by @obostjancic in [#106367](https://github.com/getsentry/sentry/pull/106367)
- Support new OTel attributes by @obostjancic in [#106521](https://github.com/getsentry/sentry/pull/106521)

#### Ai Insights

- Support span.name by @obostjancic in [#107929](https://github.com/getsentry/sentry/pull/107929)
- Add platform icons to onboarding dropdown by @obostjancic in [#107042](https://github.com/getsentry/sentry/pull/107042)
- Improve conversations table input/output display by @obostjancic in [#106969](https://github.com/getsentry/sentry/pull/106969)
- Mastra onboarding by @obostjancic in [#106861](https://github.com/getsentry/sentry/pull/106861)
- Support tool.call attribute by @obostjancic in [#106509](https://github.com/getsentry/sentry/pull/106509)
- Support new otel spec by @obostjancic in [#106442](https://github.com/getsentry/sentry/pull/106442)

#### Autofix

- Add referrer to trigger autofix by @Zylphrex in [#108095](https://github.com/getsentry/sentry/pull/108095)
- Support stopping point in explorer group ai autofix by @Zylphrex in [#107675](https://github.com/getsentry/sentry/pull/107675)
- Add per-org metrics to autofix tasks by @Mihir-Mavalankar in [#107621](https://github.com/getsentry/sentry/pull/107621)
- Support configurable intelligence-level-for-explorer-a… by @Zylphrex in [#106973](https://github.com/getsentry/sentry/pull/106973)
- Add GitHub Copilot agent provider UI by @JoshFerge in [#106290](https://github.com/getsentry/sentry/pull/106290)

#### Autopilot

- Add AI-generated summary and docs URL to missing integration issues by @ArthurKnaus in [#108114](https://github.com/getsentry/sentry/pull/108114)
- Add missing integrations count to detector log by @ArthurKnaus in [#108109](https://github.com/getsentry/sentry/pull/108109)
- Switch traces detector to project id option by @ArthurKnaus in [#108011](https://github.com/getsentry/sentry/pull/108011)
- Prepare missing integration detection for experiment by @vgrozdanic in [#107671](https://github.com/getsentry/sentry/pull/107671)
- Add trace data detector by @ArthurKnaus in [#107589](https://github.com/getsentry/sentry/pull/107589)
- Add finish reason to prompt by @ArthurKnaus in [#107229](https://github.com/getsentry/sentry/pull/107229)

#### Billing

- Move locked products to bottom of usage overview table by @dashed in [#107701](https://github.com/getsentry/sentry/pull/107701)
- Add admin-only product trial support for emerge categories by @dashed in [#107294](https://github.com/getsentry/sentry/pull/107294)
- Add Emerge quota exceeded UI with Contact Sales CTA by @dashed in [#106932](https://github.com/getsentry/sentry/pull/106932)
- Add emerge data categories to frontend test fixtures by @dashed in [#106942](https://github.com/getsentry/sentry/pull/106942)
- Enable admin gifting for emerge products by @dashed in [#106369](https://github.com/getsentry/sentry/pull/106369)

#### Cells

- Add isCellScoped prop to ResultGrid for cell-scoped endpoints by @evanpurkhiser in [#106450](https://github.com/getsentry/sentry/pull/106450)
- Add stub for synapse endpoint by @lynnagara in [#105975](https://github.com/getsentry/sentry/pull/105975)

#### Ci

- Migrate `black`, `isort`, `pyupgrade`, and most of `flake8` to `ruff` by @shashjar in [#108010](https://github.com/getsentry/sentry/pull/108010)
- Add `ruff` as dev dependency by @shashjar in [#107385](https://github.com/getsentry/sentry/pull/107385)

#### Code Review

- Send experiment assignment to Seer by @giovanni-guidini in [#107483](https://github.com/getsentry/sentry/pull/107483)
- Register experiments feature flag by @giovanni-guidini in [#107478](https://github.com/getsentry/sentry/pull/107478)
- Include the author for debugging by @armenzg in [#107414](https://github.com/getsentry/sentry/pull/107414)
- Improve debuggability by @armenzg in [#106880](https://github.com/getsentry/sentry/pull/106880)
- Retry task up to five times by @armenzg in [#107011](https://github.com/getsentry/sentry/pull/107011)
- Add Pydantic payload validation for Seer API requests by @armenzg in [#106810](https://github.com/getsentry/sentry/pull/106810)
- Support sending closed pull request events to Seer by @armenzg in [#106375](https://github.com/getsentry/sentry/pull/106375)

#### Conversations

- Limit date range selection to 30 days by @priscilawebdev in [#107765](https://github.com/getsentry/sentry/pull/107765)
- Add analytics tracking for conversations feature by @priscilawebdev in [#107477](https://github.com/getsentry/sentry/pull/107477)
- Agent selector should be persistent across nav & reset when project changes by @priscilawebdev in [#107046](https://github.com/getsentry/sentry/pull/107046)

#### Copilot

- Add has_identity support to explorer autofix by @JoshFerge in [#106788](https://github.com/getsentry/sentry/pull/106788)
- Add provider support for explorer autofix coding agent handoff by @JoshFerge in [#106798](https://github.com/getsentry/sentry/pull/106798)
- Add has_identity field support for Setup button by @JoshFerge in [#106787](https://github.com/getsentry/sentry/pull/106787)
- Add has_identity field to GitHub Copilot integration by @JoshFerge in [#106785](https://github.com/getsentry/sentry/pull/106785)

#### Core

- Add neutral variant to InlineCode by @natemoo-re in [#106906](https://github.com/getsentry/sentry/pull/106906)
- Add surface variant by @natemoo-re in [#106408](https://github.com/getsentry/sentry/pull/106408)

#### Crons Detector Schedule Preview

- Preventing status smearing wit… by @Abdkhan14 in [#106617](https://github.com/getsentry/sentry/pull/106617)
- Endpoint edge cases by @Abdkhan14 in [#106392](https://github.com/getsentry/sentry/pull/106392)
- Adding new schedule preview co… by @Abdkhan14 in [#106388](https://github.com/getsentry/sentry/pull/106388)

#### Dashboards

- Add rage_and_dead_clicks and server_tree display types by @DominikB2014 in [#108160](https://github.com/getsentry/sentry/pull/108160)
- Make ssr file widget and dead/rage click cloneable by @DominikB2014 in [#108159](https://github.com/getsentry/sentry/pull/108159)
- Legend breakdown rows default to opening in Explore by @DominikB2014 in [#108131](https://github.com/getsentry/sentry/pull/108131)
- Updates `Add to Dashboard` from static widgets to open widget library in builder by @edwardgou-sentry in [#108060](https://github.com/getsentry/sentry/pull/108060)
- Add `staleTime` to underlying widget queries by @DominikB2014 in [#108124](https://github.com/getsentry/sentry/pull/108124)
- Migrate Mobile Vitals to prebuilt dashboards by @gggritso in [#108068](https://github.com/getsentry/sentry/pull/108068)
- Disables editing static widgets from the widget library by @edwardgou-sentry in [#108031](https://github.com/getsentry/sentry/pull/108031)
- Add customizable limit for categorical bar widgets by @gggritso in [#107954](https://github.com/getsentry/sentry/pull/107954)
- Add categorical bar chart template to Widget Library by @gggritso in [#107936](https://github.com/getsentry/sentry/pull/107936)
- Populate prebuilt dashboard with actual id by @DominikB2014 in [#108032](https://github.com/getsentry/sentry/pull/108032)
- Adds Performance Score Wheel widget to widget library by @edwardgou-sentry in [#107976](https://github.com/getsentry/sentry/pull/107976)
- Add rage and dead click widget by @DominikB2014 in [#107975](https://github.com/getsentry/sentry/pull/107975)
- Add axis label rotation and affix trimming to categorical charts by @gggritso in [#107718](https://github.com/getsentry/sentry/pull/107718)
- Registers wheel display type by @edwardgou-sentry in [#107944](https://github.com/getsentry/sentry/pull/107944)
- Add server tree component by @DominikB2014 in [#107877](https://github.com/getsentry/sentry/pull/107877)
- Adds widget descriptions to prebuilt Web Vitals dashboards by @edwardgou-sentry in [#107935](https://github.com/getsentry/sentry/pull/107935)
- Add categorical bar chart widget type by @gggritso in [#107689](https://github.com/getsentry/sentry/pull/107689)
- Create basic nextjs frontend overview page by @DominikB2014 in [#107856](https://github.com/getsentry/sentry/pull/107856)
- Register Next.js Frontend Overview prebuilt dashboard on backend by @DominikB2014 in [#107848](https://github.com/getsentry/sentry/pull/107848)
- Add insights-nextjs-frontend-overview-migration feature flag by @DominikB2014 in [#107847](https://github.com/getsentry/sentry/pull/107847)
- Add dashboard link to Network Requests by Time Spent widget by @DominikB2014 in [#107789](https://github.com/getsentry/sentry/pull/107789)
- Filter frontend overview by frontend data by @DominikB2014 in [#107779](https://github.com/getsentry/sentry/pull/107779)
- Register Frontend Overview prebuilt dashboard on backend by @DominikB2014 in [#107681](https://github.com/getsentry/sentry/pull/107681)
- Support linked dashboards in legend breakdown by @DominikB2014 in [#107632](https://github.com/getsentry/sentry/pull/107632)
- Create platformized frontend overview by @DominikB2014 in [#107625](https://github.com/getsentry/sentry/pull/107625)
- Add retry logic to spans and issues dataset queries by @DominikB2014 in [#107614](https://github.com/getsentry/sentry/pull/107614)
- Add legend breakdown below chart by @DominikB2014 in [#107520](https://github.com/getsentry/sentry/pull/107520)
- Update web vitals page summary prebuilt dashboard to use equations by @edwardgou-sentry in [#107552](https://github.com/getsentry/sentry/pull/107552)
- Adds a new additionalDatasets attribute to linked dashboards to allow creating dashboard filters on multiple datasets by @edwardgou-sentry in [#107434](https://github.com/getsentry/sentry/pull/107434)
- Update Perf score chart to use equation format when opening in explore by @edwardgou-sentry in [#107503](https://github.com/getsentry/sentry/pull/107503)
- Drop FCP meter widget from Prebuilt Dashboard and adjust layout by @edwardgou-sentry in [#107412](https://github.com/getsentry/sentry/pull/107412)
- Add dashboards-chart-legend-breakdown feature flag by @DominikB2014 in [#107439](https://github.com/getsentry/sentry/pull/107439)
- Updates layout for prebuilt web vitals page summary dashboards by @edwardgou-sentry in [#107417](https://github.com/getsentry/sentry/pull/107417)
- Add performance_score to equations allowlist by @edwardgou-sentry in [#107410](https://github.com/getsentry/sentry/pull/107410)
- Delete perf score meter widgets from prebuilt web vitals dashboards by @edwardgou-sentry in [#107409](https://github.com/getsentry/sentry/pull/107409)
- Register categorical bar chart widget type by @gggritso in [#107370](https://github.com/getsentry/sentry/pull/107370)
- Replace issues widget in backend overview by @DominikB2014 in [#107415](https://github.com/getsentry/sentry/pull/107415)
- Add in BarChartWidgetVisualization by @nsdeschenes in [#106775](https://github.com/getsentry/sentry/pull/106775)
- Add categorical bar charts feature flag by @gggritso in [#107199](https://github.com/getsentry/sentry/pull/107199)
- Allow custom sorting of releases dropdown by @gggritso in [#106978](https://github.com/getsentry/sentry/pull/106978)
- Register Mobile Session Health prebuilt dashboard by @DominikB2014 in [#107095](https://github.com/getsentry/sentry/pull/107095)
- Scaffold mobile session health module by @DominikB2014 in [#107167](https://github.com/getsentry/sentry/pull/107167)
- Migrate releases to hook pattern by @DominikB2014 in [#106909](https://github.com/getsentry/sentry/pull/106909)
- Set dataset in tags when changed by @narsaynorath in [#107099](https://github.com/getsentry/sentry/pull/107099)
- Add cell actions getter function by @nsdeschenes in [#106963](https://github.com/getsentry/sentry/pull/106963)
- Allow linked dashboards in line chart full screen by @DominikB2014 in [#106606](https://github.com/getsentry/sentry/pull/106606)
- Always sort by \_is_starred_transaction if selected by @DominikB2014 in [#106599](https://github.com/getsentry/sentry/pull/106599)
- Migrate Spans dataset to hook-based query pattern by @DominikB2014 in [#106590](https://github.com/getsentry/sentry/pull/106590)
- Register backend overview by @DominikB2014 in [#106541](https://github.com/getsentry/sentry/pull/106541)

#### Dynamic Grouping

- Add root cause section, new layout by @scttcper in [#107564](https://github.com/getsentry/sentry/pull/107564)
- Extract cluster sorting, refine ranking signals by @scttcper in [#106919](https://github.com/getsentry/sentry/pull/106919)

#### Dynamic Sampling

- Move boost low volume projects to allow segments by @shellmayr in [#107668](https://github.com/getsentry/sentry/pull/107668)
- Add span metric support for recalibrate_orgs & sliding_window_org tasks by @shellmayr in [#106956](https://github.com/getsentry/sentry/pull/106956)
- Allow spen segment metrics in GetActiveOrgs and GetActiveOrgsVolumes by @shellmayr in [#106955](https://github.com/getsentry/sentry/pull/106955)
- Add is_segment filter for span metrics in boost_low_volume_projects by @shellmayr in [#106954](https://github.com/getsentry/sentry/pull/106954)
- Use span metric for rebalancing transactions & option for activation by @shellmayr in [#106772](https://github.com/getsentry/sentry/pull/106772)

#### Eco

- Adds permissions to GH integration debug data by @GabeVillalobos in [#106478](https://github.com/getsentry/sentry/pull/106478)
- Adds migration for new debug column on Integration table by @GabeVillalobos in [#106476](https://github.com/getsentry/sentry/pull/106476)
- Adds integration debug table for displaying customer integration install info by @GabeVillalobos in [#106378](https://github.com/getsentry/sentry/pull/106378)

#### Explore

- Adds opportunity_score to list of allowed functions in equations by @edwardgou-sentry in [#107941](https://github.com/getsentry/sentry/pull/107941)
- Search api on search in vis dropdown by @nsdeschenes in [#106584](https://github.com/getsentry/sentry/pull/106584)

#### Form

- RangeField by @TkDodo in [#108233](https://github.com/getsentry/sentry/pull/108233)
- TextAreaField by @TkDodo in [#108216](https://github.com/getsentry/sentry/pull/108216)
- SwitchField by @TkDodo in [#108212](https://github.com/getsentry/sentry/pull/108212)

#### Grouping

- Add OpenStack Swift transaction ID parameterization by @JoshFerge in [#107762](https://github.com/getsentry/sentry/pull/107762)
- Add `{{ message }}` fingerprint test input by @lobsterkatie in [#107361](https://github.com/getsentry/sentry/pull/107361)

#### Infra

- Add backend selective testing workflow by @rbro112 in [#105500](https://github.com/getsentry/sentry/pull/105500)
- Add backend tests workflow with coverage upload to GCS by @rbro112 in [#105885](https://github.com/getsentry/sentry/pull/105885)

#### Integrations

- Log response headers in integration API client by @JoshFerge in [#108269](https://github.com/getsentry/sentry/pull/108269)
- Add GitHub Copilot polling functionality by @JoshFerge in [#106670](https://github.com/getsentry/sentry/pull/106670)
- Add GitHub Copilot agent provider backend by @JoshFerge in [#106289](https://github.com/getsentry/sentry/pull/106289)

#### Issue Details

- Update onboarding tour copy and welcome modal by @jaydgoss in [#107002](https://github.com/getsentry/sentry/pull/107002)
- Embed aggregated flame graphs for events with linked profile by @markushi in [#103256](https://github.com/getsentry/sentry/pull/103256)

#### Issues

- Track AI title usage in issue view creation analytics by @scttcper in [#108255](https://github.com/getsentry/sentry/pull/108255)
- Switch group selection to a context by @scttcper in [#108075](https://github.com/getsentry/sentry/pull/108075)
- Generate AI issue view titles by @scttcper in [#107820](https://github.com/getsentry/sentry/pull/107820)
- Cleanup debug meta processing column by @scttcper in [#107384](https://github.com/getsentry/sentry/pull/107384)
- Replace react-virtualized with @tanstack/react-virtual in DebugMeta by @scttcper in [#107213](https://github.com/getsentry/sentry/pull/107213)
- Add copy request body to clipboard by @scttcper in [#106926](https://github.com/getsentry/sentry/pull/106926)
- Fall back to raw value when user tag has no fields by @scttcper in [#106757](https://github.com/getsentry/sentry/pull/106757)

#### Js Loader

- Expose `hasLogsAndMetrics` in serializer by @chargome in [#107345](https://github.com/getsentry/sentry/pull/107345)
- Support logs+metrics bundle by @chargome in [#106959](https://github.com/getsentry/sentry/pull/106959)
- Update UI for User Feedback selection by @chargome in [#106514](https://github.com/getsentry/sentry/pull/106514)
- Update loader template to auto inject user feedback integration by @chargome in [#107043](https://github.com/getsentry/sentry/pull/107043)
- Pass feedback option in loader by @chargome in [#106949](https://github.com/getsentry/sentry/pull/106949)
- Add support for user feedback by @chargome in [#106444](https://github.com/getsentry/sentry/pull/106444)

#### Lint

- Catch `theme.tokens.border` violations by @natemoo-re in [#107458](https://github.com/getsentry/sentry/pull/107458)
- Catch `theme.tokens.background` violations by @natemoo-re in [#107452](https://github.com/getsentry/sentry/pull/107452)
- Catch `theme.tokens.content` violations by @natemoo-re in [#107313](https://github.com/getsentry/sentry/pull/107313)
- Add all `TOKEN_RULES` for `use-semantic-token` by @natemoo-re in [#107315](https://github.com/getsentry/sentry/pull/107315)

#### Llm Detection

- Pass span count to Seer with trace metadata by @nora-shap in [#107735](https://github.com/getsentry/sentry/pull/107735)
- Add create_issue_occurrence RPC method for async LLM detection by @nora-shap in [#106754](https://github.com/getsentry/sentry/pull/106754)

#### Notifications

- Add Size Analysis to notification settings UI by @dashed in [#106940](https://github.com/getsentry/sentry/pull/106940)
- Add QUOTA_SIZE_ANALYSIS for Size Analysis spend notifications by @dashed in [#106939](https://github.com/getsentry/sentry/pull/106939)

#### Oauth

- Add UI for creating and viewing public OAuth clients by @BYK in [#106654](https://github.com/getsentry/sentry/pull/106654)
- Add public client support and refresh token rotation by @BYK in [#106451](https://github.com/getsentry/sentry/pull/106451)
- Add RFC 6750 Bearer token compliance by @dcramer in [#106274](https://github.com/getsentry/sentry/pull/106274)

#### Objectstore

- Try Django request.body when proxying by @lcian in [#106506](https://github.com/getsentry/sentry/pull/106506)
- Try Django request.body first by @lcian in [#106441](https://github.com/getsentry/sentry/pull/106441)

#### Occurrences On Eap

- Implement the `type` attribute for filtering error/issue platform events by @shashjar in [#108099](https://github.com/getsentry/sentry/pull/108099)
- Implement double reads in the `GroupEventsEndpoint` by @shashjar in [#105969](https://github.com/getsentry/sentry/pull/105969)
- Implement `count_if` & `min` aggregates for occurrences by @shashjar in [#107133](https://github.com/getsentry/sentry/pull/107133)

#### Onboarding

- Add Copy as Markdown button to product onboarding surfaces by @jaydgoss in [#108058](https://github.com/getsentry/sentry/pull/108058)
- Register onboarding-copy-setup-instructions feature flag by @jaydgoss in [#108066](https://github.com/getsentry/sentry/pull/108066)
- Add metrics for .NET platforms by @alexander-alderman-webb in [#106551](https://github.com/getsentry/sentry/pull/106551)
- Add logs onboarding for React Native by @antonis in [#107666](https://github.com/getsentry/sentry/pull/107666)
- Add metrics onboarding for React Native by @antonis in [#107665](https://github.com/getsentry/sentry/pull/107665)
- Add metrics onboarding support for Flutter by @buenaflor in [#106950](https://github.com/getsentry/sentry/pull/106950)
- Add new welcome UI with product selection by @jaydgoss in [#107175](https://github.com/getsentry/sentry/pull/107175)
- Add feature flag for new welcome UI by @jaydgoss in [#107160](https://github.com/getsentry/sentry/pull/107160)
- Add sentryTanstackStart vite plugin by @nicohrubec in [#106555](https://github.com/getsentry/sentry/pull/106555)

#### Preprod

- Use dedicated preprod-snapshots feature flag for snapshot endpoint by @NicoHinderling in [#108243](https://github.com/getsentry/sentry/pull/108243)
- [Frontend] Allow staff to rerun size analysis comparisons by @NicoHinderling in [#108188](https://github.com/getsentry/sentry/pull/108188)
- Add snapshots feature flag by @NicoHinderling in [#108197](https://github.com/getsentry/sentry/pull/108197)
- [Backend] Allow staff to rerun size analysis comparisons by @NicoHinderling in [#108187](https://github.com/getsentry/sentry/pull/108187)
- Skip pre-commit fix apply for draft PRs by @rbro112 in [#108167](https://github.com/getsentry/sentry/pull/108167)
- Add preprod-size-monitors-frontend feature flag by @chromy in [#108037](https://github.com/getsentry/sentry/pull/108037)
- Snapshots upload API by @rbro112 in [#107825](https://github.com/getsentry/sentry/pull/107825)
- Display per-file insight savings in treemap tooltips by @cameroncooke in [#107786](https://github.com/getsentry/sentry/pull/107786)
- Add app size chart to Mobile Builds tab by @mtopo27 in [#107067](https://github.com/getsentry/sentry/pull/107067)
- Add FlaggedInsight model for treemap insight savings by @cameroncooke in [#107787](https://github.com/getsentry/sentry/pull/107787)
- Make head_ref optional for size analysis by @runningcode in [#107845](https://github.com/getsentry/sentry/pull/107845)
- Add frontend support for toggling features by @chromy in [#107687](https://github.com/getsentry/sentry/pull/107687)
- Add backend support for toggling features by @chromy in [#107674](https://github.com/getsentry/sentry/pull/107674)
- Use Arcade embed in onboarding panel by @mtopo27 in [#107704](https://github.com/getsentry/sentry/pull/107704)
- Log quota check by @chromy in [#107595](https://github.com/getsentry/sentry/pull/107595)
- Add requestedFeatures to artifact update response by @chromy in [#107336](https://github.com/getsentry/sentry/pull/107336)
- Disable header actions when size analysis is incomplete (EME-782) by @runningcode in [#107231](https://github.com/getsentry/sentry/pull/107231)
- Add dashboard byte decimal formatting and fix tooltip formatting by @trevor-e in [#106886](https://github.com/getsentry/sentry/pull/106886)
- Add docs link and simplify build filter description by @mtopo27 in [#107255](https://github.com/getsentry/sentry/pull/107255)
- Unhide filters by @chromy in [#107232](https://github.com/getsentry/sentry/pull/107232)
- Add frontend support for treemap insights (EME-372) by @cameroncooke in [#107150](https://github.com/getsentry/sentry/pull/107150)
- Update pydantic models to include new flagged_insights field (EME-372) by @cameroncooke in [#107149](https://github.com/getsentry/sentry/pull/107149)
- Add quota exceeded banner for Size Analysis by @runningcode in [#107061](https://github.com/getsentry/sentry/pull/107061)
- Add NOT_RAN to SizeAnalysisState by @chromy in [#107080](https://github.com/getsentry/sentry/pull/107080)
- Reimplement adding build id as a search option for list builds endpoint by @NicoHinderling in [#107118](https://github.com/getsentry/sentry/pull/107118)
- Use structured search by @chromy in [#106961](https://github.com/getsentry/sentry/pull/106961)
- Fix platform_name handling by @chromy in [#107103](https://github.com/getsentry/sentry/pull/107103)
- Add descriptions for preprod search attributes by @mtopo27 in [#107096](https://github.com/getsentry/sentry/pull/107096)
- Show error message in builds table by @chromy in [#107077](https://github.com/getsentry/sentry/pull/107077)
- Add drilldown to clean up treemap by @rbro112 in [#107076](https://github.com/getsentry/sentry/pull/107076)
- Add missing insights on compare by @cameroncooke in [#107018](https://github.com/getsentry/sentry/pull/107018)
- Settings URL /builds/ -> /mobile-builds/ by @chromy in [#106989](https://github.com/getsentry/sentry/pull/106989)
- Reflect queuing state on size build details by @NicoHinderling in [#106981](https://github.com/getsentry/sentry/pull/106981)
- Add support for Apple insight types on Compare by @cameroncooke in [#106967](https://github.com/getsentry/sentry/pull/106967)
- Add install_groups to install details endpoint by @noahsmartin in [#106921](https://github.com/getsentry/sentry/pull/106921)
- Add mobile builds onboarding with platform-specific instructions (EME-733) by @runningcode in [#106856](https://github.com/getsentry/sentry/pull/106856)
- Create initial preprod snapshots models by @rbro112 in [#106823](https://github.com/getsentry/sentry/pull/106823)
- Add build id as a search option for list builds endpoint by @NicoHinderling in [#106901](https://github.com/getsentry/sentry/pull/106901)
- Display message when out of quota by @chromy in [#106866](https://github.com/getsentry/sentry/pull/106866)
- Add quota endpoint by @chromy in [#106863](https://github.com/getsentry/sentry/pull/106863)
- Support install_groups by @noahsmartin in [#106756](https://github.com/getsentry/sentry/pull/106756)
- Add new preprod_diff_approval table by @NicoHinderling in [#106721](https://github.com/getsentry/sentry/pull/106721)
- Control size/distro via settings by @chromy in [#106707](https://github.com/getsentry/sentry/pull/106707)
- Add artifact_matches_query helper by @chromy in [#106675](https://github.com/getsentry/sentry/pull/106675)
- Add preprod dashboard frontend by @trevor-e in [#105919](https://github.com/getsentry/sentry/pull/105919)
- Support configuring filters for `size` and `distribution` in project settings by @chromy in [#106002](https://github.com/getsentry/sentry/pull/106002)
- Switch to new URL format in backend (EME-725) by @runningcode in [#106366](https://github.com/getsentry/sentry/pull/106366)
- Show callers of status check and dedup head artifacts by @trevor-e in [#106638](https://github.com/getsentry/sentry/pull/106638)
- Reland quota check by @chromy in [#106523](https://github.com/getsentry/sentry/pull/106523)
- Add new URL routes while maintaining backwards compatibility (EME-725) by @runningcode in [#106354](https://github.com/getsentry/sentry/pull/106354)
- Use standard id gen method for size status check pref values by @NicoHinderling in [#106234](https://github.com/getsentry/sentry/pull/106234)
- Add tagline to status check with link to status check settings page by @NicoHinderling in [#106233](https://github.com/getsentry/sentry/pull/106233)
- Integrating status check settings into task logic by @NicoHinderling in [#105876](https://github.com/getsentry/sentry/pull/105876)

#### Replay

- Replace AI summary loading GIF with rotating text messages by @billyvg in [#108132](https://github.com/getsentry/sentry/pull/108132)
- Add `project` when filtering by user email/tags by @billyvg in [#107419](https://github.com/getsentry/sentry/pull/107419)
- Feature flag for new replay processing pipeline by @tobias-wilfert in [#107400](https://github.com/getsentry/sentry/pull/107400)
- Add tooltips to playlist next/prev buttons by @billyvg in [#107098](https://github.com/getsentry/sentry/pull/107098)

#### Replays

- Replace react-virtualized with tanstack/virtual in breadcrumbs by @scttcper in [#107262](https://github.com/getsentry/sentry/pull/107262)
- Add saved query header for Replay pages by @billyvg in [#106879](https://github.com/getsentry/sentry/pull/106879)
- Add saved queries functionality to Replay list by @billyvg in [#106013](https://github.com/getsentry/sentry/pull/106013)

#### Scim

- Manage privileges via SCIM Groups by @michelletran-sentry in [#107709](https://github.com/getsentry/sentry/pull/107709)
- Revoke superuser/staff privileges when removed from default org by @michelletran-sentry in [#107151](https://github.com/getsentry/sentry/pull/107151)

#### Scraps

- Compact variant for form layouts by @TkDodo in [#108325](https://github.com/getsentry/sentry/pull/108325)
- Info pattern components by @TkDodo in [#108205](https://github.com/getsentry/sentry/pull/108205)
- Expand font-size for headings by @natemoo-re in [#107676](https://github.com/getsentry/sentry/pull/107676)

#### Search Agent

- Visualize Steps in UI by @aayush-se in [#106419](https://github.com/getsentry/sentry/pull/106419)
- Start and poll the agent state by @aayush-se in [#106324](https://github.com/getsentry/sentry/pull/106324)

#### Search Bar

- Support async tag fetching by @nsdeschenes in [#107769](https://github.com/getsentry/sentry/pull/107769)
- Wrap selected filters in parentheses by @nsdeschenes in [#105947](https://github.com/getsentry/sentry/pull/105947)

#### Seer

- RPC for code mappings by @kddubey in [#105622](https://github.com/getsentry/sentry/pull/105622)
- Allow guided steps to have clickable steps, Seer uses it by @ryan953 in [#108081](https://github.com/getsentry/sentry/pull/108081)
- Include occurrence data when serializing events in get_issue_and_event_details_v2 by @wedamija in [#108083](https://github.com/getsentry/sentry/pull/108083)
- Update the Enable Code Generation link to docs by @ryan953 in [#108059](https://github.com/getsentry/sentry/pull/108059)
- Update the copy when selecting many/all Projects and Repos inside Seer settings by @ryan953 in [#107999](https://github.com/getsentry/sentry/pull/107999)
- Add a link from Settings > Seer > Repos to Integrations by @ryan953 in [#107996](https://github.com/getsentry/sentry/pull/107996)
- Update copy and link targets for the Seer Config Reminder by @ryan953 in [#107811](https://github.com/getsentry/sentry/pull/107811)
- Rename "Agent Delegation" to "Coding Agent" in settings by @JoshFerge in [#107813](https://github.com/getsentry/sentry/pull/107813)
- Add `Enable Code Generation` to org-wide seer settings page by @ryan953 in [#107377](https://github.com/getsentry/sentry/pull/107377)
- Update Seer settings so that PR Create toggles respect enableSeerCoding by @ryan953 in [#107391](https://github.com/getsentry/sentry/pull/107391)
- Stop overriding enable_seer_coding when migrating from legacy to new seer plans by @ryan953 in [#107363](https://github.com/getsentry/sentry/pull/107363)
- Iterate on Seer Setting tabs by @ryan953 in [#107807](https://github.com/getsentry/sentry/pull/107807)
- Iterate on copy in the settings pages by @ryan953 in [#107805](https://github.com/getsentry/sentry/pull/107805)
- Setup a flagpole flag to control the Seer Config Reminder by @ryan953 in [#107798](https://github.com/getsentry/sentry/pull/107798)
- Use flagpole to control rendering the seer config reminder by @ryan953 in [#107800](https://github.com/getsentry/sentry/pull/107800)
- Disable all the `Generate code` buttons in Seer UI by @ryan953 in [#107454](https://github.com/getsentry/sentry/pull/107454)
- Add logging and metrics for Seer entrypoints by @leeandher in [#107693](https://github.com/getsentry/sentry/pull/107693)
- Show the autofix Seer config step if the org needs a config reminder by @ryan953 in [#107703](https://github.com/getsentry/sentry/pull/107703)
- Let api endpoint `/seer/onboarding-check/` return `needsConfigReminder` by @ryan953 in [#107702](https://github.com/getsentry/sentry/pull/107702)
- Capture errors when updating onboarding by @billyvg in [#107683](https://github.com/getsentry/sentry/pull/107683)
- Highlight projects that have zero repos connected in Seer>Project list settings by @ryan953 in [#107570](https://github.com/getsentry/sentry/pull/107570)
- Move the Connected Repos section in Seer Project Settings up by @ryan953 in [#107571](https://github.com/getsentry/sentry/pull/107571)
- Reland trigger_at timestamps with backward compatibility by @vaind in [#107525](https://github.com/getsentry/sentry/pull/107525)
- Show the enabled triggers in the Seer > Repo list page by @ryan953 in [#107565](https://github.com/getsentry/sentry/pull/107565)
- Only remind people to setup Seer if the org has GitHub integration by @ryan953 in [#107288](https://github.com/getsentry/sentry/pull/107288)
- Add source field to coding integration analytics and expand coverage by @JoshFerge in [#107528](https://github.com/getsentry/sentry/pull/107528)
- Add analytics tracking for coding integration CTA buttons by @JoshFerge in [#107513](https://github.com/getsentry/sentry/pull/107513)
- Support multiple slack threads per alert for autofix updates by @leeandher in [#107280](https://github.com/getsentry/sentry/pull/107280)
- Add pre-autofix cache for slack workflow notifications by @leeandher in [#107117](https://github.com/getsentry/sentry/pull/107117)
- Add a reminder for Seer orgs who have not completed onboarding by @ryan953 in [#106931](https://github.com/getsentry/sentry/pull/106931)
- Allow superuser override for seer onboarding by @billyvg in [#106689](https://github.com/getsentry/sentry/pull/106689)
- Remove "Next Button" on Connect GitHub step by @billyvg in [#106680](https://github.com/getsentry/sentry/pull/106680)
- Add feedback buttons to the top of Seer settings pages by @ryan953 in [#106649](https://github.com/getsentry/sentry/pull/106649)
- Return seer preference `automation_handoff` from the bulk endpoint by @ryan953 in [#106615](https://github.com/getsentry/sentry/pull/106615)

#### Seer Explorer

- In `trigger_autofix_explorer`, send `project_id` when calling `start_run()` by @billyvg in [#108056](https://github.com/getsentry/sentry/pull/108056)
- Link to conversations from feedback by @obostjancic in [#107148](https://github.com/getsentry/sentry/pull/107148)
- Add fab by @roaga in [#106604](https://github.com/getsentry/sentry/pull/106604)

#### Sentry Apps

- Add interaction methods to region RPC service by @leeandher in [#106282](https://github.com/getsentry/sentry/pull/106282)
- Add service hook projects methods to region RPC service by @leeandher in [#106281](https://github.com/getsentry/sentry/pull/106281)

#### Settings

- Refactor organization teams list to SimpleTable by @scttcper in [#107636](https://github.com/getsentry/sentry/pull/107636)
- Add timestamp for discarded issues by @cvxluo in [#107583](https://github.com/getsentry/sentry/pull/107583)
- Allow picking project when routing to settings by @scttcper in [#107354](https://github.com/getsentry/sentry/pull/107354)

#### Spans

- Add GCP log analyzer tool for span buffer operations by @fpacifici in [#107538](https://github.com/getsentry/sentry/pull/107538)
- Use float precision for sentry.duration_ms calculation by @phacops in [#106992](https://github.com/getsentry/sentry/pull/106992)
- Create options for dual write and flusher reads by @lvthanh03 in [#106712](https://github.com/getsentry/sentry/pull/106712)

#### Spans Buffer

- Disable write to ZSET default option value by @lvthanh03 in [#107853](https://github.com/getsentry/sentry/pull/107853)
- Enable read from SET by default by @lvthanh03 in [#107852](https://github.com/getsentry/sentry/pull/107852)
- Enable write to unsorted SET by default by @lvthanh03 in [#107851](https://github.com/getsentry/sentry/pull/107851)
- Add stuck detector for span flusher subprocess by @lvthanh03 in [#107281](https://github.com/getsentry/sentry/pull/107281)
- Use separate redirect table for SET implementation by @lvthanh03 in [#107083](https://github.com/getsentry/sentry/pull/107083)
- Add metrics comparison between SET and ZSET implementations by @lvthanh03 in [#106990](https://github.com/getsentry/sentry/pull/106990)
- Add dual write for ZSET to SET migration by @lvthanh03 in [#106794](https://github.com/getsentry/sentry/pull/106794)

#### Toolbar

- Bump toolbar to 1.0.0-beta.23 from beta.22 by @ryan953 in [#107087](https://github.com/getsentry/sentry/pull/107087)
- Use the CSRF token in headers and cookies when using the sentry API by @ryan953 in [#106286](https://github.com/getsentry/sentry/pull/106286)

#### Trace

- Add metrics for ts offset by @wmak in [#107549](https://github.com/getsentry/sentry/pull/107549)
- Process the last page by @wmak in [#107544](https://github.com/getsentry/sentry/pull/107544)

#### Tracemetrics

- Return units from aggregate in response by @narsaynorath in [#107695](https://github.com/getsentry/sentry/pull/107695)
- Add units feature flag by @narsaynorath in [#107849](https://github.com/getsentry/sentry/pull/107849)
- Expose metrics UI for dart projects by @narsaynorath in [#107569](https://github.com/getsentry/sentry/pull/107569)
- Pull multiple aggregates into table by @nsdeschenes in [#107352](https://github.com/getsentry/sentry/pull/107352)
- Add react-native to metrics constants by @narsaynorath in [#107422](https://github.com/getsentry/sentry/pull/107422)
- Add iOS and other apple platforms by @narsaynorath in [#107344](https://github.com/getsentry/sentry/pull/107344)
- Pull data into chart by @nsdeschenes in [#107277](https://github.com/getsentry/sentry/pull/107277)
- Enable multi-select on aggregate dropdown by @nsdeschenes in [#107163](https://github.com/getsentry/sentry/pull/107163)
- Consistently distribute space for metric toolbar by @narsaynorath in [#106979](https://github.com/getsentry/sentry/pull/106979)
- Style changes for table and page by @narsaynorath in [#106669](https://github.com/getsentry/sentry/pull/106669)

#### Ui

- Support logs+metrics bundle by @chargome in [#107328](https://github.com/getsentry/sentry/pull/107328)
- Modernize Rubik font loading by @scttcper in [#107140](https://github.com/getsentry/sentry/pull/107140)

#### Uptime

- Register uptime-ai-assertion-suggestions feature flag by @jaydgoss in [#108178](https://github.com/getsentry/sentry/pull/108178)
- Increase uptime monitor limits from 100 to 500 by @gaprl in [#108070](https://github.com/getsentry/sentry/pull/108070)
- Add user setting to disable response capture by @wedamija in [#107113](https://github.com/getsentry/sentry/pull/107113)
- Add API endpoints to delete response captures by @wedamija in [#107092](https://github.com/getsentry/sentry/pull/107092)
- Add UptimeResponseCapture to cleanup infrastructure by @wedamija in [#107079](https://github.com/getsentry/sentry/pull/107079)
- Add API endpoint for response capture retrieval by @wedamija in [#107033](https://github.com/getsentry/sentry/pull/107033)
- Include response capture in incident evidence by @wedamija in [#106491](https://github.com/getsentry/sentry/pull/106491)
- Create response captures on check failures by @wedamija in [#106462](https://github.com/getsentry/sentry/pull/106462)
- Display assertion compilation errors in form by @jaydgoss in [#106922](https://github.com/getsentry/sentry/pull/106922)
- Add test monitor button to uptime configuration forms by @jaydgoss in [#106832](https://github.com/getsentry/sentry/pull/106832)
- Add default status code assertion for verifications by @jaydgoss in [#106811](https://github.com/getsentry/sentry/pull/106811)
- Add assertion to uptime config model and serializers by @klochek in [#106626](https://github.com/getsentry/sentry/pull/106626)
- Add capture_response_on_failure to config production by @wedamija in [#106405](https://github.com/getsentry/sentry/pull/106405)
- Add UptimeResponseCapture model by @wedamija in [#106341](https://github.com/getsentry/sentry/pull/106341)
- Add drag-and-drop reordering for assertions by @evanpurkhiser in [#106465](https://github.com/getsentry/sentry/pull/106465)

#### Uptime Assertion Failure Data

- Implementing tree model by @Abdkhan14 in [#107065](https://github.com/getsentry/sentry/pull/107065)
- Adding to issue evidence data by @Abdkhan14 in [#107268](https://github.com/getsentry/sentry/pull/107268)
- Adding trace-item-id to /checks/ endpoint response by @Abdkhan14 in [#107191](https://github.com/getsentry/sentry/pull/107191)

#### Webhook

- Support skipping sending GitHub webhooks to Codecov by @armenzg in [#107946](https://github.com/getsentry/sentry/pull/107946)
- Add tags and context to webhook delivery by @armenzg in [#107937](https://github.com/getsentry/sentry/pull/107937)

#### Other

- (ai-conversation) Do not allow for querying more than 30d of data by @vgrozdanic in [#107843](https://github.com/getsentry/sentry/pull/107843)
- (alerts) Add trace metric alerts by @k-fish in [#107508](https://github.com/getsentry/sentry/pull/107508)
- (attribute-breakdown) Open in expanded modal by @nsdeschenes in [#106559](https://github.com/getsentry/sentry/pull/106559)
- (attributes) Support fetching explicit boolean attributes by @nsdeschenes in [#106820](https://github.com/getsentry/sentry/pull/106820)
- (auth) Add CSRF debug logging for login flow by @JoshFerge in [#107153](https://github.com/getsentry/sentry/pull/107153)
- (code review) Remove existing reactions and add :eyes: to PR by @srest2021 in [#106544](https://github.com/getsentry/sentry/pull/106544)
- (console) Update request console sdk access modal and button by @alexsohn1126 in [#105612](https://github.com/getsentry/sentry/pull/105612)
- (dashboards/insights) Allow >90 days pickable by @DominikB2014 in [#106529](https://github.com/getsentry/sentry/pull/106529)
- (db) Add model name to EncryptedField metrics tags by @vgrozdanic in [#106531](https://github.com/getsentry/sentry/pull/106531)
- (debug) Allow debug to be a string by @wmak in [#107182](https://github.com/getsentry/sentry/pull/107182)
- (deletion) Add partition support to BulkDeleteQuery and cleanup command by @dashed in [#107906](https://github.com/getsentry/sentry/pull/107906)
- (detectors) Add helper to filter Detector IDs to those currently snoozed by @kcons in [#108104](https://github.com/getsentry/sentry/pull/108104)
- (dev) Post_fetch system dependencies by @joshuarli in [#107462](https://github.com/getsentry/sentry/pull/107462)
- (dev-infra) Add local selective testing job by @rbro112 in [#108052](https://github.com/getsentry/sentry/pull/108052)
- (devservices) Use Shared postgres by @hubertdeng123 in [#107258](https://github.com/getsentry/sentry/pull/107258)
- (discover) Add conditional functions and tpm to allowed arithmetic functions by @DominikB2014 in [#107958](https://github.com/getsentry/sentry/pull/107958)
- (dyanmic-grouping) New sort order, cluster stats refactor by @scttcper in [#106750](https://github.com/getsentry/sentry/pull/106750)
- (dynamically-sampling) Remove Get Samples button from UI by @priscilawebdev in [#106953](https://github.com/getsentry/sentry/pull/106953)
- (eap) Use last-seen in EAP tagstore by @thetruecpaul in [#106826](https://github.com/getsentry/sentry/pull/106826)
- (encryption) Add EncryptedTextField for encrypting text fields by @vgrozdanic in [#106765](https://github.com/getsentry/sentry/pull/106765)
- (enrichment) Check ancestors for agent name in gen_ai spans by @obostjancic in [#107056](https://github.com/getsentry/sentry/pull/107056)
- (eslint) Add use-semantic-token rule with modular architecture by @natemoo-re in [#106917](https://github.com/getsentry/sentry/pull/106917)
- (events-stats) Add log event for stats usage by @wmak in [#107295](https://github.com/getsentry/sentry/pull/107295)
- (explorer) Add attribute comparisons rpc by @aliu39 in [#106486](https://github.com/getsentry/sentry/pull/106486)
- (gitlab) Add inbound/outbound assignment & comment support by @iamrajjoshi in [#105472](https://github.com/getsentry/sentry/pull/105472)
- (hybridcloud) Preserve Content-Encoding header for Objectstore by @lcian in [#106660](https://github.com/getsentry/sentry/pull/106660)
- (identities) Add GitHub Copilot identity to account identities page by @JoshFerge in [#107443](https://github.com/getsentry/sentry/pull/107443)
- (ingest-metrics) Only use the segment metric for tx usage by @Dav1dde in [#106350](https://github.com/getsentry/sentry/pull/106350)
- (insights) Add feature flag for mobile session health migration by @DominikB2014 in [#107086](https://github.com/getsentry/sentry/pull/107086)
- (issue-search) Support has on issue scalar conditions by @Zylphrex in [#107563](https://github.com/getsentry/sentry/pull/107563)
- (issue-views) Add backend endpoint for AI-generated view titles by @JoshFerge in [#105970](https://github.com/getsentry/sentry/pull/105970)
- (java) Pass exception to symbolicate request by @romtsn in [#104851](https://github.com/getsentry/sentry/pull/104851)
- (logs) Fetch vis and group by attributes on search by @nsdeschenes in [#106433](https://github.com/getsentry/sentry/pull/106433)
- (member merge) Set email_unique on User object save by @mifu67 in [#92696](https://github.com/getsentry/sentry/pull/92696)
- (middleware) Add AI agent friendly responses for unauthenticated requests by @dcramer in [#106485](https://github.com/getsentry/sentry/pull/106485)
- (models) Add extras JSONField to CommitComparison by @trevor-e in [#108283](https://github.com/getsentry/sentry/pull/108283)
- (nav) Add feature flag logic to show/hide the Prevent nav item by @ryan953 in [#105346](https://github.com/getsentry/sentry/pull/105346)
- (open-periods) Backfill event_id from GroupOpenPeriod to GroupOpenPeriodActivity by @wedamija in [#107866](https://github.com/getsentry/sentry/pull/107866)
- (ownership) Migrate assignee existence cache invalidation to use timestamp versioning on ownership by @shashjar in [#106479](https://github.com/getsentry/sentry/pull/106479)
- (perf-detectors) Make it possible to provide a Detector ID to a PerformanceDetector by @kcons in [#106713](https://github.com/getsentry/sentry/pull/106713)
- (profiling) Allow changing slowest functions sorting by @Zylphrex in [#108014](https://github.com/getsentry/sentry/pull/108014)
- (project-details) Link to mobile session health by @bcoe in [#106520](https://github.com/getsentry/sentry/pull/106520)
- (quotas) Add has_usage_quota interface method for usage-based categories by @dashed in [#106393](https://github.com/getsentry/sentry/pull/106393)
- (relay) Add trimming to project config by @loewenheim in [#108017](https://github.com/getsentry/sentry/pull/108017)
- (rollout) Add sample rate option to `SafeRolloutComparator` to gate double reads by @shashjar in [#107115](https://github.com/getsentry/sentry/pull/107115)
- (rollouts) Add "should_use_experimental" function by @thetruecpaul in [#106595](https://github.com/getsentry/sentry/pull/106595)
- (search) Upgrade to peggy v5 by @scttcper in [#107749](https://github.com/getsentry/sentry/pull/107749)
- (search-query-builder) Leave input value for number filters by @nsdeschenes in [#107616](https://github.com/getsentry/sentry/pull/107616)
- (security) Allow collection of COOP reports by @oioki in [#106565](https://github.com/getsentry/sentry/pull/106565)
- (slack) Add feature flag for seer explorer @mentions by @leeandher in [#107778](https://github.com/getsentry/sentry/pull/107778)
- (stories) Cleanup categories by @natemoo-re in [#106379](https://github.com/getsentry/sentry/pull/106379)
- (supergroups) Send embedding requests to seer by @cvxluo in [#107819](https://github.com/getsentry/sentry/pull/107819)
- (symbolication) Show malformed errors as malformed by @Dav1dde in [#107574](https://github.com/getsentry/sentry/pull/107574)
- (symbolicator) Add SteamOS / Proton debug symbol server by @mujacica in [#107667](https://github.com/getsentry/sentry/pull/107667)
- (tempest) Handle invalid_scope error from Sony auth endpoint by @JoshuaMoelans in [#107225](https://github.com/getsentry/sentry/pull/107225)
- (trace-detector) More error state logging by @ArthurKnaus in [#108105](https://github.com/getsentry/sentry/pull/108105)
- (uptime-assertion-in-checks) Adding assertion_failure_data to the eap_converter by @Abdkhan14 in [#106833](https://github.com/getsentry/sentry/pull/106833)
- (uptime-detector-ongoing-issues) Ignoring date selection for uptime ongoing issues by @Abdkhan14 in [#108144](https://github.com/getsentry/sentry/pull/108144)
- (uptime-detectore-schedule-preview) Adding preview section to monitor creation form. by @Abdkhan14 in [#106612](https://github.com/getsentry/sentry/pull/106612)
- (uptime-issue-assertions-section) Sending assertion failure data… by @Abdkhan14 in [#107546](https://github.com/getsentry/sentry/pull/107546)
- (uptime-issue-trace-preview) Ensuring that uptime spans are queried by @Abdkhan14 in [#107868](https://github.com/getsentry/sentry/pull/107868)
- (uptime-json-path-assertion) Splitting path string to value, operator and operand by @Abdkhan14 in [#107512](https://github.com/getsentry/sentry/pull/107512)
- (uptime-traces) Always querying for uptime events when querying a trace by @Abdkhan14 in [#108245](https://github.com/getsentry/sentry/pull/108245)
- (usageStats) Add new `ignored` client discard reason by @Lms24 in [#106251](https://github.com/getsentry/sentry/pull/106251)
- (view-hierarchy) Allow forcing absolute positioning by @timfish in [#107507](https://github.com/getsentry/sentry/pull/107507)
- (workflow engine) Issue open duration condition handler (BE) by @mifu67 in [#107030](https://github.com/getsentry/sentry/pull/107030)
- Rewrite account details to new form system by @TkDodo in [#107264](https://github.com/getsentry/sentry/pull/107264)
- Add confirm for autoSaveField by @TkDodo in [#108307](https://github.com/getsentry/sentry/pull/108307)
- Add parent_index and sample_count fields to stacktrace Frame by @noahsmartin in [#107917](https://github.com/getsentry/sentry/pull/107917)
- Send org_id and project_id to Seer severity score endpoint by @JoshFerge in [#107756](https://github.com/getsentry/sentry/pull/107756)
- Add insights-frontend-overview-dashboard-migration feature flag by @DominikB2014 in [#107615](https://github.com/getsentry/sentry/pull/107615)
- Add metrics onboarding for Apple platforms by @philprime in [#107170](https://github.com/getsentry/sentry/pull/107170)
- Seer repo improvements by @JoshFerge in [#107233](https://github.com/getsentry/sentry/pull/107233)
- Hide try codecov subscription modal button by @calvin-codecov in [#107020](https://github.com/getsentry/sentry/pull/107020)
- Add metrics onboarding for Go by @giortzisg in [#106554](https://github.com/getsentry/sentry/pull/106554)
- Remove code-review-beta condition from eligibility guard by @ajay-sentry in [#106600](https://github.com/getsentry/sentry/pull/106600)
- Show details when there are any for sending test notifications by @JPeer264 in [#106362](https://github.com/getsentry/sentry/pull/106362)
- Add cron job to schedule indexer job by @shruthilayaj in [#106377](https://github.com/getsentry/sentry/pull/106377)

### Bug Fixes 🐛

#### Aci

- Update tests to use 'any-short' logic type for trigger conditions by @NicoHinderling in [#108257](https://github.com/getsentry/sentry/pull/108257)
- Restrict trigger logic type by @ceorourke in [#107548](https://github.com/getsentry/sentry/pull/107548)
- Alert form env selector should set initial data correctly by @malwilley in [#108076](https://github.com/getsentry/sentry/pull/108076)
- Better handling for eventType when creating metric alert/monitor URLs by @malwilley in [#108069](https://github.com/getsentry/sentry/pull/108069)
- Handle anomaly condition evaluated data by @malwilley in [#107905](https://github.com/getsentry/sentry/pull/107905)
- Handle missing error detector in associate_new_group_with_detector by @kcons in [#107938](https://github.com/getsentry/sentry/pull/107938)
- Add errors support for dataSources by @nikkikapadia in [#107857](https://github.com/getsentry/sentry/pull/107857)
- Update sentry app installation receiver to disable Actions by @ceorourke in [#107460](https://github.com/getsentry/sentry/pull/107460)
- Fix ability to save webhook actions in alert form by @malwilley in [#107708](https://github.com/getsentry/sentry/pull/107708)
- Fix mistyped comparison by @kcons in [#107719](https://github.com/getsentry/sentry/pull/107719)
- Update customer facing automation text to alert by @ceorourke in [#107629](https://github.com/getsentry/sentry/pull/107629)
- Order metric issue timeline by most recent first by @malwilley in [#107529](https://github.com/getsentry/sentry/pull/107529)
- Fetch_workflow_groups_paginated typing correction by @kcons in [#107526](https://github.com/getsentry/sentry/pull/107526)
- Update receiver to delete orphaned Actions by @ceorourke in [#107532](https://github.com/getsentry/sentry/pull/107532)
- Fix create workflow documentation by @ceorourke in [#107468](https://github.com/getsentry/sentry/pull/107468)
- Look up sentry app id for Action in dual write by @ceorourke in [#107436](https://github.com/getsentry/sentry/pull/107436)
- Redo sentry app action migration by @ceorourke in [#107208](https://github.com/getsentry/sentry/pull/107208)
- Add option to disable issue stream detector for certain group types by @cathteng in [#106801](https://github.com/getsentry/sentry/pull/106801)
- Add back outbox category by @ceorourke in [#107197](https://github.com/getsentry/sentry/pull/107197)
- Add helper to ensure malformed IDs always result in 400s by @kcons in [#106822](https://github.com/getsentry/sentry/pull/106822)
- Use open period to set query bounds on metric issue by @malwilley in [#107131](https://github.com/getsentry/sentry/pull/107131)
- Handle fallthroughType in email action translator by @cathteng in [#106633](https://github.com/getsentry/sentry/pull/106633)
- Don't treat deleted Detector as an error by @kcons in [#106727](https://github.com/getsentry/sentry/pull/106727)
- Fix workflow environment field by @ceorourke in [#106636](https://github.com/getsentry/sentry/pull/106636)
- Fix saving alert form with projects you are not a member of by @malwilley in [#106394](https://github.com/getsentry/sentry/pull/106394)
- Report InvalidSearchQuery as a 400 from OrganizationDetectorIndex by @kcons in [#106622](https://github.com/getsentry/sentry/pull/106622)
- Default alert builder action filters to 'all' by @malwilley in [#106583](https://github.com/getsentry/sentry/pull/106583)
- Hide 'All environments' option in uptime detector form by @malwilley in [#106578](https://github.com/getsentry/sentry/pull/106578)
- Add validation for detector trigger condition results by @mifu67 in [#106330](https://github.com/getsentry/sentry/pull/106330)
- Disable the IssueType data condition by @saponifi3d in [#106426](https://github.com/getsentry/sentry/pull/106426)

#### Admin

- Handle GitHub Copilot identity category in admin user page by @JoshFerge in [#108051](https://github.com/getsentry/sentry/pull/108051)
- Fix customers api endpoint to respect new cells architecture by @shellmayr in [#107927](https://github.com/getsentry/sentry/pull/107927)

#### Agent Insights

- Trace drawer open event fired too often by @ArthurKnaus in [#106566](https://github.com/getsentry/sentry/pull/106566)
- Wrong error count in traces by @ArthurKnaus in [#106546](https://github.com/getsentry/sentry/pull/106546)

#### Agents

- Parse input's message from OpenRouter by @priscilawebdev in [#107487](https://github.com/getsentry/sentry/pull/107487)
- Correct pagination spacing by @shellmayr in [#107241](https://github.com/getsentry/sentry/pull/107241)

#### Ai Conversations

- Tool message parsing by @obostjancic in [#107846](https://github.com/getsentry/sentry/pull/107846)
- Query only spans in conversation timeframe by @obostjancic in [#107501](https://github.com/getsentry/sentry/pull/107501)
- End timestamp by @obostjancic in [#107584](https://github.com/getsentry/sentry/pull/107584)
- Sum tokens only from ai_client spans by @obostjancic in [#107485](https://github.com/getsentry/sentry/pull/107485)
- Misaligned border in active message bubble by @obostjancic in [#107482](https://github.com/getsentry/sentry/pull/107482)
- Ignore statsPeriod for conversation details endpoint by @vgrozdanic in [#107411](https://github.com/getsentry/sentry/pull/107411)
- Flip conversation messages bubbles by @matejminar in [#107161](https://github.com/getsentry/sentry/pull/107161)
- Support gen_ai.input.messages by @obostjancic in [#107222](https://github.com/getsentry/sentry/pull/107222)
- Agent selector multi-selection by @obostjancic in [#107223](https://github.com/getsentry/sentry/pull/107223)
- Use correct query params in converstaion details page by @vgrozdanic in [#107146](https://github.com/getsentry/sentry/pull/107146)
- Drawer span selection by @obostjancic in [#107045](https://github.com/getsentry/sentry/pull/107045)
- Use correct query params by @vgrozdanic in [#106733](https://github.com/getsentry/sentry/pull/106733)

#### Ai Insights

- Prioritize span.description over span.name by @obostjancic in [#108309](https://github.com/getsentry/sentry/pull/108309)
- Normalize explore params by @obostjancic in [#107493](https://github.com/getsentry/sentry/pull/107493)
- Update onboarding instructions by @obostjancic in [#106864](https://github.com/getsentry/sentry/pull/106864)

#### Alerts

- Consider all ESCALATING substatus transitions as 'has_escalated' in alerts by @kcons in [#108084](https://github.com/getsentry/sentry/pull/108084)
- Fix disabled 'create alert' button for org owners by @malwilley in [#107751](https://github.com/getsentry/sentry/pull/107751)
- Support trace metrics in anomaly detection alerts by @k-fish in [#107610](https://github.com/getsentry/sentry/pull/107610)
- Open in Metrics for trace metrics alerts by @k-fish in [#107606](https://github.com/getsentry/sentry/pull/107606)
- Ensure project_id is an int in OrganizationEventsAnomaliesEndpoint by @kcons in [#107467](https://github.com/getsentry/sentry/pull/107467)
- Use tracemetrics dataset for TRACE_ITEM_METRIC alerts by @k-fish in [#107420](https://github.com/getsentry/sentry/pull/107420)
- Improve alerts list UX for downgraded plans by @mifu67 in [#107019](https://github.com/getsentry/sentry/pull/107019)
- Respect 24-hour clock preference in email notifications by @leeandher in [#106884](https://github.com/getsentry/sentry/pull/106884)
- Clear Slack channel_id when channel name is modified by @leeandher in [#106824](https://github.com/getsentry/sentry/pull/106824)
- Support AssignedToFilter in issue alert preview by @leeandher in [#106783](https://github.com/getsentry/sentry/pull/106783)
- Validate targetIdentifier is an int before we try to query with it as one by @kcons in [#106401](https://github.com/getsentry/sentry/pull/106401)

#### Auth

- Sync CSRF token on form submit for multi-tab scenarios by @JoshFerge in [#107389](https://github.com/getsentry/sentry/pull/107389)
- Fix test cookie race condition in multi-tab login by @JoshFerge in [#107453](https://github.com/getsentry/sentry/pull/107453)
- Fix CSRF token refresh for multi-tab auth scenarios by @JoshFerge in [#107214](https://github.com/getsentry/sentry/pull/107214)

#### Autofix

- Use step metadata in autofix completion hook by @Zylphrex in [#107942](https://github.com/getsentry/sentry/pull/107942)
- Only require repos for manual rca by @Zylphrex in [#108003](https://github.com/getsentry/sentry/pull/108003)
- Gate repos_not_found log on non-empty set by @JoshFerge in [#107952](https://github.com/getsentry/sentry/pull/107952)
- Only coerce projects autofix automation on to medium by @Zylphrex in [#107607](https://github.com/getsentry/sentry/pull/107607)
- Truncate GitHub Copilot prompt to avoid API limit by @JoshFerge in [#107202](https://github.com/getsentry/sentry/pull/107202)
- Stable drawer width by @roaga in [#107203](https://github.com/getsentry/sentry/pull/107203)
- Missed one /autofix/update call site by @Zylphrex in [#107123](https://github.com/getsentry/sentry/pull/107123)
- Pass organization id for autofix update by @Zylphrex in [#107107](https://github.com/getsentry/sentry/pull/107107)

#### Autopilot

- Deduplicate repository configs in missing SDK integration detector by @ArthurKnaus in [#108115](https://github.com/getsentry/sentry/pull/108115)
- Emit error metric for Seer instantiation and artifact retrieval failures by @ArthurKnaus in [#108111](https://github.com/getsentry/sentry/pull/108111)
- Add GitHub provider filter and gen AI consent checks to detectors by @ArthurKnaus in [#108107](https://github.com/getsentry/sentry/pull/108107)
- Ensure instrumentation issues are not triggering alerts by @ArthurKnaus in [#107587](https://github.com/getsentry/sentry/pull/107587)
- Increase integration detector poll timeout by @ArthurKnaus in [#107320](https://github.com/getsentry/sentry/pull/107320)
- Ensure repo structure awareness by @ArthurKnaus in [#106786](https://github.com/getsentry/sentry/pull/106786)
- Monorepo awareness by @ArthurKnaus in [#106659](https://github.com/getsentry/sentry/pull/106659)
- Ensure docs URL usage by @ArthurKnaus in [#106652](https://github.com/getsentry/sentry/pull/106652)

#### Billing

- Fix feature flags for emerge categories on usage stats page by @dashed in [#107196](https://github.com/getsentry/sentry/pull/107196)
- Hide issue fixes and scans in stats page for non-legacy Seer orgs by @brendanhsentry in [#107078](https://github.com/getsentry/sentry/pull/107078)

#### Cells

- Update Invoices and Customers index urls to cell-based by @kcons in [#107698](https://github.com/getsentry/sentry/pull/107698)
- Use cell endpoint for closing invoices by @evanpurkhiser in [#106445](https://github.com/getsentry/sentry/pull/106445)

#### Code Mappings

- Display the modal from issue details for all platforms by @shashjar in [#107894](https://github.com/getsentry/sentry/pull/107894)
- For platforms lacking supported extensions, fall back to default frame info by @shashjar in [#107893](https://github.com/getsentry/sentry/pull/107893)

#### Code Review

- Add "Copilot" user login special case to bot check by @srest2021 in [#107861](https://github.com/getsentry/sentry/pull/107861)
- Add cache to dedupe github webhook events by @suejung-sentry in [#107734](https://github.com/getsentry/sentry/pull/107734)
- Determine if user is bot by checking user login suffix instead of user type by @srest2021 in [#107622](https://github.com/getsentry/sentry/pull/107622)
- Add `github_rate_limit_sensitive` field to seer config model by @srest2021 in [#107697](https://github.com/getsentry/sentry/pull/107697)
- Disable :tada: for orgs with large repos by @srest2021 in [#107357](https://github.com/getsentry/sentry/pull/107357)
- Add date_updated to update_fields by @srest2021 in [#107129](https://github.com/getsentry/sentry/pull/107129)
- Pass org id and org integration id to fix metrics by @suejung-sentry in [#106648](https://github.com/getsentry/sentry/pull/106648)
- Look only at code review beta list by @suejung-sentry in [#106540](https://github.com/getsentry/sentry/pull/106540)
- Handle when both seat plan and beta flag by @suejung-sentry in [#106532](https://github.com/getsentry/sentry/pull/106532)
- Check if org has disabled default code review triggers by @suejung-sentry in [#106430](https://github.com/getsentry/sentry/pull/106430)
- Fix staged billing check for GA by @suejung-sentry in [#106146](https://github.com/getsentry/sentry/pull/106146)

#### Codeowners

- Move AI conversation rules after endpoints catch-all by @vgrozdanic in [#107664](https://github.com/getsentry/sentry/pull/107664)
- Assing telemetry experience as codeowners for files related to AI conversation page by @vgrozdanic in [#107147](https://github.com/getsentry/sentry/pull/107147)

#### Cursor

- Handle empty branch_name when launching Cursor agent by @JoshFerge in [#106933](https://github.com/getsentry/sentry/pull/106933)
- Validate API key when setting up Cursor integration by @JoshFerge in [#106502](https://github.com/getsentry/sentry/pull/106502)

#### Dashboard

- Frontend overview can't be cloned by @DominikB2014 in [#108169](https://github.com/getsentry/sentry/pull/108169)
- Add to Dashboard fails widget builder add when first visit by @narsaynorath in [#106396](https://github.com/getsentry/sentry/pull/106396)

#### Dashboards

- Increase allowed limit to 25 for categorical bar charts by @narsaynorath in [#108229](https://github.com/getsentry/sentry/pull/108229)
- Include yAxis equations in top events table query by @DominikB2014 in [#108228](https://github.com/getsentry/sentry/pull/108228)
- Fix issue where initial widget library selection does not load properly by @edwardgou-sentry in [#108171](https://github.com/getsentry/sentry/pull/108171)
- Add empty fields to rage/dead clicks and server tree widgets by @DominikB2014 in [#108221](https://github.com/getsentry/sentry/pull/108221)
- Fix issue with Web Vitals prebuilt dashboard slideout not correctly linking to next prebuilt Page Summary dashboard by @edwardgou-sentry in [#108168](https://github.com/getsentry/sentry/pull/108168)
- Move NUM_DESKTOP_COLS constant to avoid circular dependancy by @edwardgou-sentry in [#108163](https://github.com/getsentry/sentry/pull/108163)
- Exclude is_starred_transaction from explore URLs by @DominikB2014 in [#108126](https://github.com/getsentry/sentry/pull/108126)
- Fix gaps and errors in Mobile Vitals Dashboards by @gggritso in [#108033](https://github.com/getsentry/sentry/pull/108033)
- Use equations for frontend overview table and fix equation field rendering by @DominikB2014 in [#108045](https://github.com/getsentry/sentry/pull/108045)
- Add missing attribute in widget library definition by @gggritso in [#108046](https://github.com/getsentry/sentry/pull/108046)
- Fix default filters for web vitals prebuilt dashboard by @edwardgou-sentry in [#107950](https://github.com/getsentry/sentry/pull/107950)
- Update number suffixes to uppercase (K, M, B) by @nikkikapadia in [#107878](https://github.com/getsentry/sentry/pull/107878)
- Handle empty widget data gracefully instead of throwing by @DominikB2014 in [#107784](https://github.com/getsentry/sentry/pull/107784)
- Fix system activity avatar sizing and dark mode by @edwardgou-sentry in [#107598](https://github.com/getsentry/sentry/pull/107598)
- Fix slideout panels in page summary not filtering based on global filter on transaction by @edwardgou-sentry in [#107560](https://github.com/getsentry/sentry/pull/107560)
- Bring selected option to top of visualize dropdown by @nikkikapadia in [#107355](https://github.com/getsentry/sentry/pull/107355)
- Backend overview should only show transactions by @DominikB2014 in [#107541](https://github.com/getsentry/sentry/pull/107541)
- Respect fieldMeta overrides for timeseries widget types by @DominikB2014 in [#107524](https://github.com/getsentry/sentry/pull/107524)
- Query limit not being applied on releases dataset by @DominikB2014 in [#107505](https://github.com/getsentry/sentry/pull/107505)
- Show first and last category labels on categorical bar charts by @gggritso in [#107448](https://github.com/getsentry/sentry/pull/107448)
- Fixes transaction field renderer overwriting linked dashboard config by @edwardgou-sentry in [#107416](https://github.com/getsentry/sentry/pull/107416)
- Dashboard remounts on url changes by @DominikB2014 in [#107346](https://github.com/getsentry/sentry/pull/107346)
- Revert legend icons from checkmarks to circles by @gggritso in [#107297](https://github.com/getsentry/sentry/pull/107297)
- Mobile session health should show crash free rate by @DominikB2014 in [#107271](https://github.com/getsentry/sentry/pull/107271)
- Open in X should allow for My Projects selection by @narsaynorath in [#107162](https://github.com/getsentry/sentry/pull/107162)
- Select the first supported display type if unsupported by @trevor-e in [#107125](https://github.com/getsentry/sentry/pull/107125)
- Always auto-increment dashboard titles on conflict by @gggritso in [#107023](https://github.com/getsentry/sentry/pull/107023)
- Add message to logs count aggregate default by @narsaynorath in [#107094](https://github.com/getsentry/sentry/pull/107094)
- Create widget queries for new mobile app size hooks by @trevor-e in [#107128](https://github.com/getsentry/sentry/pull/107128)
- Ensure tracemetrics-enabled flag applies to dataset by @narsaynorath in [#107100](https://github.com/getsentry/sentry/pull/107100)
- Trace metrics not grouping by @DominikB2014 in [#106867](https://github.com/getsentry/sentry/pull/106867)
- Bump echarts-for-react to fix legend event listeners by @gggritso in [#106678](https://github.com/getsentry/sentry/pull/106678)
- Properly read type and unit from response for spans by @narsaynorath in [#106572](https://github.com/getsentry/sentry/pull/106572)
- Simplify deprecated transactions dataset option by @gggritso in [#106227](https://github.com/getsentry/sentry/pull/106227)
- Fix dashboard widget crosshair overlay synchronization by @gggritso in [#106336](https://github.com/getsentry/sentry/pull/106336)
- Clear message when dataset doesnt support >90 days by @DominikB2014 in [#106534](https://github.com/getsentry/sentry/pull/106534)
- Update dashboard selects to use new TypeBadge by @nsdeschenes in [#106376](https://github.com/getsentry/sentry/pull/106376)
- Check query ID before moving out of loading state by @narsaynorath in [#106449](https://github.com/getsentry/sentry/pull/106449)

#### Data Forwarding

- Handle datetime serialization in SQS data forwarder by @sentry in [#107455](https://github.com/getsentry/sentry/pull/107455)
- Disable CTAs for users without org:write permission by @leeandher in [#107000](https://github.com/getsentry/sentry/pull/107000)

#### Eap

- Handle rate limits from rpc by @wmak in [#107342](https://github.com/getsentry/sentry/pull/107342)
- Explicitly check for None in search operation resolution by @Zylphrex in [#107272](https://github.com/getsentry/sentry/pull/107272)
- Include trace_filters in top events timeseries queries by @volokluev in [#107256](https://github.com/getsentry/sentry/pull/107256)
- Default is_eap to True in test utilities by @phacops in [#106943](https://github.com/getsentry/sentry/pull/106943)
- Insert bool values correctly in tests by @phacops in [#106935](https://github.com/getsentry/sentry/pull/106935)

#### Explore

- Use hasOwn to avoid checking constructor by @narsaynorath in [#108268](https://github.com/getsentry/sentry/pull/108268)
- Use unique keys for column editor by @nsdeschenes in [#108136](https://github.com/getsentry/sentry/pull/108136)
- Prevent duplicate history entries in spans explore by @edwardgou-sentry in [#107644](https://github.com/getsentry/sentry/pull/107644)
- Copy changes for saving widget, monitor, query by @narsaynorath in [#107251](https://github.com/getsentry/sentry/pull/107251)

#### Explorer

- Fix mobile styles by @roaga in [#107603](https://github.com/getsentry/sentry/pull/107603)
- Add org id to update endpoint request by @roaga in [#107071](https://github.com/getsentry/sentry/pull/107071)

#### Form

- Auto-save for switch field by @TkDodo in [#108222](https://github.com/getsentry/sentry/pull/108222)
- Stabilize the SelectIndicatorsContainer component by @TkDodo in [#108214](https://github.com/getsentry/sentry/pull/108214)

#### Forms

- Improve validation error display in uptime and cron monitor forms by @jaydgoss in [#107650](https://github.com/getsentry/sentry/pull/107650)
- Make multiline field utilities safe for undo actions by @scttcper in [#106983](https://github.com/getsentry/sentry/pull/106983)

#### Github Copilot

- Poll Copilot agents in Explorer autofix path by @JoshFerge in [#107759](https://github.com/getsentry/sentry/pull/107759)
- GET task status returns unwrapped task by @JoshFerge in [#107730](https://github.com/getsentry/sentry/pull/107730)
- Update models to match current API response structure by @JoshFerge in [#107648](https://github.com/getsentry/sentry/pull/107648)

#### Grouping

- Remove mechanism type check for RxJava exception detection by @romtsn in [#107634](https://github.com/getsentry/sentry/pull/107634)
- Prevent DiagnosticCoroutineContextException from determining issue title by @romtsn in [#107224](https://github.com/getsentry/sentry/pull/107224)
- Always check both exception and threads for stacktrace by @cvxluo in [#107189](https://github.com/getsentry/sentry/pull/107189)

#### Infra

- Fix bug with changed file detection by @rbro112 in [#106807](https://github.com/getsentry/sentry/pull/106807)
- Fix config issue for selective testing by @rbro112 in [#106686](https://github.com/getsentry/sentry/pull/106686)

#### Insights

- Fix wrong render order in backend overview page by @DominikB2014 in [#107972](https://github.com/getsentry/sentry/pull/107972)
- Fix user misery bar chart by @scttcper in [#106468](https://github.com/getsentry/sentry/pull/106468)
- Queries module system selector should match table by @DominikB2014 in [#106443](https://github.com/getsentry/sentry/pull/106443)

#### Issue Details

- Prevent unnecessary refetch when changing time range on specific event by @malwilley in [#107282](https://github.com/getsentry/sentry/pull/107282)
- Show Seer tour copy only when Seer is available by @jaydgoss in [#107069](https://github.com/getsentry/sentry/pull/107069)

#### Issues

- Check hideAiFeatures flag in title gen by @scttcper in [#108147](https://github.com/getsentry/sentry/pull/108147)
- Allow `org:read` for issue view title generation by @scttcper in [#108086](https://github.com/getsentry/sentry/pull/108086)
- Use background color on project icons by @scttcper in [#107913](https://github.com/getsentry/sentry/pull/107913)
- Assert user.id is not None before ORM filter by @JoshFerge in [#107744](https://github.com/getsentry/sentry/pull/107744)
- Disable Export All CSV option without discover-query feature by @leeandher in [#106363](https://github.com/getsentry/sentry/pull/106363)

#### Lint

- Address `theme.tokens.border` violations by @natemoo-re in [#107457](https://github.com/getsentry/sentry/pull/107457)
- Address `theme.tokens.background` violations by @natemoo-re in [#107451](https://github.com/getsentry/sentry/pull/107451)
- Expand matches, skip custom properties by @natemoo-re in [#107519](https://github.com/getsentry/sentry/pull/107519)
- Address `theme.tokens.content` violations by @natemoo-re in [#107314](https://github.com/getsentry/sentry/pull/107314)

#### Logs

- Only show Set Up Logs button when applicable by @narsaynorath in [#108048](https://github.com/getsentry/sentry/pull/108048)
- Convert count() to count(message) when opening in explore by @narsaynorath in [#107012](https://github.com/getsentry/sentry/pull/107012)

#### Mail

- Apply enhanced privacy rules to activity notification emails by @wedamija in [#108177](https://github.com/getsentry/sentry/pull/108177)
- Sanitize user display names in invite and integration request emails by @wedamija in [#108165](https://github.com/getsentry/sentry/pull/108165)
- Sanitize user display names in team access request emails by @wedamija in [#108154](https://github.com/getsentry/sentry/pull/108154)

#### Notifications

- Use plural form for QUOTA_SIZE_ANALYSIS enum value by @dashed in [#107450](https://github.com/getsentry/sentry/pull/107450)
- Fix Size Analysis feature flag filter typo by @dashed in [#107418](https://github.com/getsentry/sentry/pull/107418)

#### Objectstore

- Workaround read timeouts by @jan-auer in [#108112](https://github.com/getsentry/sentry/pull/108112)
- Fix proxy in siloed mode by @lcian in [#106172](https://github.com/getsentry/sentry/pull/106172)

#### Onboarding

- Await project deletion before navigating back by @billyvg in [#108155](https://github.com/getsentry/sentry/pull/108155)
- Restore opacity on PageCorners container by @jaydgoss in [#107890](https://github.com/getsentry/sentry/pull/107890)
- Fix iOS Safari scroll position on welcome screen by @jaydgoss in [#107539](https://github.com/getsentry/sentry/pull/107539)
- Correct "capture first error" onboarding link by @scttcper in [#107706](https://github.com/getsentry/sentry/pull/107706)
- Platform Xamarin does not support logs by @Flash0ver in [#107612](https://github.com/getsentry/sentry/pull/107612)

#### Preprod

- Use project id instead of slug in test assertion by @chromy in [#108232](https://github.com/getsentry/sentry/pull/108232)
- Fix project slug/id confusion in a few places by @chromy in [#107491](https://github.com/getsentry/sentry/pull/107491)
- Restrict attributes available on mobile builds page by @trevor-e in [#107514](https://github.com/getsentry/sentry/pull/107514)
- Add back attributes to featureFilter by @chromy in [#107337](https://github.com/getsentry/sentry/pull/107337)
- Settings button redirect by @chromy in [#107488](https://github.com/getsentry/sentry/pull/107488)
- Add unique constraint to commit comparison by @trevor-e in [#107371](https://github.com/getsentry/sentry/pull/107371)
- Remove redundant "apps analyzed" text when size checks … by @mtopo27 in [#107292](https://github.com/getsentry/sentry/pull/107292)
- Remove ineffective retry logic for size status checks by @trevor-e in [#107303](https://github.com/getsentry/sentry/pull/107303)
- Register snapshot models with Django to resolve migration drift by @NicoHinderling in [#107302](https://github.com/getsentry/sentry/pull/107302)
- Use trace_id for EAP data deletion by @sentry in [#107289](https://github.com/getsentry/sentry/pull/107289)
- Handle missing diff_type in treemap tooltip by @trevor-e in [#107300](https://github.com/getsentry/sentry/pull/107300)
- Fix git metadata banner margin on small screens by @mtopo27 in [#107270](https://github.com/getsentry/sentry/pull/107270)
- Update quota exceeded alert copy and link by @mtopo27 in [#107279](https://github.com/getsentry/sentry/pull/107279)
- Fix URL length issue when "All Projects" selected in Mobile Builds by @runningcode in [#107243](https://github.com/getsentry/sentry/pull/107243)
- Add NOT_STARTED state to frontend by @chromy in [#107145](https://github.com/getsentry/sentry/pull/107145)
- Convert release_version to structured query for builds endpoint by @runningcode in [#107157](https://github.com/getsentry/sentry/pull/107157)
- Disable Save Rule button when no unsaved changes by @mtopo27 in [#107176](https://github.com/getsentry/sentry/pull/107176)
- Convert settings FF preprod-issues -> preprod-frontend-routes by @chromy in [#107156](https://github.com/getsentry/sentry/pull/107156)
- Remove organization slug from legacy URL redirects by @runningcode in [#106970](https://github.com/getsentry/sentry/pull/106970)
- Update SearchType enum on backend by @chromy in [#106994](https://github.com/getsentry/sentry/pull/106994)
- Filter insight diff tabs by status by @mtopo27 in [#106900](https://github.com/getsentry/sentry/pull/106900)
- Update build attributes to match search bar by @chromy in [#106960](https://github.com/getsentry/sentry/pull/106960)
- Fix search project selection by @chromy in [#106951](https://github.com/getsentry/sentry/pull/106951)
- Hide the discover button for mobile app size by @trevor-e in [#106908](https://github.com/getsentry/sentry/pull/106908)
- Temporarily hardcode to neutral status checks by @trevor-e in [#106699](https://github.com/getsentry/sentry/pull/106699)
- Show correct message on no size analysis by @chromy in [#106705](https://github.com/getsentry/sentry/pull/106705)
- Use correct write keys for options by @chromy in [#106691](https://github.com/getsentry/sentry/pull/106691)
- Use get_or_create to avoid duplicate comparison IntegrityError by @trevor-e in [#106490](https://github.com/getsentry/sentry/pull/106490)
- Correctly attribute rate limiting errors by @trevor-e in [#106580](https://github.com/getsentry/sentry/pull/106580)
- Add status check retry delay by @trevor-e in [#106481](https://github.com/getsentry/sentry/pull/106481)
- Fix settings api bug for status checks by @NicoHinderling in [#106480](https://github.com/getsentry/sentry/pull/106480)

#### Releases

- Return datetime from get_oldest_health_data_for_releases by @scttcper in [#106997](https://github.com/getsentry/sentry/pull/106997)
- Exclude archived releases from "Resolve in Next Release" by @leeandher in [#106674](https://github.com/getsentry/sentry/pull/106674)
- Add null checks for ECharts options in drawer by @seer-by-sentry in [#106831](https://github.com/getsentry/sentry/pull/106831)
- Use mobile_app_info for preprod build count query by @cameroncooke in [#106527](https://github.com/getsentry/sentry/pull/106527)

#### Replay

- Allow replay access to org tokens, superusers & SentryApps with granular permissions by @shellmayr in [#107325](https://github.com/getsentry/sentry/pull/107325)
- Fix AI summary loading message randomization by @billyvg in [#106723](https://github.com/getsentry/sentry/pull/106723)

#### Scraps

- Allow rendering Text as <time> by @TkDodo in [#108207](https://github.com/getsentry/sentry/pull/108207)
- Align leadingItems in compactSelect with check box/icon by @TkDodo in [#106972](https://github.com/getsentry/sentry/pull/106972)

#### Seer

- Clarify Seer error message key in logs by @sentry in [#108120](https://github.com/getsentry/sentry/pull/108120)
- SeerOperator fixes for explorer-autofix compatibility by @leeandher in [#108271](https://github.com/getsentry/sentry/pull/108271)
- Fix Seer onboarding so that users get to the Code-Review step first when its needed by @ryan953 in [#108183](https://github.com/getsentry/sentry/pull/108183)
- Fix seer onboarding to show the final summary step as the user progresses through the wizard by @ryan953 in [#108164](https://github.com/getsentry/sentry/pull/108164)
- Fix label on Settings > Seer > Projects table to align with details page by @ryan953 in [#108050](https://github.com/getsentry/sentry/pull/108050)
- Use provider.name for consistency by @billyvg in [#107686](https://github.com/getsentry/sentry/pull/107686)
- Allow any seer-using org to get to the repo list page by @ryan953 in [#107818](https://github.com/getsentry/sentry/pull/107818)
- Respect enable_seer_enhanced_alerts option in Slack entrypoint by @leeandher in [#107624](https://github.com/getsentry/sentry/pull/107624)
- Fix links to seer settings by @scttcper in [#107707](https://github.com/getsentry/sentry/pull/107707)
- Add aggregate field to anomaly detection api by @sehr-m in [#107649](https://github.com/getsentry/sentry/pull/107649)
- RCA Onboarding step broken due to provider by @billyvg in [#107680](https://github.com/getsentry/sentry/pull/107680)
- Various improvements to trace explorer setup endpoint by @JoshFerge in [#107244](https://github.com/getsentry/sentry/pull/107244)
- Various improvements to anomaly detection endpoint by @JoshFerge in [#107242](https://github.com/getsentry/sentry/pull/107242)
- Show repo owner/name in the list of seer connected repos by @ryan953 in [#107177](https://github.com/getsentry/sentry/pull/107177)
- Remove empty Project column in Seer Settings > Repos by @ryan953 in [#107134](https://github.com/getsentry/sentry/pull/107134)
- Settings was not splitting repo name and repo owner properly by @ryan953 in [#107112](https://github.com/getsentry/sentry/pull/107112)
- Fix link to seer code-review docs by @ryan953 in [#106683](https://github.com/getsentry/sentry/pull/106683)
- Update showNewSeer conditions to count the `code-review-beta` cohort as legacy orgs by @ryan953 in [#106425](https://github.com/getsentry/sentry/pull/106425)
- Validate project permissions in trace explorer AI query by @oioki in [#106432](https://github.com/getsentry/sentry/pull/106432)

#### Settings

- Add tooltip to explain Unknown Provider on repos page by @gaprl in [#107816](https://github.com/getsentry/sentry/pull/107816)
- Prevent overflow from OpenTelementry yaml by @scttcper in [#107804](https://github.com/getsentry/sentry/pull/107804)
- Update team modal design/copy by @scttcper in [#107547](https://github.com/getsentry/sentry/pull/107547)
- When an org has a disabled github integration we incorrectly detected it as being setup by @ryan953 in [#106910](https://github.com/getsentry/sentry/pull/106910)
- Handle stats API failure on Data Forwarding page by @leeandher in [#106372](https://github.com/getsentry/sentry/pull/106372)

#### Span Buffer

- Add observability metrics to EVALSHA by @evanh in [#106538](https://github.com/getsentry/sentry/pull/106538)
- Add debug logging option for span buffer subsegments by @lvthanh03 in [#106539](https://github.com/getsentry/sentry/pull/106539)

#### Spans Migration

- Ensure validation of extrapolation mode on alert updates by @nikkikapadia in [#107678](https://github.com/getsentry/sentry/pull/107678)
- Add validation to not update alerts to transactions or generic_metrics by @nikkikapadia in [#107626](https://github.com/getsentry/sentry/pull/107626)
- Map span.module to span.category by @nikkikapadia in [#107509](https://github.com/getsentry/sentry/pull/107509)
- Replace `parse_function` with match and parse_arguments by @nikkikapadia in [#107421](https://github.com/getsentry/sentry/pull/107421)
- Add spm translation and decimal apdex by @nikkikapadia in [#107291](https://github.com/getsentry/sentry/pull/107291)
- Add event type check in migration function by @nikkikapadia in [#106537](https://github.com/getsentry/sentry/pull/106537)

#### Stories

- Shadow by @natemoo-re in [#107511](https://github.com/getsentry/sentry/pull/107511)
- Shorten component category labels by @natemoo-re in [#107366](https://github.com/getsentry/sentry/pull/107366)

#### Tests

- Fix test pollution in CheckScopeTransactionTest by @joshuarli in [#108284](https://github.com/getsentry/sentry/pull/108284)
- Prevent tests from producing real Kafka messages to taskbroker by @dashed in [#107729](https://github.com/getsentry/sentry/pull/107729)
- Remove incorrect message.parameter.0 expectation by @phacops in [#107339](https://github.com/getsentry/sentry/pull/107339)
- Add type annotations for mock_audit_logger parameters by @JoshFerge in [#106849](https://github.com/getsentry/sentry/pull/106849)
- Update spans fields stats test for lastSeen field by @phacops in [#106731](https://github.com/getsentry/sentry/pull/106731)
- Fix boolean conversion in scalar_to_any_value by @phacops in [#106677](https://github.com/getsentry/sentry/pull/106677)
- Use `assert_any_call` to address task severity flake by @kenzoengineer in [#106623](https://github.com/getsentry/sentry/pull/106623)
- RenderWithOnboardingLayout utility shouldn't have a fix platformKey by @priscilawebdev in [#106557](https://github.com/getsentry/sentry/pull/106557)

#### Top Issues

- Fix TopIssuesDrawer unconstrained width on long error messages in stacktrace by @yuvmen in [#106332](https://github.com/getsentry/sentry/pull/106332)
- Swap Title and Subtitle in Drawer to match Cluster Card by @yuvmen in [#106333](https://github.com/getsentry/sentry/pull/106333)

#### Trace Waterfall

- Span name panel was not taking into account scroll wheel by @bcoe in [#108347](https://github.com/getsentry/sentry/pull/108347)
- Add cycle protections by @nsdeschenes in [#106888](https://github.com/getsentry/sentry/pull/106888)
- Update chevron directions by @nsdeschenes in [#106952](https://github.com/getsentry/sentry/pull/106952)
- Only check direct children by @nsdeschenes in [#106874](https://github.com/getsentry/sentry/pull/106874)

#### Tracemetrics

- Add menu title to show loader by @nsdeschenes in [#107586](https://github.com/getsentry/sentry/pull/107586)
- Metric Selector should pass along environment filter by @narsaynorath in [#107440](https://github.com/getsentry/sentry/pull/107440)
- Align confidence footer with logs clarity by @narsaynorath in [#107253](https://github.com/getsentry/sentry/pull/107253)
- Group by selector should allow clearing by @narsaynorath in [#107250](https://github.com/getsentry/sentry/pull/107250)
- Switch to Aggregates mode when a group by is added by @narsaynorath in [#107179](https://github.com/getsentry/sentry/pull/107179)
- Add timestamp to filterable fields by @narsaynorath in [#106456](https://github.com/getsentry/sentry/pull/106456)

#### Typing

- Use cast for get_field return type in test_hybrid_cloud by @JoshFerge in [#107793](https://github.com/getsentry/sentry/pull/107793)
- Rename detector_id annotation to avoid shadowing model field by @JoshFerge in [#107791](https://github.com/getsentry/sentry/pull/107791)
- Fix order_by column type handling in base_query_set by @JoshFerge in [#107790](https://github.com/getsentry/sentry/pull/107790)
- Move sentry.workflow_engine to strict mypy by @kcons in [#107545](https://github.com/getsentry/sentry/pull/107545)
- Add missing type annotations to tests/sentry/users by @thetruecpaul in [#106817](https://github.com/getsentry/sentry/pull/106817)
- Type tests.sentry.tempest by @thetruecpaul in [#106795](https://github.com/getsentry/sentry/pull/106795)

#### Ui

- Wait for member store before id-based fetches by @scttcper in [#108091](https://github.com/getsentry/sentry/pull/108091)
- Disallow body scroll while drawer is open by @TkDodo in [#108027](https://github.com/getsentry/sentry/pull/108027)
- Add org slug to settings routes by @scttcper in [#107722](https://github.com/getsentry/sentry/pull/107722)
- Wrap stacktrace link setup button on small screens by @scttcper in [#107694](https://github.com/getsentry/sentry/pull/107694)
- Display specific API error messages for assignment failures by @geoffg-sentry in [#107335](https://github.com/getsentry/sentry/pull/107335)
- Streamline colors for groupStatusChart by @TkDodo in [#107044](https://github.com/getsentry/sentry/pull/107044)
- Delay checking frontend version for 10 minutes by @scttcper in [#107016](https://github.com/getsentry/sentry/pull/107016)

#### Uptime

- Remove invalid select_related on ManyToManyField by @JoshFerge in [#107738](https://github.com/getsentry/sentry/pull/107738)
- Allow disabled uptime monitors to be accessed via project endpoint by @jaydgoss in [#107550](https://github.com/getsentry/sentry/pull/107550)
- Pass full subscription object to validator by @klochek in [#107557](https://github.com/getsentry/sentry/pull/107557)
- Add failsafe to make sure we properly sync `capture_response_on_failure` by @wedamija in [#107380](https://github.com/getsentry/sentry/pull/107380)
- Backfill delete bad uptime checker assertion values by @klochek in [#107359](https://github.com/getsentry/sentry/pull/107359)
- Preserve null assertions when editing monitors with feature flag off by @jaydgoss in [#107365](https://github.com/getsentry/sentry/pull/107365)
- Handle overflow for long monitor names by @jaydgoss in [#107116](https://github.com/getsentry/sentry/pull/107116)
- Use the first uptime region to run preview checks by @klochek in [#106797](https://github.com/getsentry/sentry/pull/106797)
- Fix cURL snippet background leaking in alert form by @jaydgoss in [#106722](https://github.com/getsentry/sentry/pull/106722)
- Allow typing intermediate values in status code input by @jaydgoss in [#106487](https://github.com/getsentry/sentry/pull/106487)
- Fix bug where the data conditions for an uptime monitor aren't created correctly via the new ui by @wedamija in [#106605](https://github.com/getsentry/sentry/pull/106605)
- Validator should not set null for body and related by @klochek in [#106470](https://github.com/getsentry/sentry/pull/106470)
- Checker_api should not set null for body and related by @klochek in [#106460](https://github.com/getsentry/sentry/pull/106460)
- Make verification section smaller in uptime monitor editor by @jaydgoss in [#106402](https://github.com/getsentry/sentry/pull/106402)

#### Users

- Use project_id for HybridCloudForeignKey filter by @JoshFerge in [#107746](https://github.com/getsentry/sentry/pull/107746)
- Assert user.id is not None before ORM get by @JoshFerge in [#107745](https://github.com/getsentry/sentry/pull/107745)

#### Workflow Engine

- Remove unused has_reappeared from workflow event data by @kcons in [#108082](https://github.com/getsentry/sentry/pull/108082)
- Add a cache for Workflows to reduce DB load by @saponifi3d in [#106925](https://github.com/getsentry/sentry/pull/106925)

#### Other

- (agent) Parse JSON-stringified AI message content by @priscilawebdev in [#107588](https://github.com/getsentry/sentry/pull/107588)
- (ai-drawer) Accomodate pretty/raw button in json viewer component by @priscilawebdev in [#106549](https://github.com/getsentry/sentry/pull/106549)
- (ai-trace) List disappears on breakpoint change by @ArthurKnaus in [#106548](https://github.com/getsentry/sentry/pull/106548)
- (api) Fix rate units not populating for equation fields by @DominikB2014 in [#108043](https://github.com/getsentry/sentry/pull/108043)
- (api docs) Fix typo in API docs example by @shashjar in [#108201](https://github.com/getsentry/sentry/pull/108201)
- (attribute-breakdown) Pass query instead of grabbing from context by @nsdeschenes in [#108044](https://github.com/getsentry/sentry/pull/108044)
- (attributes) Set allowWildcards to false for project by @nsdeschenes in [#108053](https://github.com/getsentry/sentry/pull/108053)
- (audit_log) Correct DetectorWorkflow audit log data by @seer-by-sentry in [#106382](https://github.com/getsentry/sentry/pull/106382)
- (automation) Don't run automation on issues older than 2 weeks by @Mihir-Mavalankar in [#107465](https://github.com/getsentry/sentry/pull/107465)
- (backend-overview) Render Laravel page before other platformized pages by @DominikB2014 in [#108219](https://github.com/getsentry/sentry/pull/108219)
- (backup) Reorder imported models based on current canonical import order by @kcons in [#106634](https://github.com/getsentry/sentry/pull/106634)
- (bug-prediction) Accept unprefixed provider by @kddubey in [#107884](https://github.com/getsentry/sentry/pull/107884)
- (checkout) Reactive but debounced volume sliders by @isabellaenriquez in [#106525](https://github.com/getsentry/sentry/pull/106525)
- (ci) Install uv in post_fetch for devenv ci by @joshuarli in [#108265](https://github.com/getsentry/sentry/pull/108265)
- (code review) Create repo settings even if org's default code review toggle is false by @srest2021 in [#106641](https://github.com/getsentry/sentry/pull/106641)
- (coding integration) Add short id for all cursor calls by @sehr-m in [#106988](https://github.com/getsentry/sentry/pull/106988)
- (context) Redirect the user to the right page when a project was renamed by @shashjar in [#106643](https://github.com/getsentry/sentry/pull/106643)
- (context-picker) Prevent layout shift when loading projects by @scttcper in [#107463](https://github.com/getsentry/sentry/pull/107463)
- (conversations) Fix cache pollution during project transitions by @priscilawebdev in [#107101](https://github.com/getsentry/sentry/pull/107101)
- (crons) Enable pointer events on incident indicator by @jaydgoss in [#106319](https://github.com/getsentry/sentry/pull/106319)
- (darkmode) Code snippet background color by @shellmayr in [#107397](https://github.com/getsentry/sentry/pull/107397)
- (debug) Putting debug on the same attribute breaks search by @wmak in [#107278](https://github.com/getsentry/sentry/pull/107278)
- (debug-files) Extract query param to avoid passing None to ORM filter by @JoshFerge in [#107740](https://github.com/getsentry/sentry/pull/107740)
- (deps) Address Dependabot security alerts for multiple packages by @BYK in [#107908](https://github.com/getsentry/sentry/pull/107908)
- (detector-schedule-preview) Shouldn't overlay higher z-index comp… by @Abdkhan14 in [#106753](https://github.com/getsentry/sentry/pull/106753)
- (detectors) Only render service incidents overlay on cron monitors by @jaydgoss in [#106308](https://github.com/getsentry/sentry/pull/106308)
- (devservices) Update postgres container name by @hubertdeng123 in [#107285](https://github.com/getsentry/sentry/pull/107285)
- (discover) Disable context menu for starred transaction cell by @DominikB2014 in [#107362](https://github.com/getsentry/sentry/pull/107362)
- (dynamic-sampling) Transaction management error by @shellmayr in [#108117](https://github.com/getsentry/sentry/pull/108117)
- (eap-spans) Handle None attribute with groupBy + topEvents by @DominikB2014 in [#106875](https://github.com/getsentry/sentry/pull/106875)
- (eco) Fixes typing for integration debug data, reduces page size by @GabeVillalobos in [#106472](https://github.com/getsentry/sentry/pull/106472)
- (encryption) Fix encrypted field metrics table_name tag by @vgrozdanic in [#106957](https://github.com/getsentry/sentry/pull/106957)
- (eventstream) Use an arroyo producer for eventstream by @evanh in [#104763](https://github.com/getsentry/sentry/pull/104763)
- (frontend) Include react config for our pipeline asset response by @trevor-e in [#108157](https://github.com/getsentry/sentry/pull/108157)
- (github) Allow installing orphaned integrations from multi-org dropdown by @cathteng in [#107130](https://github.com/getsentry/sentry/pull/107130)
- (hybridcloud) Use distribution metric for webhook delivery time by @armenzg in [#108289](https://github.com/getsentry/sentry/pull/108289)
- (identities) Use GitHub logo for GitHub Copilot identity by @JoshFerge in [#107497](https://github.com/getsentry/sentry/pull/107497)
- (integrations) Filter installed repos by organization in repo listing by @leeandher in [#107677](https://github.com/getsentry/sentry/pull/107677)
- (issue owners) Allow updates when team membership is open by @lobsterkatie in [#107895](https://github.com/getsentry/sentry/pull/107895)
- (issue-ownership) Stop codeowners matching suffixes by @cvxluo in [#104398](https://github.com/getsentry/sentry/pull/104398)
- (issue-stream) Apply correct styles to waiting for error message by @priscilawebdev in [#107839](https://github.com/getsentry/sentry/pull/107839)
- (jira) Add project search to issue sync config by @cathteng in [#107865](https://github.com/getsentry/sentry/pull/107865)
- (killswitches) Always emit a metric if there is a match by @untitaker in [#107068](https://github.com/getsentry/sentry/pull/107068)
- (llm-detection, seer-rpc) Return 429 on Snuba rate limit for Seer retry by @nora-shap in [#107446](https://github.com/getsentry/sentry/pull/107446)
- (llm-detector) Add `org_slug` to Seer request by @roggenkemper in [#107630](https://github.com/getsentry/sentry/pull/107630)
- (metric alerts) Separate SubscriptionProcessor fetch phase from evaluation by @kcons in [#106229](https://github.com/getsentry/sentry/pull/106229)
- (middleware) Skip OAuth endpoints in AI agent middleware by @dcramer in [#106711](https://github.com/getsentry/sentry/pull/106711)
- (monitors) Typo Confirgure -> Configure by @chromy in [#108013](https://github.com/getsentry/sentry/pull/108013)
- (perf) Avoid extra queries in MonitorEnvironmentSerializer by @kcons in [#106428](https://github.com/getsentry/sentry/pull/106428)
- (perf-cli) Pass detector-specific settings in `sentry performance` commands by @roggenkemper in [#108074](https://github.com/getsentry/sentry/pull/108074)
- (prevent) Improve redirects to pages that exist wrt the Prevent main nav button by @ryan953 in [#106489](https://github.com/getsentry/sentry/pull/106489)
- (profiling) Fix pluralization of "samples" in flamegraph tooltip by @noahsmartin in [#106381](https://github.com/getsentry/sentry/pull/106381)
- (project) Make org update and team cleanup atomic during project transfer by @yuvmen in [#108153](https://github.com/getsentry/sentry/pull/108153)
- (prompts) Remove redundant organization_id from GET query params by @dcramer in [#106413](https://github.com/getsentry/sentry/pull/106413)
- (redis) Cast Redis version to string before parsing by @shashjar in [#107690](https://github.com/getsentry/sentry/pull/107690)
- (relay) Add back sessions EAP rollout rate by @noahsmartin in [#108079](https://github.com/getsentry/sentry/pull/108079)
- (replay-summary) Pass org and proj id in state and delete requests by @aliu39 in [#107089](https://github.com/getsentry/sentry/pull/107089)
- (sdk) Let the SDK instantiate MultiplexingTransport so that dsn is setup correctly by @sl0thentr0py in [#107923](https://github.com/getsentry/sentry/pull/107923)
- (search) Handle currency as numeric by @nsdeschenes in [#108224](https://github.com/getsentry/sentry/pull/108224)
- (searchQueryBuilder) Revert memo merge refs by @scttcper in [#107206](https://github.com/getsentry/sentry/pull/107206)
- (security) IDOR in PromptsActivityEndpoint GET - scope project by organization by @dcramer in [#104990](https://github.com/getsentry/sentry/pull/104990)
- (seer-explorer) Move seer-explorer FF check to endpoints by @vgrozdanic in [#108108](https://github.com/getsentry/sentry/pull/108108)
- (seer-slack) Allow clicks on existing runs to handle gracefully by @leeandher in [#108175](https://github.com/getsentry/sentry/pull/108175)
- (sentry-apps) Prevent race condition on service hook sentry app rpc by @leeandher in [#106526](https://github.com/getsentry/sentry/pull/106526)
- (slack-seer) Simplify blocks, remove skipping steps and excess checks by @leeandher in [#108063](https://github.com/getsentry/sentry/pull/108063)
- (snuba_rpc) Fix error handling for non-protofbuf responses for Snuba RPC by @yuvmen in [#107995](https://github.com/getsentry/sentry/pull/107995)
- (spans) Add more observability for SpanFlusher.main timeout by @lvthanh03 in [#106825](https://github.com/getsentry/sentry/pull/106825)
- (spans,logs) Adjust collapse buttons placement by @JPeer264 in [#108022](https://github.com/getsentry/sentry/pull/108022)
- (storybook) Rendering without type-loader by @TkDodo in [#108204](https://github.com/getsentry/sentry/pull/108204)
- (tags) Handle status tag by @wmak in [#106056](https://github.com/getsentry/sentry/pull/106056)
- (theme) Dark chart palette by @natemoo-re in [#106903](https://github.com/getsentry/sentry/pull/106903)
- (tokens) Add missing `as` prop by @natemoo-re in [#107712](https://github.com/getsentry/sentry/pull/107712)
- (trace) Improve trace performance by @wmak in [#107358](https://github.com/getsentry/sentry/pull/107358)
- (trace-attrs) Assert organization_id is not None before ORM filter by @JoshFerge in [#107741](https://github.com/getsentry/sentry/pull/107741)
- (trace-explorer) Handle empty baseline cohort in ranked attributes API by @seer-by-sentry in [#106483](https://github.com/getsentry/sentry/pull/106483)
- (trace-items) Handle aliases by @wmak in [#106607](https://github.com/getsentry/sentry/pull/106607)
- (traces) Use span.name instead of transaction by @wmak in [#107543](https://github.com/getsentry/sentry/pull/107543)
- (type-coverage) Larger buffer & better summary by @TkDodo in [#106862](https://github.com/getsentry/sentry/pull/106862)
- (unmerge) Explicitly set `first_seen` values for each group-environment pair by @shashjar in [#107907](https://github.com/getsentry/sentry/pull/107907)
- (uptime-ongoing-issues) Issue list errors when check-in timeline is zoomed by @Abdkhan14 in [#107859](https://github.com/getsentry/sentry/pull/107859)
- (vercel) Check user_id is not None before ORM get by @JoshFerge in [#107742](https://github.com/getsentry/sentry/pull/107742)
- (vsts) Guard identity_id is not None before ORM get by @JoshFerge in [#107743](https://github.com/getsentry/sentry/pull/107743)
- (widget-builder) Prevent TypeError when sorting with equation-only yAxis by @seer-by-sentry in [#106834](https://github.com/getsentry/sentry/pull/106834)
- (widget-viewer) Release test flaky by @narsaynorath in [#107283](https://github.com/getsentry/sentry/pull/107283)
- Revert "Revert "ref(data-forwarding): Remove revamp-access feature fl… by @leeandher in [#107933](https://github.com/getsentry/sentry/pull/107933)
- Revert "Revert "ref(data-forwarding): Remove revamp-access flag by @leeandher in [#107934](https://github.com/getsentry/sentry/pull/107934)
- Improvements to seer preferences endpoints by @JoshFerge in [#107257](https://github.com/getsentry/sentry/pull/107257)
- Improve seer automation endpoint by @JoshFerge in [#107235](https://github.com/getsentry/sentry/pull/107235)
- Revert "fix(scraps): align leadingItems in compactSelect with check box/icon (#106167)" by @TkDodo in [#106889](https://github.com/getsentry/sentry/pull/106889)
- Disallow custom CSS in marked by @oioki in [#106368](https://github.com/getsentry/sentry/pull/106368)

### Documentation 📚

- (agents) Consolidate critical instructions into main AGENTS.md by @armenzg in [#106515](https://github.com/getsentry/sentry/pull/106515)
- Remove extras from installation instructions by @sentrivana in [#107492](https://github.com/getsentry/sentry/pull/107492)

### Internal Changes 🔧

#### Aci

- Remove unused RPC methods by @ceorourke in [#108256](https://github.com/getsentry/sentry/pull/108256)
- Update sentry app installation outbox receiver's method call by @ceorourke in [#108152](https://github.com/getsentry/sentry/pull/108152)
- Add 'new' RPC methods for updating action on sentry app installation deletion by @ceorourke in [#108089](https://github.com/getsentry/sentry/pull/108089)
- Allow metric issue types to be enabled in the issue stream detector vis the `workflow-engine-metric-issue-ui` flag by @wedamija in [#108001](https://github.com/getsentry/sentry/pull/108001)
- Allow `MetricIssue` ui visibility to be controlled via multiple flags. by @wedamija in [#107985](https://github.com/getsentry/sentry/pull/107985)
- Remove references to SentryAppIdentifier by @ceorourke in [#107887](https://github.com/getsentry/sentry/pull/107887)
- Make sentry_app_installation_uuid optional by @ceorourke in [#107879](https://github.com/getsentry/sentry/pull/107879)
- Remove support for legacy sentry app data in Actions by @ceorourke in [#107174](https://github.com/getsentry/sentry/pull/107174)
- Unhook conditions from rules code by @mifu67 in [#107754](https://github.com/getsentry/sentry/pull/107754)
- Clean up GA'd feature flags by @cathteng in [#107739](https://github.com/getsentry/sentry/pull/107739)
- Add eventId to GroupOpenPeriodActivity serializer by @malwilley in [#107464](https://github.com/getsentry/sentry/pull/107464)
- Migration to fix fallthrough_type on email Actions by @cathteng in [#106902](https://github.com/getsentry/sentry/pull/106902)
- Search open period activity entries for event_id by @malwilley in [#107431](https://github.com/getsentry/sentry/pull/107431)
- Start recording event_id field in GroupPeriodActivity by @malwilley in [#107381](https://github.com/getsentry/sentry/pull/107381)
- Add event_id column to GroupOpenPeriodActivity model by @malwilley in [#107305](https://github.com/getsentry/sentry/pull/107305)
- Add 'beta' warning to ACI endpoints by @ceorourke in [#107008](https://github.com/getsentry/sentry/pull/107008)
- Use serializer responses as serialize response type by @ceorourke in [#106747](https://github.com/getsentry/sentry/pull/106747)
- Rename \_ensure_metric_detector by @kcons in [#106720](https://github.com/getsentry/sentry/pull/106720)
- Delete dead detector processing code by @kcons in [#106717](https://github.com/getsentry/sentry/pull/106717)
- Add feature flag for releasing metric issues by @malwilley in [#106629](https://github.com/getsentry/sentry/pull/106629)
- Default test_post_process.py to workflow engine by @cathteng in [#106598](https://github.com/getsentry/sentry/pull/106598)
- Default tests to workflow engine by @cathteng in [#106589](https://github.com/getsentry/sentry/pull/106589)
- Add back subscription processor EAP test by @ceorourke in [#105866](https://github.com/getsentry/sentry/pull/105866)
- Use rule test factory by @cathteng in [#106431](https://github.com/getsentry/sentry/pull/106431)
- Create default detectors in tests by @cathteng in [#106404](https://github.com/getsentry/sentry/pull/106404)
- Default tests to dual write by @cathteng in [#106386](https://github.com/getsentry/sentry/pull/106386)
- Make latest workflow fire queries reliably fast by @kcons in [#106400](https://github.com/getsentry/sentry/pull/106400)
- Remove unused detector workflow endpoints by @ceorourke in [#106328](https://github.com/getsentry/sentry/pull/106328)

#### Agent

- Move node onboarding to its own file & clean-up by @priscilawebdev in [#106946](https://github.com/getsentry/sentry/pull/106946)
- Create onboarding for client-side only by @priscilawebdev in [#106758](https://github.com/getsentry/sentry/pull/106758)

#### Agents

- Prefetch and load drawer independently of trace's table by @priscilawebdev in [#107663](https://github.com/getsentry/sentry/pull/107663)
- Remove ai-insights-generations-page feature flag by @priscilawebdev in [#107481](https://github.com/getsentry/sentry/pull/107481)
- Add code comment with explanations by @priscilawebdev in [#107319](https://github.com/getsentry/sentry/pull/107319)

#### Alerts

- Remove deprecatedRouteProps from metricAlertRuleDetails route by @ryan953 in [#106348](https://github.com/getsentry/sentry/pull/106348)
- Migrate issue `AlertRuleDetails` view off of `deprecatedRouteProps` by @shashjar in [#106473](https://github.com/getsentry/sentry/pull/106473)
- Migrate `AlertsContainer` and children views off of `deprecatedRouteProps` by @shashjar in [#106421](https://github.com/getsentry/sentry/pull/106421)
- Increase max rollup constants by @nikkikapadia in [#106397](https://github.com/getsentry/sentry/pull/106397)

#### Api

- Deprecate last plugin webhook endpoints by @cvxluo in [#107296](https://github.com/getsentry/sentry/pull/107296)
- Deprecate non-org-scoped accept-project-transfer endpoint by @cvxluo in [#107209](https://github.com/getsentry/sentry/pull/107209)
- Remove deprecated crossdomain.xml endpoint by @cvxluo in [#107293](https://github.com/getsentry/sentry/pull/107293)
- Deprecate non-org-scoped group external issue details endpoint by @roggenkemper in [#106791](https://github.com/getsentry/sentry/pull/106791)
- Update group-details test mock URLs to org-scoped pattern by @roggenkemper in [#106869](https://github.com/getsentry/sentry/pull/106869)
- Update group-event-details URLs to org-scoped pattern by @roggenkemper in [#106871](https://github.com/getsentry/sentry/pull/106871)
- Update group-activities test mock URLs to org-scoped pattern by @roggenkemper in [#106870](https://github.com/getsentry/sentry/pull/106870)
- Deprecate non-org-scoped group external issues endpoint by @roggenkemper in [#106792](https://github.com/getsentry/sentry/pull/106792)
- Deprecate non-org-scoped group autofix endpoint by @roggenkemper in [#106668](https://github.com/getsentry/sentry/pull/106668)
- Deprecate non-org-scoped group autofix update endpoint by @roggenkemper in [#106666](https://github.com/getsentry/sentry/pull/106666)
- Deprecate legacy autofix setup endpoint URL by @roggenkemper in [#106663](https://github.com/getsentry/sentry/pull/106663)
- Deprecate legacy ai summary endpoint URL by @roggenkemper in [#106662](https://github.com/getsentry/sentry/pull/106662)
- Deprecate plugin endpoints by @roggenkemper in [#106601](https://github.com/getsentry/sentry/pull/106601)
- Deprecate non-org-scoped group integration details endpoint by @roggenkemper in [#106789](https://github.com/getsentry/sentry/pull/106789)
- Deprecate non-org-scoped group integrations endpoint by @roggenkemper in [#106790](https://github.com/getsentry/sentry/pull/106790)
- Deprecate legacy group-note-details endpoint URL by @roggenkemper in [#106608](https://github.com/getsentry/sentry/pull/106608)
- Deprecate non-org-scoped group-similar endpoint by @roggenkemper in [#106684](https://github.com/getsentry/sentry/pull/106684)
- Deprecate non-org-scoped group-attachments endpoint by @roggenkemper in [#106687](https://github.com/getsentry/sentry/pull/106687)
- Deprecate non-org-scoped group-user-reports endpoint by @roggenkemper in [#106690](https://github.com/getsentry/sentry/pull/106690)
- Deprecate non-org-scoped group reprocessing endpoint by @roggenkemper in [#106693](https://github.com/getsentry/sentry/pull/106693)
- Deprecate non-org-scoped group hashes endpoint by @roggenkemper in [#106697](https://github.com/getsentry/sentry/pull/106697)
- Update frontend test to use org-scoped similar endpoint URLs by @roggenkemper in [#106685](https://github.com/getsentry/sentry/pull/106685)
- Update group hashes mock URLs to org-scoped by @roggenkemper in [#106696](https://github.com/getsentry/sentry/pull/106696)
- Deprecate non-org-scoped group-current-release endpoint by @roggenkemper in [#106694](https://github.com/getsentry/sentry/pull/106694)
- Deprecate legacy group-notes endpoint URL by @roggenkemper in [#106609](https://github.com/getsentry/sentry/pull/106609)
- Deprecate non-org-scoped similar-issues-embeddings endpoint by @roggenkemper in [#106673](https://github.com/getsentry/sentry/pull/106673)
- Update suspect flags/tags tests to use org-scoped URLs by @roggenkemper in [#106587](https://github.com/getsentry/sentry/pull/106587)

#### Autofix

- Add BQ analytics events for the automation tasks by @Mihir-Mavalankar in [#107716](https://github.com/getsentry/sentry/pull/107716)
- Use low intelligence level for autofix by @Zylphrex in [#107620](https://github.com/getsentry/sentry/pull/107620)
- Use low intelligence level for autofix by default by @Zylphrex in [#107619](https://github.com/getsentry/sentry/pull/107619)
- Pass prompt metadata for explorer autofix by @Zylphrex in [#107435](https://github.com/getsentry/sentry/pull/107435)
- Track issue age since first seen for new automation by @Mihir-Mavalankar in [#107461](https://github.com/getsentry/sentry/pull/107461)
- Tweak prompts to always write the artifact by @Zylphrex in [#107427](https://github.com/getsentry/sentry/pull/107427)
- Use random intelligence level for explorer autofix by @Zylphrex in [#107353](https://github.com/getsentry/sentry/pull/107353)
- Hide solution option if coding already done by @roaga in [#106409](https://github.com/getsentry/sentry/pull/106409)
- Less annoying five whys by @roaga in [#106407](https://github.com/getsentry/sentry/pull/106407)

#### Autopilot

- Remove source_root from missing SDK integration detector by @ArthurKnaus in [#108119](https://github.com/getsentry/sentry/pull/108119)
- Split tasks.py into separate detector modules by @ArthurKnaus in [#107659](https://github.com/getsentry/sentry/pull/107659)
- Limit missing integration detector to JS and python by @ArthurKnaus in [#107398](https://github.com/getsentry/sentry/pull/107398)
- Break trace propagation for spawned detector tasks by @vgrozdanic in [#107323](https://github.com/getsentry/sentry/pull/107323)
- Split integration detector into per project tasks by @ArthurKnaus in [#107239](https://github.com/getsentry/sentry/pull/107239)
- Use medium agent intelligence level by @ArthurKnaus in [#107220](https://github.com/getsentry/sentry/pull/107220)
- Increase detector time interval by @ArthurKnaus in [#107219](https://github.com/getsentry/sentry/pull/107219)
- Simplify missing integration detector prompt by @ArthurKnaus in [#107060](https://github.com/getsentry/sentry/pull/107060)

#### Billing

- Removed prevent user and prevent review references(BIL-2092) by @krithikravi in [#107567](https://github.com/getsentry/sentry/pull/107567)
- Remove deprecated performance promo frontend by @cvxluo in [#107386](https://github.com/getsentry/sentry/pull/107386)
- Replace seer-user-billing with launch flag by @brendanhsentry in [#107351](https://github.com/getsentry/sentry/pull/107351)
- Remove seer-user-billing flag by @brendanhsentry in [#106982](https://github.com/getsentry/sentry/pull/106982)
- Rename "Size Analysis Uploads" to "Size Analysis Builds" by @dashed in [#106813](https://github.com/getsentry/sentry/pull/106813)
- Add constants for emerge by @vbro in [#106235](https://github.com/getsentry/sentry/pull/106235)
- Refactoring seat methods in quotas.py to not use data_category by @krithikravi in [#106331](https://github.com/getsentry/sentry/pull/106331)

#### Cells

- Convert internal-project-config endpoint to internal by @cvxluo in [#107301](https://github.com/getsentry/sentry/pull/107301)
- Convert relay endpoints to internal by @cvxluo in [#107198](https://github.com/getsentry/sentry/pull/107198)
- Deprecate non-org-scoped related-issues endpoint by @cvxluo in [#107180](https://github.com/getsentry/sentry/pull/107180)
- Update miscellaneous python tests to use org-scoped group endpoint URLs by @mifu67 in [#106927](https://github.com/getsentry/sentry/pull/106927)
- Update remaining frontend tests to use org-scoped endpoint URLs by @mifu67 in [#106928](https://github.com/getsentry/sentry/pull/106928)
- Deprecate group-tag-key-details endpoint by @mifu67 in [#106920](https://github.com/getsentry/sentry/pull/106920)
- Deprecate group-tag-key-values endpoint by @mifu67 in [#106904](https://github.com/getsentry/sentry/pull/106904)
- Update frontend group-tags code to use correct org-scoped URL by @mifu67 in [#106730](https://github.com/getsentry/sentry/pull/106730)
- Deprecate group-tags endpoint by @mifu67 in [#106728](https://github.com/getsentry/sentry/pull/106728)
- Deprecate group-stats endpoint by @mifu67 in [#106719](https://github.com/getsentry/sentry/pull/106719)
- Deprecate group-event-details endpoint by @mifu67 in [#106698](https://github.com/getsentry/sentry/pull/106698)
- Update frontend group-details tests to use correct org-scoped URL by @mifu67 in [#106701](https://github.com/getsentry/sentry/pull/106701)
- Deprecate group-events endpoint by @mifu67 in [#106644](https://github.com/getsentry/sentry/pull/106644)
- Deprecate group-details endpoint by @mifu67 in [#106613](https://github.com/getsentry/sentry/pull/106613)
- Deprecate group-activities endpoint by @mifu67 in [#106631](https://github.com/getsentry/sentry/pull/106631)
- Remove relay.public_keys.post capture message by @markstory in [#106542](https://github.com/getsentry/sentry/pull/106542)
- Use isCellScoped for user customers endpoint by @evanpurkhiser in [#106457](https://github.com/getsentry/sentry/pull/106457)

#### Ci

- Ignore `ruff` reformatting commit in Git Blame by @shashjar in [#108202](https://github.com/getsentry/sentry/pull/108202)
- Run tsgo (optional) in ci by @natemoo-re in [#107433](https://github.com/getsentry/sentry/pull/107433)

#### Code Review

- Add date_updated and date_added columns to RepositorySettings by @srest2021 in [#106977](https://github.com/getsentry/sentry/pull/106977)
- Reorder contributor seat check to avoid unnecessary seat-based-seer-enabled calls by @srest2021 in [#106724](https://github.com/getsentry/sentry/pull/106724)

#### Code Review

- Log GH -> seer request time by @kddubey in [#107834](https://github.com/getsentry/sentry/pull/107834)
- Add additional logging for sentry by @suejungshin in [#107823](https://github.com/getsentry/sentry/pull/107823)
- Log code review request by @kddubey in [#107445](https://github.com/getsentry/sentry/pull/107445)
- Remove non-validated payloads path by @armenzg in [#107237](https://github.com/getsentry/sentry/pull/107237)
- Remove deprecated consent rpcs by @suejung-sentry in [#107035](https://github.com/getsentry/sentry/pull/107035)
- Delete prevent ai configuration v0 table by @suejung-sentry in [#107013](https://github.com/getsentry/sentry/pull/107013)
- Remove capture-exception and capture exception info in logs by @srest2021 in [#107164](https://github.com/getsentry/sentry/pull/107164)
- Change capture_exception level to warning for reaction failure by @srest2021 in [#107126](https://github.com/getsentry/sentry/pull/107126)
- Add reaction logs to webhook handlers by @srest2021 in [#107102](https://github.com/getsentry/sentry/pull/107102)
- Mark pending delete prevent ai config v0 table by @suejung-sentry in [#107003](https://github.com/getsentry/sentry/pull/107003)
- Remove the deprecated prevent config v0 by @suejung-sentry in [#106993](https://github.com/getsentry/sentry/pull/106993)
- Split transform_webhook_to_codegen_request by @armenzg in [#106398](https://github.com/getsentry/sentry/pull/106398)
- Cache calls to feature flag checks by @suejung-sentry in [#106729](https://github.com/getsentry/sentry/pull/106729)
- Update copy on the old code-review landing page by @ryan953 in [#106467](https://github.com/getsentry/sentry/pull/106467)

#### Codeowners

- Add coding-workflows to fetch issues by @kddubey in [#107920](https://github.com/getsentry/sentry/pull/107920)
- Add autopilot module to CODEOWNERS for telemetry-experience by @vgrozdanic in [#107324](https://github.com/getsentry/sentry/pull/107324)
- Add `design-eng` to `static/oxlint/` by @natemoo-re in [#107159](https://github.com/getsentry/sentry/pull/107159)

#### Conversations

- Remove duplicate hook at page level & move content to a separate func by @priscilawebdev in [#107657](https://github.com/getsentry/sentry/pull/107657)
- Prefetch and load drawer independently of trace's table by @priscilawebdev in [#107655](https://github.com/getsentry/sentry/pull/107655)
- Support endTimestamp in conversation response by @obostjancic in [#107577](https://github.com/getsentry/sentry/pull/107577)
- Clear unused optimized path by @vgrozdanic in [#107399](https://github.com/getsentry/sentry/pull/107399)

#### Cross Event

- Limit date selection when cross event querying by @nsdeschenes in [#107401](https://github.com/getsentry/sentry/pull/107401)
- Remove metrics option by @nsdeschenes in [#107406](https://github.com/getsentry/sentry/pull/107406)
- Disable attribute breakdowns tab while cross-event querying by @nsdeschenes in [#107502](https://github.com/getsentry/sentry/pull/107502)
- Disable save and compare buttons by @nsdeschenes in [#107413](https://github.com/getsentry/sentry/pull/107413)

#### Dashboards

- Split plottable and timeseries transformation in visualization widget by @DominikB2014 in [#107692](https://github.com/getsentry/sentry/pull/107692)
- Improve categorical series types and structure by @gggritso in [#107631](https://github.com/getsentry/sentry/pull/107631)
- Rename `isChartDisplayType` to `usesTimeSeriesData` by @gggritso in [#107447](https://github.com/getsentry/sentry/pull/107447)
- Use array for display type ordering by @gggritso in [#107534](https://github.com/getsentry/sentry/pull/107534)
- Update CODEOWNERS for Dashboards models by @gggritso in [#107372](https://github.com/getsentry/sentry/pull/107372)
- Extract shared applyDashboardFilters utility by @DominikB2014 in [#107287](https://github.com/getsentry/sentry/pull/107287)
- Explain when we use base 10 vs. base 2 formatting for size data by @gggritso in [#107298](https://github.com/getsentry/sentry/pull/107298)
- Remove getTableRequest and getSeriesRequest by @DominikB2014 in [#107254](https://github.com/getsentry/sentry/pull/107254)
- Migrate issues dataset to hook pattern by @DominikB2014 in [#106780](https://github.com/getsentry/sentry/pull/106780)
- Migrate errorsAndTransactions dataset to hook pattern by @DominikB2014 in [#107058](https://github.com/getsentry/sentry/pull/107058)
- Memoize expensive computations in Visualize component by @scttcper in [#107026](https://github.com/getsentry/sentry/pull/107026)
- Restrict mobile app size filter attributes by @mtopo27 in [#107004](https://github.com/getsentry/sentry/pull/107004)
- Migrate mobileAppSize to React Query hooks by @DominikB2014 in [#107062](https://github.com/getsentry/sentry/pull/107062)
- Migrate errors to hook pattern by @DominikB2014 in [#107001](https://github.com/getsentry/sentry/pull/107001)
- Migrate transactions dataset to React Query hooks by @DominikB2014 in [#106805](https://github.com/getsentry/sentry/pull/106805)
- Migrate logs dataset to useSeriesQuery/useTableQuery pattern by @DominikB2014 in [#106782](https://github.com/getsentry/sentry/pull/106782)
- Modernize release fetching with React Query hook by @gggritso in [#106706](https://github.com/getsentry/sentry/pull/106706)
- Migrate trace metrics dataset to hook pattern by @DominikB2014 in [#106779](https://github.com/getsentry/sentry/pull/106779)
- Remove `getTableRequest` and `getSeriesRequest` from spans dataset by @DominikB2014 in [#106778](https://github.com/getsentry/sentry/pull/106778)

#### Deps

- Bump urllib3 from 2.2.2 to 2.6.3 by @dependabot in [#106582](https://github.com/getsentry/sentry/pull/106582)
- Bump platformicons to v9 by @obostjancic in [#106971](https://github.com/getsentry/sentry/pull/106971)
- Bump brotli from 1.1.0 to 1.2.0 by @dependabot in [#106777](https://github.com/getsentry/sentry/pull/106777)
- Bump lodash from 4.17.21 to 4.17.23 in /api-docs by @dependabot in [#106739](https://github.com/getsentry/sentry/pull/106739)

#### Dynamic Sampling

- Fix arrow direction in \_admin table by @shellmayr in [#108299](https://github.com/getsentry/sentry/pull/108299)
- Remove unused dynamic sampling sample rate logs by @shellmayr in [#108025](https://github.com/getsentry/sentry/pull/108025)
- Add global switches for using segments in DS by @shellmayr in [#108021](https://github.com/getsentry/sentry/pull/108021)
- Add lost metric for partition by measure by @shellmayr in [#108015](https://github.com/getsentry/sentry/pull/108015)
- Move boost lv transactions to queryconfig pattern by @shellmayr in [#107658](https://github.com/getsentry/sentry/pull/107658)
- Remove dead code by @priscilawebdev in [#107404](https://github.com/getsentry/sentry/pull/107404)
- Add tests for ignore health check glob by @shellmayr in [#106766](https://github.com/getsentry/sentry/pull/106766)
- Sample all executions for boost lv transactions by @shellmayr in [#106860](https://github.com/getsentry/sentry/pull/106860)
- Add counter metric for biases that emitted r… by @shellmayr in [#105230](https://github.com/getsentry/sentry/pull/105230)

#### Eslint

- Fix type checking by @natemoo-re in [#107190](https://github.com/getsentry/sentry/pull/107190)
- Shared extractors + pre-traversal bailout by @natemoo-re in [#107212](https://github.com/getsentry/sentry/pull/107212)
- Turn on typescript-eslint/prefer-promise-reject-errors by @TkDodo in [#106770](https://github.com/getsentry/sentry/pull/106770)

#### Explorer

- Remove esc keyboard shortcut for interruptRun by @aliu39 in [#108200](https://github.com/getsentry/sentry/pull/108200)
- Dont track thumbs feedback if run id missing by @aliu39 in [#107974](https://github.com/getsentry/sentry/pull/107974)
- Always capture project page filters in snapshot by @aliu39 in [#108009](https://github.com/getsentry/sentry/pull/108009)
- Update lf url format by @aliu39 in [#107968](https://github.com/getsentry/sentry/pull/107968)
- Prevent superuser hook when typing backtick in chat 2 by @aliu39 in [#107705](https://github.com/getsentry/sentry/pull/107705)
- Prevent superuser hook when typing backtick in chat by @aliu39 in [#107700](https://github.com/getsentry/sentry/pull/107700)
- Disable coding if org option false by @aliu39 in [#107554](https://github.com/getsentry/sentry/pull/107554)
- Optionally collect ip in user org context by @aliu39 in [#107553](https://github.com/getsentry/sentry/pull/107553)
- Add category key/value when continuing explorer runs by @Zylphrex in [#107551](https://github.com/getsentry/sentry/pull/107551)
- More ui fixes by @roaga in [#107261](https://github.com/getsentry/sentry/pull/107261)
- Disable feature for orgs without open membership by @aliu39 in [#107029](https://github.com/getsentry/sentry/pull/107029)
- Add repo name to 3rd party coding agent names by @roaga in [#107158](https://github.com/getsentry/sentry/pull/107158)
- Disable shrinking when drawer is open by @roaga in [#107119](https://github.com/getsentry/sentry/pull/107119)
- Update tags overview and timeseries by time range by @aliu39 in [#106915](https://github.com/getsentry/sentry/pull/106915)
- Refactor rpc date param validation by @aliu39 in [#106853](https://github.com/getsentry/sentry/pull/106853)
- Add indicator when interrupted by @roaga in [#106602](https://github.com/getsentry/sentry/pull/106602)
- Update tool copy for trace search by @aliu39 in [#106471](https://github.com/getsentry/sentry/pull/106471)
- Move panel by @roaga in [#106420](https://github.com/getsentry/sentry/pull/106420)

#### Forms

- Convert ChoiceMapperField and TableField to functional components by @ryan953 in [#106494](https://github.com/getsentry/sentry/pull/106494)
- Convert BooleanField from class to functional component by @ryan953 in [#106493](https://github.com/getsentry/sentry/pull/106493)

#### Grouping

- Remove space from "stack trace" in grouping info hints by @lobsterkatie in [#105954](https://github.com/getsentry/sentry/pull/105954)
- Parameterize messages in custom fingerprints by @lobsterkatie in [#107808](https://github.com/getsentry/sentry/pull/107808)
- Add fingerprint source to grouping info description by @lobsterkatie in [#106610](https://github.com/getsentry/sentry/pull/106610)
- Make Windows multiprocess grouping inputs more realistic by @lobsterkatie in [#107561](https://github.com/getsentry/sentry/pull/107561)
- Add params to `normalize_message_for_grouping` by @lobsterkatie in [#107428](https://github.com/getsentry/sentry/pull/107428)
- Make fingerprint helpers take event directly by @lobsterkatie in [#107376](https://github.com/getsentry/sentry/pull/107376)
- Add default value for message regex keys by @lobsterkatie in [#107375](https://github.com/getsentry/sentry/pull/107375)
- Move message normalization to utils by @lobsterkatie in [#107364](https://github.com/getsentry/sentry/pull/107364)
- Improve hex parameterization in messages by @lobsterkatie in [#107204](https://github.com/getsentry/sentry/pull/107204)
- Small message parameterization refactors by @lobsterkatie in [#107201](https://github.com/getsentry/sentry/pull/107201)
- Remove orphaned categorization snapshots by @lobsterkatie in [#106703](https://github.com/getsentry/sentry/pull/106703)
- Make fall 2025 grouping config the default by @lobsterkatie in [#106736](https://github.com/getsentry/sentry/pull/106736)
- Update date for new grouping config by @lobsterkatie in [#106640](https://github.com/getsentry/sentry/pull/106640)
- Reorganize fingerprinting helpers and types by @lobsterkatie in [#106474](https://github.com/getsentry/sentry/pull/106474)
- Flag unknown fingerprint variables by @lobsterkatie in [#106241](https://github.com/getsentry/sentry/pull/106241)

#### Infra

- Remove explicit paths from backend-selective workflow by @rbro112 in [#107307](https://github.com/getsentry/sentry/pull/107307)
- Opt workflow_engine into selective testing by @rbro112 in [#107084](https://github.com/getsentry/sentry/pull/107084)
- Opt issues into backend selective testing by @rbro112 in [#106892](https://github.com/getsentry/sentry/pull/106892)
- Opt in releases for selective testing by @rbro112 in [#106818](https://github.com/getsentry/sentry/pull/106818)

#### Insights

- Use shared SCORE_BREAKDOWN_WHEEL_WIDGET in prebuilt dashboards by @DominikB2014 in [#108041](https://github.com/getsentry/sentry/pull/108041)
- Remove AI Generations module by @priscilawebdev in [#107480](https://github.com/getsentry/sentry/pull/107480)

#### Integrations

- Migrate data forwarding config fields to EncryptedJSONField by @leeandher in [#107973](https://github.com/getsentry/sentry/pull/107973)
- Create separate traces for GitHub webhook events by @armenzg in [#106704](https://github.com/getsentry/sentry/pull/106704)
- Reduce noisy logging across integrations by @leeandher in [#106799](https://github.com/getsentry/sentry/pull/106799)
- Remove duplicate repository add feedback messages by @leeandher in [#106528](https://github.com/getsentry/sentry/pull/106528)
- Fix N+1 queries in organization code mappings by @scttcper in [#106422](https://github.com/getsentry/sentry/pull/106422)

#### Issues

- Clean up unused analytics events by @scttcper in [#107993](https://github.com/getsentry/sentry/pull/107993)
- Remove all views welcome banner UI by @scttcper in [#107909](https://github.com/getsentry/sentry/pull/107909)
- Remove `issue_views_all_views_banner` prompt by @scttcper in [#107910](https://github.com/getsentry/sentry/pull/107910)
- Move selection logic from SelectedGroupStore to hook by @scttcper in [#107034](https://github.com/getsentry/sentry/pull/107034)
- Update external issues URLs to use org-scoped endpoints by @roggenkemper in [#106793](https://github.com/getsentry/sentry/pull/106793)
- Hide view in discover button when unable to access discover by @cvxluo in [#106850](https://github.com/getsentry/sentry/pull/106850)
- Update autofix tests to use org-scoped url by @roggenkemper in [#106664](https://github.com/getsentry/sentry/pull/106664)
- Fix N+1 query on repository in get_sorted_code_mapping_configs by @scttcper in [#106466](https://github.com/getsentry/sentry/pull/106466)

#### Llm Detection

- Make transaction_name LLM-generated instead of passed from Sentry ID-1356 by @nora-shap in [#108173](https://github.com/getsentry/sentry/pull/108173)
- Reduce task stagger from 120s to 90s by @roggenkemper in [#107498](https://github.com/getsentry/sentry/pull/107498)
- Update LLM detection route by @nora-shap in [#107312](https://github.com/getsentry/sentry/pull/107312)
- Merge to main by @nora-shap in [#107106](https://github.com/getsentry/sentry/pull/107106)

#### Models

- Remove deprecated Group.checksum property by @chromy in [#108331](https://github.com/getsentry/sentry/pull/108331)
- Remove deprecated Group.message_short property by @chromy in [#108329](https://github.com/getsentry/sentry/pull/108329)
- Add caching for Organization.default_owner_id by @beezz in [#106560](https://github.com/getsentry/sentry/pull/106560)

#### Open Periods

- Delete `GroupOpenPeriod.event_id` by @wedamija in [#107898](https://github.com/getsentry/sentry/pull/107898)
- Remove `GroupOpenPeriod.event_id`. by @wedamija in [#107872](https://github.com/getsentry/sentry/pull/107872)
- Another attempt to speed up the backfill by @wedamija in [#107977](https://github.com/getsentry/sentry/pull/107977)
- Add index to `GroupOpenPeriodActivity` by @wedamija in [#107945](https://github.com/getsentry/sentry/pull/107945)

#### Ownership

- Remove backwards compatibility logic for assignee existence cache by @shashjar in [#107022](https://github.com/getsentry/sentry/pull/107022)
- Retry `code_owners_auto_sync` task on `Commit.DoesNotExist` silently by @shashjar in [#107021](https://github.com/getsentry/sentry/pull/107021)
- Decrease `code_owners_auto_sync` task processing deadline duration by @shashjar in [#106586](https://github.com/getsentry/sentry/pull/106586)
- Remove backwards compatibility logic for issue owners debounce cache by @shashjar in [#106391](https://github.com/getsentry/sentry/pull/106391)

#### Performance

- Rename segment spans referrers by @mjq in [#108358](https://github.com/getsentry/sentry/pull/108358)
- Replace service entry span terminology with segment span and transaction by @mjq in [#108355](https://github.com/getsentry/sentry/pull/108355)

#### Preprod

- Fix size analysis task deadline timeouts by @NicoHinderling in [#108148](https://github.com/getsentry/sentry/pull/108148)
- Narrow transaction scope in snapshot endpoint by @NicoHinderling in [#108150](https://github.com/getsentry/sentry/pull/108150)
- Add data_retention checks for all size analysis endpoint related reads by @NicoHinderling in [#107891](https://github.com/getsentry/sentry/pull/107891)
- Add implicit size NOT_RAN filter on frontend by @NicoHinderling in [#108049](https://github.com/getsentry/sentry/pull/108049)
- Filter out mobile builds if any related size status is NOT_RAN by @NicoHinderling in [#107885](https://github.com/getsentry/sentry/pull/107885)
- Pass retention day values to launchpad via new endpoint by @NicoHinderling in [#107882](https://github.com/getsentry/sentry/pull/107882)
- Extract artifact search functions to artifact_search module by @NicoHinderling in [#107889](https://github.com/getsentry/sentry/pull/107889)
- Add subscription specific retention to size/build distro EAP writes by @NicoHinderling in [#107881](https://github.com/getsentry/sentry/pull/107881)
- Update beta tags to new by @NicoHinderling in [#106986](https://github.com/getsentry/sentry/pull/106986)
- Remove feature checks from assemble task by @chromy in [#107338](https://github.com/getsentry/sentry/pull/107338)
- Convert preprod admin endpoints to internal by @cvxluo in [#107299](https://github.com/getsentry/sentry/pull/107299)
- Add support for SKIPPED and NO_QUOTA cases in size status check by @NicoHinderling in [#107269](https://github.com/getsentry/sentry/pull/107269)
- Optimize the status check task by @NicoHinderling in [#107169](https://github.com/getsentry/sentry/pull/107169)
- [FE] Remove old platform references and only use apple for ios and mac apps by @NicoHinderling in [#107111](https://github.com/getsentry/sentry/pull/107111)
- [BE] Switch build details platform value from ios and mac to apple by @NicoHinderling in [#107110](https://github.com/getsentry/sentry/pull/107110)
- Make sure status check script is up to date by @NicoHinderling in [#107171](https://github.com/getsentry/sentry/pull/107171)
- Improve visual hierarchy for group insight instances by @mtopo27 in [#107178](https://github.com/getsentry/sentry/pull/107178)
- Move preprod settings to be gated by correct feature flag by @NicoHinderling in [#107122](https://github.com/getsentry/sentry/pull/107122)
- [FE] Update build details platform code to support apple value by @NicoHinderling in [#107109](https://github.com/getsentry/sentry/pull/107109)
- Add suggested values to PREPROD_FIELD_DEFINITIONS's platform_name description by @NicoHinderling in [#107105](https://github.com/getsentry/sentry/pull/107105)
- Don't deduplicate builds with different build config id by @NicoHinderling in [#107081](https://github.com/getsentry/sentry/pull/107081)
- Show neutral status checks if no rules, otherwise show actual states by @NicoHinderling in [#107014](https://github.com/getsentry/sentry/pull/107014)
- Show distribution table in settings by @mtopo27 in [#107066](https://github.com/getsentry/sentry/pull/107066)
- Remove Approval column from status check tables by @mtopo27 in [#107059](https://github.com/getsentry/sentry/pull/107059)
- Limit feature filter search keys by @mtopo27 in [#107010](https://github.com/getsentry/sentry/pull/107010)
- Fix N+1 queries in create_preprod_status_check task by @seer-by-sentry in [#106427](https://github.com/getsentry/sentry/pull/106427)
- Add approve action into github status check for size by @NicoHinderling in [#106852](https://github.com/getsentry/sentry/pull/106852)
- Add github webhook handler for size approve action by @NicoHinderling in [#106851](https://github.com/getsentry/sentry/pull/106851)
- Settings URL preprod->builds by @chromy in [#106965](https://github.com/getsentry/sentry/pull/106965)
- Rename preprod settings page to mobile builds by @chromy in [#106964](https://github.com/getsentry/sentry/pull/106964)
- Delete unused /build-tags/<key>/values/ endpoint by @chromy in [#106887](https://github.com/getsentry/sentry/pull/106887)
- Use PreprodSearchBar for featureFilter by @chromy in [#106882](https://github.com/getsentry/sentry/pull/106882)
- Update status check parsing logic for build_configuration and platform name tweaks by @NicoHinderling in [#106829](https://github.com/getsentry/sentry/pull/106829)
- Split quota flags by @chromy in [#106819](https://github.com/getsentry/sentry/pull/106819)
- Make status check UI match spec by @NicoHinderling in [#106751](https://github.com/getsentry/sentry/pull/106751)
- Delete deprecated columns by @rbro112 in [#106592](https://github.com/getsentry/sentry/pull/106592)
- Mark deprecated columns as ready for deletion by @rbro112 in [#106591](https://github.com/getsentry/sentry/pull/106591)
- Remove unused app-size-stats endpoint by @trevor-e in [#106676](https://github.com/getsentry/sentry/pull/106676)
- Fix size status check fail from size rules UI by @NicoHinderling in [#106642](https://github.com/getsentry/sentry/pull/106642)
- Add flagpole flag for confluent producer use by @NicoHinderling in [#106620](https://github.com/getsentry/sentry/pull/106620)
- Update status check logging by @trevor-e in [#106618](https://github.com/getsentry/sentry/pull/106618)
- Fix rule parsing logic for size status checks by @NicoHinderling in [#106596](https://github.com/getsentry/sentry/pull/106596)
- Remove final read of deprecated columns by @rbro112 in [#106593](https://github.com/getsentry/sentry/pull/106593)
- Add log when artifact is updated by @trevor-e in [#106469](https://github.com/getsentry/sentry/pull/106469)
- Add extra status check error logging by @trevor-e in [#106416](https://github.com/getsentry/sentry/pull/106416)
- Lower required permissions for changing preprod settings by @NicoHinderling in [#106411](https://github.com/getsentry/sentry/pull/106411)
- Add artifact download panel to admin page by @NicoHinderling in [#106206](https://github.com/getsentry/sentry/pull/106206)

#### Promotions

- Remove cancel subscription promotion trigger by @cvxluo in [#107871](https://github.com/getsentry/sentry/pull/107871)
- Remove deprecated promotion referrers from snuba by @cvxluo in [#107736](https://github.com/getsentry/sentry/pull/107736)

#### Relay

- Update sentry-relay to 0.9.23 by @cvxluo in [#107940](https://github.com/getsentry/sentry/pull/107940)
- Add rollout option for sessions EAP by @noahsmartin in [#107794](https://github.com/getsentry/sentry/pull/107794)
- Remove ai operation type map by @Dav1dde in [#106653](https://github.com/getsentry/sentry/pull/106653)

#### Replay

- Switch useReplayTableSort to use nuqs internally by @ryan953 in [#108140](https://github.com/getsentry/sentry/pull/108140)
- Switch replay errors list from useUrlParams() to nuqs() by @ryan953 in [#108134](https://github.com/getsentry/sentry/pull/108134)
- Switch replay layout prefs to use nuqs instead of useUrlParams by @ryan953 in [#108139](https://github.com/getsentry/sentry/pull/108139)
- Switch useSortNetwork to use nuqs by @ryan953 in [#108161](https://github.com/getsentry/sentry/pull/108161)
- Clean up `replay-playlist-view` flags by @billyvg in [#106924](https://github.com/getsentry/sentry/pull/106924)
- Clean up `replay-playlist-view` flags by @billyvg in [#106923](https://github.com/getsentry/sentry/pull/106923)

#### Routes

- Remove `deprecatedRouteProps` from `redirectDeprecatedProjectRoute` by @cvxluo in [#106423](https://github.com/getsentry/sentry/pull/106423)
- Remove usage of `deprecatedRouteProps` for `appRoutes` by @shashjar in [#106406](https://github.com/getsentry/sentry/pull/106406)

#### Scraps

- Replace all deprecated space() usages in scraps by @TkDodo in [#108035](https://github.com/getsentry/sentry/pull/108035)
- Update stories to use canonical imports by @natemoo-re in [#107369](https://github.com/getsentry/sentry/pull/107369)
- Remove chartcolors by @TkDodo in [#106768](https://github.com/getsentry/sentry/pull/106768)
- Replace theme.chart.neutral with theme.tokens.dataviz.semantic.neutral by @TkDodo in [#106763](https://github.com/getsentry/sentry/pull/106763)
- Remove legacyTypography by @TkDodo in [#106562](https://github.com/getsentry/sentry/pull/106562)
- Remove deprecatedColorMappings from theme by @TkDodo in [#106561](https://github.com/getsentry/sentry/pull/106561)
- Remove compactSelect triggerProps by @TkDodo in [#105215](https://github.com/getsentry/sentry/pull/105215)

#### Seer

- Type for SCM provider by @kddubey in [#108290](https://github.com/getsentry/sentry/pull/108290)
- Add method param to signed API by @azulus in [#108246](https://github.com/getsentry/sentry/pull/108246)
- Remove the `setupAcknowledgement` response from `/issues/$id/autofix/update/` and `/seer/setup-check/` by @ryan953 in [#107981](https://github.com/getsentry/sentry/pull/107981)
- Remove the triage signals flag completely from the backend by @Mihir-Mavalankar in [#107951](https://github.com/getsentry/sentry/pull/107951)
- Remove enabled flag `gen-ai-consent-flow-removal` from the backend by @ryan953 in [#107955](https://github.com/getsentry/sentry/pull/107955)
- Wrap all Seer settings pages with analyticsArea by @ryan953 in [#107916](https://github.com/getsentry/sentry/pull/107916)
- Rename seer referrer tag by @aliu39 in [#107987](https://github.com/getsentry/sentry/pull/107987)
- Remove enabled flag `gen-ai-consent-flow-removal` by @ryan953 in [#107949](https://github.com/getsentry/sentry/pull/107949)
- Removed triage-signals-v0 flag usage from seer settings by @Mihir-Mavalankar in [#107914](https://github.com/getsentry/sentry/pull/107914)
- Factor out repo filter query by @kddubey in [#107915](https://github.com/getsentry/sentry/pull/107915)
- Update Slack Block Kit for automation-triggered updates by @leeandher in [#107379](https://github.com/getsentry/sentry/pull/107379)
- Ensure correct permission checks for Seer Slack workflows by @leeandher in [#107173](https://github.com/getsentry/sentry/pull/107173)
- Cleanup unused spans rpc by @aliu39 in [#106854](https://github.com/getsentry/sentry/pull/106854)
- Refactor variables & types on Seer Settings pages by @ryan953 in [#106627](https://github.com/getsentry/sentry/pull/106627)
- Always include short id in cursor handoff by @sehr-m in [#106454](https://github.com/getsentry/sentry/pull/106454)
- Add cursor issue linking for explorer autofix by @sehr-m in [#106410](https://github.com/getsentry/sentry/pull/106410)
- Add short id to cursor prompt by @sehr-m in [#106344](https://github.com/getsentry/sentry/pull/106344)

#### Sentry Apps

- Move all sentryapp endpoints to control silo by @leeandher in [#106804](https://github.com/getsentry/sentry/pull/106804)
- Convert service hook projects endpoint to use RPC by @leeandher in [#106621](https://github.com/getsentry/sentry/pull/106621)
- Convert installation endpoints to use RPC services by @leeandher in [#106461](https://github.com/getsentry/sentry/pull/106461)
- Improve RpcSentryAppError with from_exc factory method by @leeandher in [#106424](https://github.com/getsentry/sentry/pull/106424)

#### Slack

- Replace Seer button with context block for running automation by @leeandher in [#107715](https://github.com/getsentry/sentry/pull/107715)
- Compact Slack issue alert message layout by @leeandher in [#105994](https://github.com/getsentry/sentry/pull/105994)

#### Span Buffer

- Limit the amount of spans per evalsha by @untitaker in [#107063](https://github.com/getsentry/sentry/pull/107063)
- Add option to break up pipelines by @untitaker in [#106672](https://github.com/getsentry/sentry/pull/106672)

#### Spans

- Track cumulative latency in buffer logger by @fpacifici in [#107317](https://github.com/getsentry/sentry/pull/107317)
- Remove global sample rate by @jjbayer in [#106556](https://github.com/getsentry/sentry/pull/106556)
- Add logging to SpanFlusher startup by @lvthanh03 in [#106446](https://github.com/getsentry/sentry/pull/106446)

#### Spans Buffer

- Clean up ZSET to SET migration options registrations by @lvthanh03 in [#108078](https://github.com/getsentry/sentry/pull/108078)
- Clean up ZSET code by @lvthanh03 in [#107863](https://github.com/getsentry/sentry/pull/107863)

#### Stories

- Convert core component stories to mdx by @natemoo-re in [#105580](https://github.com/getsentry/sentry/pull/105580)
- Fix hot reloading when adding story by @scttcper in [#106896](https://github.com/getsentry/sentry/pull/106896)

#### Tests

- Remove is_eap parameter, use only EAP codepath by @phacops in [#106936](https://github.com/getsentry/sentry/pull/106936)
- Split PromptsActivityTest into GET/PUT test classes by @dcramer in [#106414](https://github.com/getsentry/sentry/pull/106414)

#### Theme

- Inline formTheme into commonTheme by @TkDodo in [#106762](https://github.com/getsentry/sentry/pull/106762)
- Remove legacy theme.tokens shim by @natemoo-re in [#106325](https://github.com/getsentry/sentry/pull/106325)

#### Tracemetrics

- Rework Save As button for multi-agg by @nsdeschenes in [#107432](https://github.com/getsentry/sentry/pull/107432)
- Ensure only compatible aggregates are selected by @nsdeschenes in [#107490](https://github.com/getsentry/sentry/pull/107490)
- Register flag for overlay chart data by @nsdeschenes in [#107143](https://github.com/getsentry/sentry/pull/107143)

#### Ui

- Disable sentry jest locally by @scttcper in [#107183](https://github.com/getsentry/sentry/pull/107183)
- Increase frontend version check delay from 10 to 60 minutes by @scttcper in [#107136](https://github.com/getsentry/sentry/pull/107136)
- Cleanup webpack references by @scttcper in [#106038](https://github.com/getsentry/sentry/pull/106038)

#### Uptime

- Bump sentry-kafka-schemas to 2.1.22 by @klochek in [#107252](https://github.com/getsentry/sentry/pull/107252)
- Small test improvement by @wedamija in [#106611](https://github.com/getsentry/sentry/pull/106611)
- Bump `sentry-kafka-schemas` to `2.1.20` by @wedamija in [#106338](https://github.com/getsentry/sentry/pull/106338)

#### Utils

- Remove deprecated domId utility by @chromy in [#108339](https://github.com/getsentry/sentry/pull/108339)
- Add sort keys encoder option for dumps by @Christinarlong in [#108162](https://github.com/getsentry/sentry/pull/108162)

#### Workflow Engine

- Delete dead deletion code by @kcons in [#108092](https://github.com/getsentry/sentry/pull/108092)
- Refactor signals to be in separate files by @saponifi3d in [#107533](https://github.com/getsentry/sentry/pull/107533)
- Pull CacheAccess into it's own file by @saponifi3d in [#107518](https://github.com/getsentry/sentry/pull/107518)
- Add type annotations to workflow engine tests by @thetruecpaul in [#106716](https://github.com/getsentry/sentry/pull/106716)

#### Other

- (ai) Add negative cost alert on frontend by @shellmayr in [#107486](https://github.com/getsentry/sentry/pull/107486)
- (ai-conversation) Use timestamp field where possible by @vgrozdanic in [#107144](https://github.com/getsentry/sentry/pull/107144)
- (ai-conversations) Improve performance of the conversations endpoint by @vgrozdanic in [#106658](https://github.com/getsentry/sentry/pull/106658)
- (ai-insights) Remove new badge from agents by @obostjancic in [#106759](https://github.com/getsentry/sentry/pull/106759)
- (ai-spans) Color selection by @obostjancic in [#108040](https://github.com/getsentry/sentry/pull/108040)
- (analytics) Add BQ analytics to seer drawer open by @Mihir-Mavalankar in [#108062](https://github.com/getsentry/sentry/pull/108062)
- (anomaly thresholds) Add tip when anomaly thresholds out of chart bounds by @shayna-ch in [#106808](https://github.com/getsentry/sentry/pull/106808)
- (arroyo) Use arroyo stuck_detector implementation by @lvthanh03 in [#107599](https://github.com/getsentry/sentry/pull/107599)
- (attribute-breakdown) Update modal chart to use categorical widget by @nsdeschenes in [#107596](https://github.com/getsentry/sentry/pull/107596)
- (attributes) Rename itemType to dataset by @wmak in [#106453](https://github.com/getsentry/sentry/pull/106453)
- (autofix automation) Part2: Set tags on automation task by @Mihir-Mavalankar in [#107184](https://github.com/getsentry/sentry/pull/107184)
- (bug-prediction) Require repo owner and name by @kddubey in [#107919](https://github.com/getsentry/sentry/pull/107919)
- (ButtonBar) Make ButtoBar a merged only component by @JonasBa in [#107858](https://github.com/getsentry/sentry/pull/107858)
- (claude) Update Claude Code settings and add setup command by @dcramer in [#106057](https://github.com/getsentry/sentry/pull/106057)
- (components) Remove GlobalSelectionLink in favor of Link by @JonasBa in [#108182](https://github.com/getsentry/sentry/pull/108182)
- (control) Smaller functions by @armenzg in [#108125](https://github.com/getsentry/sentry/pull/108125)
- (core) Update tokens by @natemoo-re in [#106872](https://github.com/getsentry/sentry/pull/106872)
- (data-forwarding) Remove data-forwarding-revamp flag by @leeandher in [#108065](https://github.com/getsentry/sentry/pull/108065)
- (default detector) Improve error/logging for default detector by @shayna-ch in [#106847](https://github.com/getsentry/sentry/pull/106847)
- (detectors) Add abstract-ish base class for DetectorHandler by @kcons in [#108000](https://github.com/getsentry/sentry/pull/108000)
- (docs) Indicate required `dynamic_form_fields` for issue alert creation by @leeandher in [#106671](https://github.com/getsentry/sentry/pull/106671)
- (eventstore) Use cached project lookup in BaseEvent by @beezz in [#106440](https://github.com/getsentry/sentry/pull/106440)
- (explore) Add in multi-aggregate overlay feature flags by @nsdeschenes in [#108330](https://github.com/getsentry/sentry/pull/108330)
- (explorer-index) Remove debug code by @shruthilayaj in [#106516](https://github.com/getsentry/sentry/pull/106516)
- (external-issue) Add 'type to search' placeholder for dropdown fields by @cathteng in [#107449](https://github.com/getsentry/sentry/pull/107449)
- (feedback) Re-assign sessions feedback to replay team, laravel&nextjs to performance by @shellmayr in [#106507](https://github.com/getsentry/sentry/pull/106507)
- (filter) Add minified error 421 to hydration error filters by @rodolfoBee in [#96057](https://github.com/getsentry/sentry/pull/96057)
- (flagpole) Remove legacy owner schema by @cvxluo in [#106505](https://github.com/getsentry/sentry/pull/106505)
- (getApiUrl) Add missing urls to knownGetsentryApiUrls and fix instances/tests by @ryan953 in [#107558](https://github.com/getsentry/sentry/pull/107558)
- (github) Allow installing orphaned integrations on FE by @cathteng in [#107304](https://github.com/getsentry/sentry/pull/107304)
- (groups) Fix N+1 query on Project in qualified_short_id by @scttcper in [#106418](https://github.com/getsentry/sentry/pull/106418)
- (gsAdmin) Remove stale React 18 upgrade TODO comments by @chromy in [#108335](https://github.com/getsentry/sentry/pull/108335)
- (HC) Removes reprs for sensitive fields in RPC models by @GabeVillalobos in [#104785](https://github.com/getsentry/sentry/pull/104785)
- (INC-1584) Add DELETE_EVENTS_BY_TAG_VALUE referrer by @MeredithAnya in [#106597](https://github.com/getsentry/sentry/pull/106597)
- (issue owners) Add test for non-project team by @lobsterkatie in [#107961](https://github.com/getsentry/sentry/pull/107961)
- (issue-details) Remove obsolete plugin.title fallback by @chromy in [#108333](https://github.com/getsentry/sentry/pull/108333)
- (jira) Differentiate jira and jira server by @Christinarlong in [#107284](https://github.com/getsentry/sentry/pull/107284)
- (launchpad) Update launchpad services and add objectstore by @rbro112 in [#107826](https://github.com/getsentry/sentry/pull/107826)
- (llm issue detection) Use group for fingerprint for llm detected issues fingerprint by @shayna-ch in [#108244](https://github.com/getsentry/sentry/pull/108244)
- (logs) Update SDK onboarding pages by @JoshuaMoelans in [#104234](https://github.com/getsentry/sentry/pull/104234)
- (member merge) Clean up users without email addresses by @mifu67 in [#101981](https://github.com/getsentry/sentry/pull/101981)
- (mypy) Use removeprefix/removesuffix in make_module_ignores by @mjq in [#107956](https://github.com/getsentry/sentry/pull/107956)
- (notifications) Rename NotificationTemplateSource to NotificationSource and combine source + category by @Christinarlong in [#107986](https://github.com/getsentry/sentry/pull/107986)
- (onboarding) Extract tab selection state into context providers by @jaydgoss in [#108057](https://github.com/getsentry/sentry/pull/108057)
- (overwatch) Remove Overwatch forwarding infrastructure by @armenzg in [#106447](https://github.com/getsentry/sentry/pull/106447)
- (page-filters) Reduce selected period if max pickable days is updated by @nsdeschenes in [#107601](https://github.com/getsentry/sentry/pull/107601)
- (pageFilters) Abstract hybridFilters logic to hook by @JonasBa in [#108217](https://github.com/getsentry/sentry/pull/108217)
- (perf-detectors) Pass detector-specific settings to PerformanceDetector constructors by @kcons in [#107387](https://github.com/getsentry/sentry/pull/107387)
- (plugins) Downgrade exception/error logging to warning for expected errors by @leeandher in [#106914](https://github.com/getsentry/sentry/pull/106914)
- (post_process) Remove has_alert from PostProcessJob by @kcons in [#108077](https://github.com/getsentry/sentry/pull/108077)
- (processing-errors) Add more detail to processing error analytics by @wedamija in [#107466](https://github.com/getsentry/sentry/pull/107466)
- (prompts) Clean up unused prompt keys by @scttcper in [#107965](https://github.com/getsentry/sentry/pull/107965)
- (py) Update objectstore-client to 0.0.16 by @jan-auer in [#107928](https://github.com/getsentry/sentry/pull/107928)
- (release) Switch from action-prepare-release to Craft by @BYK in [#106005](https://github.com/getsentry/sentry/pull/106005)
- (releases) Batch CommitAuthor queries in set_commits by @scttcper in [#106318](https://github.com/getsentry/sentry/pull/106318)
- (routing) Remove deprecatedRouteProps type defintion and mechanics by @ryan953 in [#106714](https://github.com/getsentry/sentry/pull/106714)
- (search) Support integer params for sum_if by @obostjancic in [#107495](https://github.com/getsentry/sentry/pull/107495)
- (SearchQueryBuilder) Cache sizing div in useAutosizeInput, reduce ref calls by @scttcper in [#107082](https://github.com/getsentry/sentry/pull/107082)
- (seer automation) Add sentry tags to differentiate between old and new Seer SKU runs by @Mihir-Mavalankar in [#107181](https://github.com/getsentry/sentry/pull/107181)
- (selective testing) Limit to 300 tests/shard but never exceed 22 max shards by @joshuarli in [#108176](https://github.com/getsentry/sentry/pull/108176)
- (selective tests) Remove coverage db upload to gh by @joshuarli in [#108185](https://github.com/getsentry/sentry/pull/108185)
- (settings) Refactor getsentry specific settings wrapper to have simpler props by @ryan953 in [#106503](https://github.com/getsentry/sentry/pull/106503)
- (signals) Remove deprecated event_received by @chromy in [#108337](https://github.com/getsentry/sentry/pull/108337)
- (slack-seer) Restructure slack entrypoint into package with submodules by @leeandher in [#108080](https://github.com/getsentry/sentry/pull/108080)
- (tags) Support date filter in top values query and GroupTagsEndpoint by @aliu39 in [#106828](https://github.com/getsentry/sentry/pull/106828)
- (timeseries) Move timeseries code to base by @wmak in [#106585](https://github.com/getsentry/sentry/pull/106585)
- (trace-waterfall) Update link from Replays by @nsdeschenes in [#107673](https://github.com/getsentry/sentry/pull/107673)
- (ts) Narrow division() cartesian product in SpanResponse by @scttcper in [#108151](https://github.com/getsentry/sentry/pull/108151)
- (typing) Upgrade mypy to 1.19.1 and switch to upstream django-stubs by @JoshFerge in [#107710](https://github.com/getsentry/sentry/pull/107710)
- (vscode) Add knip extension to recommended list by @ryan953 in [#106497](https://github.com/getsentry/sentry/pull/106497)
- (web) Remove unused form field classes from sentry.web.forms.fields by @oioki in [#108326](https://github.com/getsentry/sentry/pull/108326)
- (widgets) Tweaks to categorical widget by @nsdeschenes in [#108038](https://github.com/getsentry/sentry/pull/108038)
- Remove obsolete calver arg from release job by @BYK in [#108322](https://github.com/getsentry/sentry/pull/108322)
- Bump objectstore-client to 0.0.17 by @jan-auer in [#108346](https://github.com/getsentry/sentry/pull/108346)
- Stop using /subscriptions and use /customers instead by @markstory in [#108251](https://github.com/getsentry/sentry/pull/108251)
- Devenv 1.28.0 by @joshuarli in [#107755](https://github.com/getsentry/sentry/pull/107755)
- Remove devenv-managed uv by @joshuarli in [#107810](https://github.com/getsentry/sentry/pull/107810)
- Switch useFeatureFlagOnboardingDrawer to use nuqs instead of useUrlParams() by @ryan953 in [#108142](https://github.com/getsentry/sentry/pull/108142)
- Disable PR comments for changelog preview by @JoshFerge in [#108061](https://github.com/getsentry/sentry/pull/108061)
- Add logging to slow backfill by @wedamija in [#108004](https://github.com/getsentry/sentry/pull/108004)
- Update MCP server URL with org scope and experimental flag by @dcramer in [#107997](https://github.com/getsentry/sentry/pull/107997)
- Replace SENTRY_DEFAULT_ORGANIZATION_ID with SUPERUSER_ORG_ID by @michelletran-sentry in [#107774](https://github.com/getsentry/sentry/pull/107774)
- Bump platformicons by @priscilawebdev in [#107921](https://github.com/getsentry/sentry/pull/107921)
- Upgrade uv by @joshuarli in [#107166](https://github.com/getsentry/sentry/pull/107166)
- Add convert_args to ProjectKeyStatsEndpoint by @oioki in [#106100](https://github.com/getsentry/sentry/pull/106100)
- Add convert_args to ProjectServiceHookStatsEndpoint by @oioki in [#106098](https://github.com/getsentry/sentry/pull/106098)
- Remove initialStepToName, enums can do that by @ryan953 in [#107641](https://github.com/getsentry/sentry/pull/107641)
- Add tracking to the seer configuration reminder by @ryan953 in [#107562](https://github.com/getsentry/sentry/pull/107562)
- Remove unused dashboards-chart-legend-breakdown feature flag by @DominikB2014 in [#107613](https://github.com/getsentry/sentry/pull/107613)
- Use `getApiURl()` inside of static/app/views/settings/* by @ryan953 in [#107392](https://github.com/getsentry/sentry/pull/107392)
- Use `getApiURl()` inside of static/gsApp/* by @ryan953 in [#106893](https://github.com/getsentry/sentry/pull/106893)
- Use `getApiURl()` inside of static/app/view/explore/* by @ryan953 in [#106735](https://github.com/getsentry/sentry/pull/106735)
- Use `getApiURl()` inside of static/app/components/* by @ryan953 in [#106897](https://github.com/getsentry/sentry/pull/106897)
- Review granian server options to support self-hosted config by @gi0baro in [#107330](https://github.com/getsentry/sentry/pull/107330)
- Introduce boundaries/entry-point for scraps by @TkDodo in [#107154](https://github.com/getsentry/sentry/pull/107154)
- Migrate from `uwsgi` to `granian` by @gi0baro in [#107267](https://github.com/getsentry/sentry/pull/107267)
- Bump sentry-arroyo to 2.37.1 by @getsentry-bot in [#107246](https://github.com/getsentry/sentry/pull/107246)
- Reserve healtcheck org slug by @markstory in [#107090](https://github.com/getsentry/sentry/pull/107090)
- --reuse-db to avoid potential issues with pytest database teardown at session-end by @joshuarli in [#106999](https://github.com/getsentry/sentry/pull/106999)
- Use `getApiURl()` inside of static/gsAdmin/* by @ryan953 in [#106894](https://github.com/getsentry/sentry/pull/106894)
- Use `getApiURl()` inside of static/app/view/{projectDetail,projectInstall}/* by @ryan953 in [#106748](https://github.com/getsentry/sentry/pull/106748)
- Use `getApiURl()` inside of static/app/view/{dashboards,discover}/* by @ryan953 in [#106738](https://github.com/getsentry/sentry/pull/106738)
- Use `getApiURl()` inside of static/app/{utils,actionCreators}/* by @ryan953 in [#106573](https://github.com/getsentry/sentry/pull/106573)
- Use `getApiURl()` inside of static/app/view/issueList/* by @ryan953 in [#106744](https://github.com/getsentry/sentry/pull/106744)
- Use `getApiURl()` inside of static/app/view/insights/* by @ryan953 in [#106732](https://github.com/getsentry/sentry/pull/106732)
- Use `getApiURl()` inside of static/app/view/alerts/* by @ryan953 in [#106734](https://github.com/getsentry/sentry/pull/106734)
- Use `getApiURl()` inside of static/app/view/{...rest}/* by @ryan953 in [#106749](https://github.com/getsentry/sentry/pull/106749)
- Use `getApiURl()` inside of static/app/view/organizationStats/* by @ryan953 in [#106746](https://github.com/getsentry/sentry/pull/106746)
- Use `getApiURl()` inside of static/app/view/{detectors}/* by @ryan953 in [#106742](https://github.com/getsentry/sentry/pull/106742)
- Use `getApiURl()` inside of static/app/view/{prevent,preprod,pullRequest}/* by @ryan953 in [#106737](https://github.com/getsentry/sentry/pull/106737)
- Use `getApiURl()` inside of static/app/view/issueDetails/* by @ryan953 in [#106726](https://github.com/getsentry/sentry/pull/106726)
- Clean up outdated TODOs and NOTEs by @isabellaenriquez in [#106827](https://github.com/getsentry/sentry/pull/106827)
- Bump sentry-protos to 0.4.14 by @getsentry-bot in [#106709](https://github.com/getsentry/sentry/pull/106709)
- Add .claude/plans to gitignore by @ryan953 in [#106710](https://github.com/getsentry/sentry/pull/106710)
- Include seer billing flags check for explorer index by @shruthilayaj in [#106661](https://github.com/getsentry/sentry/pull/106661)
- Update codeowners for seer settings by @ryan953 in [#106650](https://github.com/getsentry/sentry/pull/106650)
- Use `getApiURl()` inside of static/app/view/performance/* by @ryan953 in [#106575](https://github.com/getsentry/sentry/pull/106575)
- Use `getApiURl()` inside of static/app/view/releases/* by @ryan953 in [#106574](https://github.com/getsentry/sentry/pull/106574)
- Split explorer index projects over 23h by @shruthilayaj in [#106563](https://github.com/getsentry/sentry/pull/106563)
- Incraese task duration for explorer index scheduler by @shruthilayaj in [#106536](https://github.com/getsentry/sentry/pull/106536)
- Fix typos in comments and messages by @NAM-MAN in [#106495](https://github.com/getsentry/sentry/pull/106495)
- Temporarily run task every hour by @shruthilayaj in [#106458](https://github.com/getsentry/sentry/pull/106458)
- Logging to figure out why tasks not getting created properly by @shruthilayaj in [#106448](https://github.com/getsentry/sentry/pull/106448)
- Add convert_args to BroadcastDetailsEndpoint by @oioki in [#106159](https://github.com/getsentry/sentry/pull/106159)
- Simplify flag check + kill switch by @shruthilayaj in [#106399](https://github.com/getsentry/sentry/pull/106399)

### Other

- ref(pagefilters) isolate bookmarking from sort action by @JonasBa in [#108292](https://github.com/getsentry/sentry/pull/108292)
- ref(hybridpagefilters) create composable filter components by @JonasBa in [#108249](https://github.com/getsentry/sentry/pull/108249)
- ref(pagefilters) align checkbox by @JonasBa in [#108338](https://github.com/getsentry/sentry/pull/108338)
- de 916 multiselectfield by @TkDodo in [#108305](https://github.com/getsentry/sentry/pull/108305)
- scraps: add skill for form migrations by @TkDodo in [#108327](https://github.com/getsentry/sentry/pull/108327)
- scraps: add a claude skill to work with the new form system by @TkDodo in [#108306](https://github.com/getsentry/sentry/pull/108306)
- Reapply "feat(integrations): Add integration_id tag to SLO lifecycle metrics" by @trevor-e in [#108270](https://github.com/getsentry/sentry/pull/108270)
- OrganizationCodeMappingsEndpoint GET to respect open team membership by @geoffg-sentry in [#108263](https://github.com/getsentry/sentry/pull/108263)
- Add SCM team to CODEOWNERS by @bruno-garcia in [#108203](https://github.com/getsentry/sentry/pull/108203)
- bug(preprod): Attempt to patch comparison race condition by @NicoHinderling in [#108239](https://github.com/getsentry/sentry/pull/108239)
- Turn on multiprocess debug logger to investigate consumers hanging by @fpacifici in [#108098](https://github.com/getsentry/sentry/pull/108098)
- cleanup(buffer): Remove unused Buffer methods by @kcons in [#108194](https://github.com/getsentry/sentry/pull/108194)
- ref(pagefilters) cleanup projectFilters by @JonasBa in [#108072](https://github.com/getsentry/sentry/pull/108072)
- poc: new form system by @TkDodo in [#107142](https://github.com/getsentry/sentry/pull/107142)
- cleanup(rules): Remove dead process_pending_batch and buffer_processing code by @kcons in [#108149](https://github.com/getsentry/sentry/pull/108149)
- Prevent cross-org condition injection via conditionGroupId IDOR by @geoffg-sentry in [#108156](https://github.com/getsentry/sentry/pull/108156)
- Update Next.js prebuilt dashboard title by @DominikB2014 in [#107967](https://github.com/getsentry/sentry/pull/107967)
- ref(pagefilters) remove desynced filter behavior by @JonasBa in [#108141](https://github.com/getsentry/sentry/pull/108141)
- cleanup(rules): Stop scheduling process_pending_batch by @kcons in [#108094](https://github.com/getsentry/sentry/pull/108094)
- new(notifications): add models for notification thread trackign by @Christinarlong in [#107637](https://github.com/getsentry/sentry/pull/107637)
- ref(storybook) use Flex for Demo and update height by @JonasBa in [#108130](https://github.com/getsentry/sentry/pull/108130)
- ref(button) move title to tooltipProps by @JonasBa in [#106987](https://github.com/getsentry/sentry/pull/106987)
- fix(cells) Use cell scoped customers endpoint for relocation details by @markstory in [#108042](https://github.com/getsentry/sentry/pull/108042)
- ref(pagefilters) move isSelectionEqual outside of utils by @JonasBa in [#107978](https://github.com/getsentry/sentry/pull/107978)

_Plus 127 more_

26.1.0
------

### New Features ✨

#### Aci

- Add warning message when action is not compatible with metric detectors by @malwilley in [#106240](https://github.com/getsentry/sentry/pull/106240)
- Add info about all issues exclusions by @malwilley in [#106271](https://github.com/getsentry/sentry/pull/106271)
- Add sorting for connected alerts by @malwilley in [#106109](https://github.com/getsentry/sentry/pull/106109)
- Add search input to connected alerts list by @malwilley in [#106052](https://github.com/getsentry/sentry/pull/106052)
- Add documentation for OrganizationDetectorIndexEndpoint GET by @ceorourke in [#106025](https://github.com/getsentry/sentry/pull/106025)
- Workflow API sort by priority detector ID by @malwilley in [#105976](https://github.com/getsentry/sentry/pull/105976)
- Implement new table design for connected alerts by @malwilley in [#105934](https://github.com/getsentry/sentry/pull/105934)
- Set up resolution condition for use in UI by @malwilley in [#105156](https://github.com/getsentry/sentry/pull/105156)
- Add inline alert creation inside monitor form by @malwilley in [#105765](https://github.com/getsentry/sentry/pull/105765)
- Add ability to filter workflows by connected detectors by @malwilley in [#105695](https://github.com/getsentry/sentry/pull/105695)

#### Ai Conversations

- Add attributes by @obostjancic in [#106355](https://github.com/getsentry/sentry/pull/106355)
- User column by @obostjancic in [#105890](https://github.com/getsentry/sentry/pull/105890)
- User data by @obostjancic in [#105889](https://github.com/getsentry/sentry/pull/105889)

#### Alerts

- Add support for trace metrics alert type by @k-fish in [#104901](https://github.com/getsentry/sentry/pull/104901)
- Migrate alert wizard off deprecatedRouterMocks by @scttcper in [#105508](https://github.com/getsentry/sentry/pull/105508)

#### Api

- Enhance AI conversation attributes in details endpoint by @constantinius in [#106164](https://github.com/getsentry/sentry/pull/106164)
- Add endpoint for AI conversation details by @constantinius in [#106071](https://github.com/getsentry/sentry/pull/106071)

#### Autofix

- Support query param to switch autofix mode by @Zylphrex in [#106090](https://github.com/getsentry/sentry/pull/106090)
- Implement operator/entrypoint for seer workflows by @leeandher in [#105344](https://github.com/getsentry/sentry/pull/105344)

#### Autopilot

- POC autofix by @ArthurKnaus in [#106370](https://github.com/getsentry/sentry/pull/106370)
- POC UI for instrumentation issues by @ArthurKnaus in [#106359](https://github.com/getsentry/sentry/pull/106359)
- Improve issue creation by @ArthurKnaus in [#106353](https://github.com/getsentry/sentry/pull/106353)
- Create instrumentation issues by @ArthurKnaus in [#106249](https://github.com/getsentry/sentry/pull/106249)
- Boost integration detector to 10 minutes in [#105596](https://github.com/getsentry/sentry/pull/105596)
- Missing SDK integration detector in [#105595](https://github.com/getsentry/sentry/pull/105595)

#### Code Review

- Support options & white listed orgs by @armenzg in [#106205](https://github.com/getsentry/sentry/pull/106205)
- Use GitHub org names whitelisting for testing by @armenzg in [#105844](https://github.com/getsentry/sentry/pull/105844)
- Forward pull_request events to Seer by @armenzg in [#105740](https://github.com/getsentry/sentry/pull/105740)
- Handle issue comment command in [#105527](https://github.com/getsentry/sentry/pull/105527)
- Support sending webhook events to Seer by @armenzg in [#105393](https://github.com/getsentry/sentry/pull/105393)

#### Dashboards

- Always link to transaction summary from transaction field by @DominikB2014 in [#106116](https://github.com/getsentry/sentry/pull/106116)
- Update jobs chart to be a line chart by @DominikB2014 in [#106081](https://github.com/getsentry/sentry/pull/106081)
- Convert Widget Builder dataset selector to a dropdown by @gggritso in [#105928](https://github.com/getsentry/sentry/pull/105928)
- Add `excludePrebuilt` filter to dashboards endpoint by @DominikB2014 in [#105946](https://github.com/getsentry/sentry/pull/105946)
- Update backend title for domain dashboard by @DominikB2014 in [#105917](https://github.com/getsentry/sentry/pull/105917)
- Update domain page title by @DominikB2014 in [#105916](https://github.com/getsentry/sentry/pull/105916)
- Allow prebuilt dashboards to hardcode units by @DominikB2014 in [#105743](https://github.com/getsentry/sentry/pull/105743)
- Fill in Mobile Vitals pre-built dashboards by @gggritso in [#105757](https://github.com/getsentry/sentry/pull/105757)
- Display http response codes as fraction in prebuilt dashboard by @DominikB2014 in [#105820](https://github.com/getsentry/sentry/pull/105820)
- Create prebuilt dashboard for backend overview by @DominikB2014 in [#105719](https://github.com/getsentry/sentry/pull/105719)
- Convert user.geo.subregion from numeric to string version by @DominikB2014 in [#105639](https://github.com/getsentry/sentry/pull/105639)
- Support http spans in details component in [#105545](https://github.com/getsentry/sentry/pull/105545)
- Register http module prebuilt dashboards in [#105497](https://github.com/getsentry/sentry/pull/105497)
- Registers insights-web-vitals-dashboard-migration flag by @edwardgou-sentry in [#105483](https://github.com/getsentry/sentry/pull/105483)
- Adds support for linking slideouts to prebuilt dashboard widgets by @edwardgou-sentry in [#105353](https://github.com/getsentry/sentry/pull/105353)
- Add preferredPolarity to widget thresholds serializer by @edwardgou-sentry in [#105407](https://github.com/getsentry/sentry/pull/105407)
- Adds core web vitals samples tables to prebuilt Web Vitals dashboard by @edwardgou-sentry in [#105438](https://github.com/getsentry/sentry/pull/105438)
- Registers Web Vitals page summary prebuilt dashboard by @edwardgou-sentry in [#105439](https://github.com/getsentry/sentry/pull/105439)
- Adds a feature flag to enable synchronizing all prebuilt dashboards by @edwardgou-sentry in [#105429](https://github.com/getsentry/sentry/pull/105429)
- Adds Issue table prebuilt Web Vitals dashboard by @edwardgou-sentry in [#105402](https://github.com/getsentry/sentry/pull/105402)
- Adds positive polarity render support for Big Number widgets by @edwardgou-sentry in [#105405](https://github.com/getsentry/sentry/pull/105405)

#### Dynamic Grouping

- Add current issue information to stack trace by @scttcper in [#106138](https://github.com/getsentry/sentry/pull/106138)
- Remove card tabs, add view details by @scttcper in [#106133](https://github.com/getsentry/sentry/pull/106133)
- Allow clicking top issue card to view more by @scttcper in [#105776](https://github.com/getsentry/sentry/pull/105776)
- Add Cluster ID to the Cluster card title by @yuvmen in [#105404](https://github.com/getsentry/sentry/pull/105404)

#### Dynamic Groups

- Move issue cluster details into drawer by @scttcper in [#106028](https://github.com/getsentry/sentry/pull/106028)
- Add progress bar to aggregate tags by @scttcper in [#105878](https://github.com/getsentry/sentry/pull/105878)

#### Explorer

- Add coding agent handoff UI for explorer autofix by @roaga in [#105873](https://github.com/getsentry/sentry/pull/105873)
- Add coding agent handoff support to explorer client by @roaga in [#105872](https://github.com/getsentry/sentry/pull/105872)
- Add span.status_code to trace waterfall data by @roaga in [#106021](https://github.com/getsentry/sentry/pull/106021)
- Share chat links by @aliu39 in [#105376](https://github.com/getsentry/sentry/pull/105376)
- Create new conduit channel for explorer to use streaming in [#105585](https://github.com/getsentry/sentry/pull/105585)

#### Grouping

- Add clearer component ignoring test inputs by @lobsterkatie in [#105843](https://github.com/getsentry/sentry/pull/105843)
- Add test input where all exceptions are groups by @lobsterkatie in [#105666](https://github.com/getsentry/sentry/pull/105666)

#### Issues

- Add InstrumentationIssueExperimentalGroupType by @ArthurKnaus in [#105988](https://github.com/getsentry/sentry/pull/105988)
- Add details to current event marker tooltip by @scttcper in [#106204](https://github.com/getsentry/sentry/pull/106204)
- AI Search by @aayush-se in [#105768](https://github.com/getsentry/sentry/pull/105768)
- GA streamlined issue actions, backport to old ui by @scttcper in [#105863](https://github.com/getsentry/sentry/pull/105863)
- Add copy breadcrumbs to clipboard button in [#105007](https://github.com/getsentry/sentry/pull/105007)
- Add stack trace, tags to top issues by @scttcper in [#105466](https://github.com/getsentry/sentry/pull/105466)
- Protect GroupResolutions from release cleanup by @scttcper in [#105444](https://github.com/getsentry/sentry/pull/105444)

#### Occurrences On Eap

- Implement double reads of bucketed group counts by @shashjar in [#105691](https://github.com/getsentry/sentry/pull/105691)
- Implement timeseries query support by @shashjar in [#105685](https://github.com/getsentry/sentry/pull/105685)
- Implement EAP read for retrieving top issues by event count by @shashjar in [#105460](https://github.com/getsentry/sentry/pull/105460)
- Implement EAP read for trace-connected issues in related issues calculation in [#105459](https://github.com/getsentry/sentry/pull/105459)
- Implement EAP read for error counts in suspect tag calculation by @shashjar in [#104916](https://github.com/getsentry/sentry/pull/104916)

#### Preprod

- Support min aggregation and standardize enum naming by @trevor-e in [#106269](https://github.com/getsentry/sentry/pull/106269)
- Remove reads from deprecated fields and use PreprodArtifactMobileAppInfo table by @rbro112 in [#105847](https://github.com/getsentry/sentry/pull/105847)
- Support free text search on /builds/ endpoint by @chromy in [#106202](https://github.com/getsentry/sentry/pull/106202)
- More filter fields for search by @chromy in [#106171](https://github.com/getsentry/sentry/pull/106171)
- Add basic admin debug actions to buildDetails error UI by @rbro112 in [#106149](https://github.com/getsentry/sentry/pull/106149)
- Add flag for dashboard toggle by @trevor-e in [#106054](https://github.com/getsentry/sentry/pull/106054)
- Add Project options for size/distro filters by @chromy in [#106069](https://github.com/getsentry/sentry/pull/106069)
- Add backfill migration for PreprodArtifactMobileAppInfo by @rbro112 in [#105883](https://github.com/getsentry/sentry/pull/105883)
- Add preprod size metrics backend dataset support by @trevor-e in [#105845](https://github.com/getsentry/sentry/pull/105845)
- Add PreprodArtifactMobileAppInfo creation to write path by @rbro112 in [#105846](https://github.com/getsentry/sentry/pull/105846)
- [frontend] Add first iteration of size status checks settings UI by @NicoHinderling in [#105875](https://github.com/getsentry/sentry/pull/105875)
- Add size status check project config values to project endpoints by @NicoHinderling in [#105874](https://github.com/getsentry/sentry/pull/105874)
- Add PreprodArtifactMobileAppInfo to enable decoupling of mobile app specific info from PreprodArtifact by @rbro112 in [#105731](https://github.com/getsentry/sentry/pull/105731)
- Add platform name to eap data by @trevor-e in [#105869](https://github.com/getsentry/sentry/pull/105869)
- Add new /builds/ endpoint by @chromy in [#105797](https://github.com/getsentry/sentry/pull/105797)
- Add treemap diff UI by @chromy in [#105331](https://github.com/getsentry/sentry/pull/105331)
- Add preprod distribution display table by @mtopo27 in [#105554](https://github.com/getsentry/sentry/pull/105554)
- Add preprod display toggle plumbing by @mtopo27 in [#105553](https://github.com/getsentry/sentry/pull/105553)
- Display version and build number in build comparison list (EME-489) by @runningcode in [#105628](https://github.com/getsentry/sentry/pull/105628)
- Write build distribution data to EAP in [#105544](https://github.com/getsentry/sentry/pull/105544)
- [frontend] add support for multiproject build list UI in [#105396](https://github.com/getsentry/sentry/pull/105396)
- Add dropdown button to re-run status check by @trevor-e in [#105535](https://github.com/getsentry/sentry/pull/105535)
- Add API to re-run status checks by @trevor-e in [#105484](https://github.com/getsentry/sentry/pull/105484)
- Create new multiproject list builds endpoint by @NicoHinderling in [#105395](https://github.com/getsentry/sentry/pull/105395)
- Show success/failure status check UI by @trevor-e in [#105442](https://github.com/getsentry/sentry/pull/105442)
- Add copy url button by @mtopo27 in [#105432](https://github.com/getsentry/sentry/pull/105432)
- Add header to install pages by @mtopo27 in [#105430](https://github.com/getsentry/sentry/pull/105430)

#### Projects

- Warn about eventual removal of Project Details by @bcoe in [#105617](https://github.com/getsentry/sentry/pull/105617)
- Convert missingProjectMembership to FC, restyle by @scttcper in [#104734](https://github.com/getsentry/sentry/pull/104734)

#### Releases

- Allow filtering releases by created date by @scttcper in [#106019](https://github.com/getsentry/sentry/pull/106019)
- Support filtering by `release.created` by @scttcper in [#104877](https://github.com/getsentry/sentry/pull/104877)

#### Replay

- Remove flag `replay-details-new-ui` by @billyvg in [#105694](https://github.com/getsentry/sentry/pull/105694)
- Add pagination to Playlist view by @billyvg in [#105701](https://github.com/getsentry/sentry/pull/105701)
- Update design of replay breadcrumbs by @billyvg in [#105671](https://github.com/getsentry/sentry/pull/105671)
- Add an Alert in playlist tab when there is a query by @billyvg in [#105690](https://github.com/getsentry/sentry/pull/105690)

#### Replays

- Add REPLAYS dataset to ExploreSavedQueryDataset by @billyvg in [#106008](https://github.com/getsentry/sentry/pull/106008)
- Replace playlist Alert with search input by @billyvg in [#105807](https://github.com/getsentry/sentry/pull/105807)
- Further reduce header size by @jerryzhou196 in [#104246](https://github.com/getsentry/sentry/pull/104246)

#### Search Bar

- Add support for explicit boolean tags by @nsdeschenes in [#105606](https://github.com/getsentry/sentry/pull/105606)
- Add/Update type hints by @nsdeschenes in [#105602](https://github.com/getsentry/sentry/pull/105602)

#### Seer

- Auto-continue from solution to code changes by @leeandher in [#106029](https://github.com/getsentry/sentry/pull/106029)
- Fix disabled states & tweak design of Seer Projects settings page by @ryan953 in [#106058](https://github.com/getsentry/sentry/pull/106058)
- Add code review webhooks task by @seer-by-sentry in [#105909](https://github.com/getsentry/sentry/pull/105909)
- Design nit fixes for onboarding by @billyvg in [#105736](https://github.com/getsentry/sentry/pull/105736)
- Project Settings page revamp: AI Code Review section by @ryan953 in [#105518](https://github.com/getsentry/sentry/pull/105518)

#### Sentry Apps

- Add delete_external_issue to region RPC service by @leeandher in [#106279](https://github.com/getsentry/sentry/pull/106279)
- Add create_external_issue to region RPC service by @leeandher in [#106278](https://github.com/getsentry/sentry/pull/106278)
- Add create_issue_link to region RPC service by @leeandher in [#106277](https://github.com/getsentry/sentry/pull/106277)
- Add region RPC service with get_select_options by @leeandher in [#106276](https://github.com/getsentry/sentry/pull/106276)

#### Stories

- Simplified sidebar by @natemoo-re in [#104611](https://github.com/getsentry/sentry/pull/104611)
- Add tokens page by @natemoo-re in [#105507](https://github.com/getsentry/sentry/pull/105507)

#### Timeseries

- Add api docs for the timeseries endpoint by @wmak in [#105668](https://github.com/getsentry/sentry/pull/105668)
- Add ratelimits to the timeseries endpoint by @wmak in [#105693](https://github.com/getsentry/sentry/pull/105693)

#### Toolbar

- Return the CSRF token into the toolbar auth flow for use by @ryan953 in [#106059](https://github.com/getsentry/sentry/pull/106059)
- Bump the version of the toolbar that we load up for employees by @ryan953 in [#105920](https://github.com/getsentry/sentry/pull/105920)

#### Top Issues

- Add experimental badge to Top Issues page by @cvxluo in [#106237](https://github.com/getsentry/sentry/pull/106237)
- Show code change when available by @cvxluo in [#105475](https://github.com/getsentry/sentry/pull/105475)
- Single card view by @cvxluo in [#105437](https://github.com/getsentry/sentry/pull/105437)

#### Tracemetrics

- Add ruby to supported platforms by @narsaynorath in [#106262](https://github.com/getsentry/sentry/pull/106262)
- Add "All Metrics" option to Add to Dashboard by @narsaynorath in [#106190](https://github.com/getsentry/sentry/pull/106190)
- Support multiple widgets passed to addToDashboard by @narsaynorath in [#106016](https://github.com/getsentry/sentry/pull/106016)
- Handle sort resets for visualize changes by @narsaynorath in [#105643](https://github.com/getsentry/sentry/pull/105643)
- Add Big Number visualization in [#105567](https://github.com/getsentry/sentry/pull/105567)
- Add Open in Metrics action by @narsaynorath in [#105531](https://github.com/getsentry/sentry/pull/105531)
- Implement Add to Dashboard by @narsaynorath in [#105436](https://github.com/getsentry/sentry/pull/105436)

#### Uptime

- Expose uptime-runtime-assertions flag to UI by @evanpurkhiser in [#106213](https://github.com/getsentry/sentry/pull/106213)
- Add uptime assertion builder by @evanpurkhiser in [#105842](https://github.com/getsentry/sentry/pull/105842)
- Add uptime test endpoint by @klochek in [#104969](https://github.com/getsentry/sentry/pull/104969)
- Add consumer-side queueing for out-of-order results by @wedamija in [#105782](https://github.com/getsentry/sentry/pull/105782)
- Add task-based retry for out-of-order backlog processing by @wedamija in [#105763](https://github.com/getsentry/sentry/pull/105763)

#### Other

- (ai-conversation) Display tool calls in conversation by @obostjancic in [#106066](https://github.com/getsentry/sentry/pull/106066)
- (ai-insights) Ai agent onboarding prompt by @obostjancic in [#105907](https://github.com/getsentry/sentry/pull/105907)
- (ai-monitoring) Add cache write cost tracking for AI models by @shellmayr in [#106070](https://github.com/getsentry/sentry/pull/106070)
- (attributes) Add endpoint to return attribute mappings by @nsdeschenes in [#106024](https://github.com/getsentry/sentry/pull/106024)
- (billing) Add missing org slug to billing links by @scttcper in [#105942](https://github.com/getsentry/sentry/pull/105942)
- (cells) Add logging to verify endpoint usage by @lynnagara in [#105943](https://github.com/getsentry/sentry/pull/105943)
- (ci) Setup-sentry skip-devservices mode by @joshuarli in [#105774](https://github.com/getsentry/sentry/pull/105774)
- (claude) Add mypy to claude by @chromy in [#105824](https://github.com/getsentry/sentry/pull/105824)
- (cron-detector-schedule-preview) Adding endpoint for deriving time window from schedule and thresholds by @Abdkhan14 in [#105915](https://github.com/getsentry/sentry/pull/105915)
- (crons-detector-schedule-preview) Generating schedule ticks by window and marking threshold regions by @Abdkhan14 in [#106263](https://github.com/getsentry/sentry/pull/106263)
- (data secrecy v2) Update `WaiveDataSecrecyEndpoint` to use `DataAccessGrant` model by @mifu67 in [#100154](https://github.com/getsentry/sentry/pull/100154)
- (detectors) Preserve page filters + env in DetectorLink by @evanpurkhiser in [#105055](https://github.com/getsentry/sentry/pull/105055)
- (eap-resolver) Support between operator by @DominikB2014 in [#105538](https://github.com/getsentry/sentry/pull/105538)
- (eco) Adds a way to surface debug data safely from integration metadata, while excluding sensitive information by @GabeVillalobos in [#106035](https://github.com/getsentry/sentry/pull/106035)
- (Errors) AI Search by @aayush-se in [#105892](https://github.com/getsentry/sentry/pull/105892)
- (feedback) Add a button to the feedback page so people can create Alerts by @ryan953 in [#106084](https://github.com/getsentry/sentry/pull/106084)
- (hybrid) Allow Identity model to be used as HCFK by @alexsohn1126 in [#105339](https://github.com/getsentry/sentry/pull/105339)
- (infra) Dynamic sharding by @rbro112 in [#105706](https://github.com/getsentry/sentry/pull/105706)
- (ingest-metrics) Add option to count segment spans as transactions by @Dav1dde in [#106072](https://github.com/getsentry/sentry/pull/106072)
- (integrations) Encrypt integration metadata field by @vgrozdanic in [#106163](https://github.com/getsentry/sentry/pull/106163)
- (issue search) Enable fallback to truncation of group IDs for all Snuba queries by @shashjar in [#105663](https://github.com/getsentry/sentry/pull/105663)
- (llm-detector) Add Redis for de-deduplication by @roggenkemper in [#105910](https://github.com/getsentry/sentry/pull/105910)
- (logs) AI Search by @aayush-se in [#105786](https://github.com/getsentry/sentry/pull/105786)
- (oauth) Implement OAuth 2.0 Device Authorization Flow (RFC 8628) by @dcramer in [#105675](https://github.com/getsentry/sentry/pull/105675)
- (objectstore) Temporarily log request info by @lcian in [#106063](https://github.com/getsentry/sentry/pull/106063)
- (onboarding) Add ruby metrics by @sl0thentr0py in [#105798](https://github.com/getsentry/sentry/pull/105798)
- (ownership) Migrate issue owners cache invalidation to use timestamp versioning on ownership by @shashjar in [#106108](https://github.com/getsentry/sentry/pull/106108)
- (rpc) Tag response logs with organization_id by @narsaynorath in [#105400](https://github.com/getsentry/sentry/pull/105400)
- (scraps) RenderToString util by @TkDodo in [#106252](https://github.com/getsentry/sentry/pull/106252)
- (sdk-integration-detector) Structured prompt by @ArthurKnaus in [#105800](https://github.com/getsentry/sentry/pull/105800)
- (search) Support explicit boolean tags by @nsdeschenes in [#106261](https://github.com/getsentry/sentry/pull/106261)
- (security) Enable email notifications for leaked secrets by @oioki in [#105414](https://github.com/getsentry/sentry/pull/105414)
- (seer explorer) Add new feature flag for streaming in [#105498](https://github.com/getsentry/sentry/pull/105498)
- (seer-slack) Implement Slack Entrypoint for Seer Workflow by @leeandher in [#105367](https://github.com/getsentry/sentry/pull/105367)
- (select-field) Update to not fire onBlur when toggling items by @priscilawebdev in [#105902](https://github.com/getsentry/sentry/pull/105902)
- (testing) Add GitHub identity and provider factory for testing by @alexsohn1126 in [#105600](https://github.com/getsentry/sentry/pull/105600)
- (trace) Replace old event breadcrumb section by @scttcper in [#106151](https://github.com/getsentry/sentry/pull/106151)
- (traces) Reference measurements from `performance.traceOrigin` by @timfish in [#105903](https://github.com/getsentry/sentry/pull/105903)
- (usage overview) Move trial CTA back to table by @isabellaenriquez in [#106082](https://github.com/getsentry/sentry/pull/106082)
- (workflow engine) Issue type data condition handler (BE) by @mifu67 in [#105959](https://github.com/getsentry/sentry/pull/105959)
- Add snapshots API scaffolding by @noahsmartin in [#105744](https://github.com/getsentry/sentry/pull/105744)
- Type coverage diff by @TkDodo in [#105821](https://github.com/getsentry/sentry/pull/105821)
- Add constants and default options for Game Console SDK invites by @alexsohn1126 in [#105225](https://github.com/getsentry/sentry/pull/105225)
- Add a banner to the browser devtools in [#105486](https://github.com/getsentry/sentry/pull/105486)

### Bug Fixes 🐛

#### Aci

- Handle ANY_SHORT_CIRCUIT condition in alert builder by @malwilley in [#106313](https://github.com/getsentry/sentry/pull/106313)
- Use organization slug in notification links for single-written workflows by @malwilley in [#106280](https://github.com/getsentry/sentry/pull/106280)
- Handle empty query from URL in monitor form by @malwilley in [#106219](https://github.com/getsentry/sentry/pull/106219)
- Allow action interval of 0 mins by @ameliahsu in [#106143](https://github.com/getsentry/sentry/pull/106143)
- Fix empty targetIdentifier for slack action by @ameliahsu in [#106136](https://github.com/getsentry/sentry/pull/106136)
- Fix empty WHEN condition text on details page by @ameliahsu in [#106125](https://github.com/getsentry/sentry/pull/106125)
- Fix `failure_rate` input suffix and placeholder by @ameliahsu in [#106111](https://github.com/getsentry/sentry/pull/106111)
- Better handling for error monitor edit permissions by @malwilley in [#106050](https://github.com/getsentry/sentry/pull/106050)
- Set failure rate y-axis range based on seriesMax and threshold by @ameliahsu in [#105962](https://github.com/getsentry/sentry/pull/105962)
- Add ongoing issues list to uptime monitor page by @malwilley in [#106015](https://github.com/getsentry/sentry/pull/106015)
- Use singular preferred detector in workflow processing round 2 by @cathteng in [#105865](https://github.com/getsentry/sentry/pull/105865)
- Clip open period bubble overflow by @ameliahsu in [#105830](https://github.com/getsentry/sentry/pull/105830)
- Hide link to all issues when metric alert uses invalid syntax by @malwilley in [#105834](https://github.com/getsentry/sentry/pull/105834)
- "View monitor details" button should not replace url by @ameliahsu in [#105819](https://github.com/getsentry/sentry/pull/105819)
- Don't process deleted workflows in process_delayed_workflows by @kcons in [#105784](https://github.com/getsentry/sentry/pull/105784)
- Use notification_uuid from WorkflowFireHistory when sending notifications by @kcons in [#105471](https://github.com/getsentry/sentry/pull/105471)
- Prevent error detector creation in the API by @cathteng in [#105722](https://github.com/getsentry/sentry/pull/105722)
- Fetch buffered group stats by @cathteng in [#105608](https://github.com/getsentry/sentry/pull/105608)
- Catch correct DoesNotExist error by @mifu67 in [#105678](https://github.com/getsentry/sentry/pull/105678)
- Fire service hooks from workflow engine by @cathteng in [#105586](https://github.com/getsentry/sentry/pull/105586)

#### Ai Insights

- Set has_insights_agent_monitoring flag by @obostjancic in [#106258](https://github.com/getsentry/sentry/pull/106258)
- Seer warning banner by @obostjancic in [#106177](https://github.com/getsentry/sentry/pull/106177)

#### Alerts

- Don't report invalid issue short names in queries as errors by @kcons in [#105541](https://github.com/getsentry/sentry/pull/105541)
- Fix broken available-actions endpoint when an installation is deleted by @malwilley in [#105302](https://github.com/getsentry/sentry/pull/105302)

#### Api

- Add select_related to avoid N+1 query in releases POST by @scttcper in [#106340](https://github.com/getsentry/sentry/pull/106340)
- Update GroupSearchViewSerializerResponse TypedDict for nullable createdBy by @evanpurkhiser in [#106185](https://github.com/getsentry/sentry/pull/106185)
- Update AI conversation URL pattern to accept UUIDs by @constantinius in [#106162](https://github.com/getsentry/sentry/pull/106162)

#### Auth

- Detect SSO provider mismatch and fix 2FA redirect by @dcramer in [#106041](https://github.com/getsentry/sentry/pull/106041)
- Pass organization context to resolve_email_to_user by @geoffg-sentry in [#106027](https://github.com/getsentry/sentry/pull/106027)

#### Autofix

- Include status code and URL in coding agent error messages by @JoshFerge in [#106267](https://github.com/getsentry/sentry/pull/106267)
- Pass mode=legacy for legacy useAutofix by @Zylphrex in [#106112](https://github.com/getsentry/sentry/pull/106112)

#### Billing

- Handle Stripe elements not loading by @isabellaenriquez in [#106107](https://github.com/getsentry/sentry/pull/106107)
- Set max image width in CTA by @brendanhsentry in [#105860](https://github.com/getsentry/sentry/pull/105860)
- Handle undefined partner by @isabellaenriquez in [#105805](https://github.com/getsentry/sentry/pull/105805)
- Remove prevent from notification settings by @brendanhsentry in [#105443](https://github.com/getsentry/sentry/pull/105443)

#### Checkout

- Scroll to step based on hash by @isabellaenriquez in [#105637](https://github.com/getsentry/sentry/pull/105637)
- Success screen buttons should have same height in [#105604](https://github.com/getsentry/sentry/pull/105604)

#### Code Mappings

- Bad url parsing for Gitlab and Bitbucket by @cvxluo in [#105751](https://github.com/getsentry/sentry/pull/105751)
- Handle malformed source path by @cvxluo in [#105683](https://github.com/getsentry/sentry/pull/105683)

#### Code Review

- Cut over to the Prevent Seer pods by @suejung-sentry in [#106230](https://github.com/getsentry/sentry/pull/106230)
- Use integration client helper instead of raw client by @seer-by-sentry in [#106243](https://github.com/getsentry/sentry/pull/106243)
- Use "prevent" deployment for code review by @suejung-sentry in [#106130](https://github.com/getsentry/sentry/pull/106130)
- Unify metrics for easier dashboarding by @suejung-sentry in [#105984](https://github.com/getsentry/sentry/pull/105984)
- Fix and more debugging by @armenzg in [#105996](https://github.com/getsentry/sentry/pull/105996)
- Disable direct-to-seer ghe on-prem flow by @suejung-sentry in [#105985](https://github.com/getsentry/sentry/pull/105985)
- Allow whitelisted orgs to have the task scheduled by @suejung-sentry in [#105884](https://github.com/getsentry/sentry/pull/105884)
- Consolidate code review checks by @suejung-sentry in [#105561](https://github.com/getsentry/sentry/pull/105561)
- Fix test regression in [#105632](https://github.com/getsentry/sentry/pull/105632)
- Fix payload for Seer in [#105560](https://github.com/getsentry/sentry/pull/105560)
- Look up code review beta orgs dynamically in [#105603](https://github.com/getsentry/sentry/pull/105603)
- Event_type does not define the webhook type in [#105548](https://github.com/getsentry/sentry/pull/105548)
- Fix config check for code review beta orgs by @suejung-sentry in [#105493](https://github.com/getsentry/sentry/pull/105493)

#### Codeowners

- Preview file button slightly cut off by @cvxluo in [#105762](https://github.com/getsentry/sentry/pull/105762)
- Increase processing deadline duration & test coverage for `code_owners_auto_sync` task by @shashjar in [#105406](https://github.com/getsentry/sentry/pull/105406)

#### Dashboards

- Add All Metrics fails to add on first attempt by @narsaynorath in [#106371](https://github.com/getsentry/sentry/pull/106371)
- Orderby reset incorrectly for TopN charts by @narsaynorath in [#106295](https://github.com/getsentry/sentry/pull/106295)
- Consolidate network requests on Mobile Vitals page by @gggritso in [#105921](https://github.com/getsentry/sentry/pull/105921)
- Add to dashboard persists page selection for create by @narsaynorath in [#106000](https://github.com/getsentry/sentry/pull/106000)
- Dashboards frontend should filter out prebuilt dashboards when calculating limit by @DominikB2014 in [#105948](https://github.com/getsentry/sentry/pull/105948)
- Prebuilt backend dashboard no data for cache by @DominikB2014 in [#105923](https://github.com/getsentry/sentry/pull/105923)
- Normalize widget full screen view URL by @gggritso in [#105913](https://github.com/getsentry/sentry/pull/105913)
- Dashboard link should include project by @DominikB2014 in [#105642](https://github.com/getsentry/sentry/pull/105642)
- Add `/trace` route to dashboards in [#105633](https://github.com/getsentry/sentry/pull/105633)
- Prebuilt domain summary not loading in [#105581](https://github.com/getsentry/sentry/pull/105581)
- Corrects web vitals dashboard migration flag name by @edwardgou-sentry in [#105485](https://github.com/getsentry/sentry/pull/105485)
- Remove linked dashboard flag check in field renderer by @DominikB2014 in [#105487](https://github.com/getsentry/sentry/pull/105487)

#### Escalating Forecast

- Bump down step size for generating forecast again by @cvxluo in [#106119](https://github.com/getsentry/sentry/pull/106119)
- Bump down step size for generating forecasts by @cvxluo in [#105780](https://github.com/getsentry/sentry/pull/105780)

#### Explore

- Set correct height on spans sub table by @nsdeschenes in [#105530](https://github.com/getsentry/sentry/pull/105530)
- Fix traces table header radii by @nsdeschenes in [#105482](https://github.com/getsentry/sentry/pull/105482)

#### Explorer

- Prevent QueryOutsideRetentionError in issue tool by @seer-by-sentry in [#106096](https://github.com/getsentry/sentry/pull/106096)
- Select repos from prefs for cursor handoff by @roaga in [#106114](https://github.com/getsentry/sentry/pull/106114)
- Add units and descriptions to on page context charts by @roaga in [#105930](https://github.com/getsentry/sentry/pull/105930)

#### Grouping

- Parameterize hard-coded values in Python process spawning code by @lobsterkatie in [#106142](https://github.com/getsentry/sentry/pull/106142)
- Add rule source to stacktrace hints by @lobsterkatie in [#105968](https://github.com/getsentry/sentry/pull/105968)
- Remove unclear component ignoring test inputs by @lobsterkatie in [#105849](https://github.com/getsentry/sentry/pull/105849)
- Fix ignoring delete-and-discard bug by @lobsterkatie in [#105709](https://github.com/getsentry/sentry/pull/105709)
- Handle case where all exceptions are groups by @lobsterkatie in [#105667](https://github.com/getsentry/sentry/pull/105667)

#### Groupsnooze

- Set debounce on Snuba failure to prevent rate limits by @roggenkemper in [#106322](https://github.com/getsentry/sentry/pull/106322)
- Add cooldown cache to prevent Snuba rate limits by @roggenkemper in [#106189](https://github.com/getsentry/sentry/pull/106189)

#### Insights

- Display user misery loading state by @scttcper in [#106321](https://github.com/getsentry/sentry/pull/106321)
- Create alert button broken insights/explore by @DominikB2014 in [#105841](https://github.com/getsentry/sentry/pull/105841)

#### Issues

- Handle repo names without owner prefix in coverage by @scttcper in [#105703](https://github.com/getsentry/sentry/pull/105703)
- Fix padding on the Issue>Replay list by @ryan953 in [#105716](https://github.com/getsentry/sentry/pull/105716)
- Fix TypeError on save event with None in tags by @yuvmen in [#105446](https://github.com/getsentry/sentry/pull/105446)

#### Metrics

- Filter out empty string metric names by @k-fish in [#106266](https://github.com/getsentry/sentry/pull/106266)
- Disable extrapolation when getting count of telemetry by @Zylphrex in [#105714](https://github.com/getsentry/sentry/pull/105714)

#### Preprocessing

- Bump redirect-preprocess threshold by @thetruecpaul in [#105391](https://github.com/getsentry/sentry/pull/105391)
- Get merged group_ids after intersections by @thetruecpaul in [#105385](https://github.com/getsentry/sentry/pull/105385)

#### Preprod

- Fix breadcrumb links on build pages (EME-720) by @runningcode in [#106186](https://github.com/getsentry/sentry/pull/106186)
- Remove query when switching tabs by @chromy in [#106181](https://github.com/getsentry/sentry/pull/106181)
- Hide missing git metadata while uploading by @cameroncooke in [#106103](https://github.com/getsentry/sentry/pull/106103)
- Return JsonResponse instead of HttpResponse for error in artifact image endpoint by @runningcode in [#105715](https://github.com/getsentry/sentry/pull/105715)
- Fix error response handling in size analysis download endpoint and frontend (EME-718) by @runningcode in [#105624](https://github.com/getsentry/sentry/pull/105624)
- Use projectid for preprodBuilds list, not projectSlug by @NicoHinderling in [#105650](https://github.com/getsentry/sentry/pull/105650)
- Standardize error responses to use `detail` key in compare download endpoint (EME-718) by @runningcode in [#105623](https://github.com/getsentry/sentry/pull/105623)
- Avoid text overflow on diff hover by @chromy in [#105634](https://github.com/getsentry/sentry/pull/105634)
- Send compare page index to 404 in [#105629](https://github.com/getsentry/sentry/pull/105629)
- Display error for mismatched build configurations (EME-699) in [#105529](https://github.com/getsentry/sentry/pull/105529)

#### Security

- IDOR in OrganizationOnDemandRuleStatsEndpoint - scope Project by organization by @dcramer in [#104988](https://github.com/getsentry/sentry/pull/104988)
- IDOR in OrganizationEventsEndpoint - scope DashboardWidget by organization by @dcramer in [#104987](https://github.com/getsentry/sentry/pull/104987)
- IDOR in OrganizationEventsStatsEndpoint - scope DashboardWidget by organization by @dcramer in [#104986](https://github.com/getsentry/sentry/pull/104986)

#### Seer

- Fix repository lookup to handle renamed repos by @sehr-m in [#106129](https://github.com/getsentry/sentry/pull/106129)
- Only show one tooltip to explain delegating background agents by @ryan953 in [#105967](https://github.com/getsentry/sentry/pull/105967)
- Disable formatting of save toasts for Code Review triggers… by @ryan953 in [#105961](https://github.com/getsentry/sentry/pull/105961)
- Update copy and add more help text to explain default settings by @ryan953 in [#105964](https://github.com/getsentry/sentry/pull/105964)
- Add a border to the seer onboarding banner by @ryan953 in [#105972](https://github.com/getsentry/sentry/pull/105972)
- Show "Previous Step" during step 5 of seer onboarding by @ryan953 in [#105965](https://github.com/getsentry/sentry/pull/105965)
- Retry transient HTTP errors in get_anomaly_data Seer calls by @kcons in [#105854](https://github.com/getsentry/sentry/pull/105854)
- Add retries to get_historical_anomaly_data_from_seer_preview seer requests in [#105542](https://github.com/getsentry/sentry/pull/105542)

#### Stories

- Remove global css by @natemoo-re in [#105738](https://github.com/getsentry/sentry/pull/105738)
- `type` -> `variant` in [#105565](https://github.com/getsentry/sentry/pull/105565)
- Remove overflow in [#105546](https://github.com/getsentry/sentry/pull/105546)

#### Theme

- Adjust `react-select` theme access by @natemoo-re in [#106127](https://github.com/getsentry/sentry/pull/106127)
- Invisible caret by @natemoo-re in [#106036](https://github.com/getsentry/sentry/pull/106036)

#### Tracemetrics

- Properly apply legend alias by @narsaynorath in [#105855](https://github.com/getsentry/sentry/pull/105855)
- Change Open in Metrics to Open in Explore by @narsaynorath in [#105823](https://github.com/getsentry/sentry/pull/105823)
- Use same intervals as spans and logs by @narsaynorath in [#105809](https://github.com/getsentry/sentry/pull/105809)
- Pass along response derived units by @narsaynorath in [#105760](https://github.com/getsentry/sentry/pull/105760)
- Table in widget viewer should show correct units by @narsaynorath in [#105684](https://github.com/getsentry/sentry/pull/105684)
- Format aggregate header cell in widget viewer by @narsaynorath in [#105664](https://github.com/getsentry/sentry/pull/105664)
- Uniquely identify multiple series by @narsaynorath in [#105610](https://github.com/getsentry/sentry/pull/105610)

#### Ui

- Allow empty createdBy for starred views by @evanpurkhiser in [#106178](https://github.com/getsentry/sentry/pull/106178)
- Ignore sentry console banner in breadcrumbs by @scttcper in [#106155](https://github.com/getsentry/sentry/pull/106155)
- Prevent infinite render loop in `PageAlertProvider` by @gggritso in [#106079](https://github.com/getsentry/sentry/pull/106079)
- Size leading items wrapper to height of input group by @evanpurkhiser in [#105912](https://github.com/getsentry/sentry/pull/105912)
- Selecting of arbitrary relative periods in auditLogList by @TkDodo in [#105795](https://github.com/getsentry/sentry/pull/105795)
- Avoid logging sentry console banner in tests by @scttcper in [#105733](https://github.com/getsentry/sentry/pull/105733)
- Avoid loading invalid prism files by @scttcper in [#105730](https://github.com/getsentry/sentry/pull/105730)

#### Uptime

- Use alert permissions for preview check endpoint by @evanpurkhiser in [#106217](https://github.com/getsentry/sentry/pull/106217)
- Fix skip backfill logic to only run after the interval has been changed by @wedamija in [#106135](https://github.com/getsentry/sentry/pull/106135)
- Attempt to fix missing misses from backfill by @wedamija in [#106046](https://github.com/getsentry/sentry/pull/106046)
- Remove empty name shim by @evanpurkhiser in [#105194](https://github.com/getsentry/sentry/pull/105194)
- Include headers and body in detector form payload by @evanpurkhiser in [#105686](https://github.com/getsentry/sentry/pull/105686)

#### Other

- (ai-conversations) Id path param regex by @obostjancic in [#106183](https://github.com/getsentry/sentry/pull/106183)
- (ai-trace) Turn off autogrouping for gen_ai spans by @obostjancic in [#105990](https://github.com/getsentry/sentry/pull/105990)
- (arithmetic-equations) Set constrained max width by @nsdeschenes in [#105904](https://github.com/getsentry/sentry/pull/105904)
- (autopilot) Fix issue fingerprint by @ArthurKnaus in [#106357](https://github.com/getsentry/sentry/pull/106357)
- (autopilot-logging) Chain to list by @ArthurKnaus in [#105480](https://github.com/getsentry/sentry/pull/105480)
- (cmdk) Border misalignment in searchbar by @cvxluo in [#105474](https://github.com/getsentry/sentry/pull/105474)
- (core-ui) Bump grid sticket z-index by @nsdeschenes in [#105661](https://github.com/getsentry/sentry/pull/105661)
- (crons) Honor alertsMemberWrite setting by @oioki in [#104171](https://github.com/getsentry/sentry/pull/104171)
- (dashboard) Use disabledKeys to prevent duplication and deletion of prebuilt dashboards by @DominikB2014 in [#105955](https://github.com/getsentry/sentry/pull/105955)
- (dynamic-grouping) Remove cluster id when selecting project by @scttcper in [#106140](https://github.com/getsentry/sentry/pull/106140)
- (dynamic-sampling) Don't query snuba for empty sets in boost_low_volume_projects by @shellmayr in [#105226](https://github.com/getsentry/sentry/pull/105226)
- (errors) Add error.received to timestamp fields by @nsdeschenes in [#105713](https://github.com/getsentry/sentry/pull/105713)
- (event_frames) Ensure frames are filtered when extracting from thread by @seer-by-sentry in [#105501](https://github.com/getsentry/sentry/pull/105501)
- (github) Add ownership check to repo by @Christinarlong in [#105061](https://github.com/getsentry/sentry/pull/105061)
- (gsApp) Remove deprecated route props from route hook by @scttcper in [#106105](https://github.com/getsentry/sentry/pull/106105)
- (HC) Reshard ApiToken outboxes to the new ApiToken shard by @GabeVillalobos in [#105871](https://github.com/getsentry/sentry/pull/105871)
- (integrations) Disable uninstall button when integration is pending deletion by @JoshFerge in [#105658](https://github.com/getsentry/sentry/pull/105658)
- (issue details) Correctly copy issue details for threaded stacktraces by @sehr-m in [#105434](https://github.com/getsentry/sentry/pull/105434)
- (issue-search) Correctly parse negated contains filters by @cvxluo in [#105699](https://github.com/getsentry/sentry/pull/105699)
- (linting) Small linting fixes by @hubertdeng123 in [#106329](https://github.com/getsentry/sentry/pull/106329)
- (logs) Only send timestamp filter if autorefresh enabled by @narsaynorath in [#105421](https://github.com/getsentry/sentry/pull/105421)
- (oauth) Support public clients for device flow per RFC 8628 §5.6 by @betegon in [#106169](https://github.com/getsentry/sentry/pull/106169)
- (occurrences on eap) Fix encoding of event IDs when writing occurrences to EAP by @shashjar in [#105981](https://github.com/getsentry/sentry/pull/105981)
- (rcs) Address design reviews of RCA empty state by @Zylphrex in [#105997](https://github.com/getsentry/sentry/pull/105997)
- (releases) Allow project:releases scope for org releases endpoint by @szokeasaurusrex in [#105130](https://github.com/getsentry/sentry/pull/105130)
- (rules) Must be a member of a team to assign it as the rule owner by @oioki in [#105177](https://github.com/getsentry/sentry/pull/105177)
- (scraps) Align leadingItems in compactSelect with check box/icon by @TkDodo in [#106167](https://github.com/getsentry/sentry/pull/106167)
- (sdk-crashes) Ignore SentrySwizzleWrapper false positives (#105625) by @calm329 in [#105705](https://github.com/getsentry/sentry/pull/105705)
- (sdk-integration-detector) Improve logs in [#105597](https://github.com/getsentry/sentry/pull/105597)
- (search) Handle many parens in query values by @nsdeschenes in [#105488](https://github.com/getsentry/sentry/pull/105488)
- (search-bar) Use search context parseQuery function by @nsdeschenes in [#105802](https://github.com/getsentry/sentry/pull/105802)
- (search-query-builder) Remove underline from Alpha badge by @cvxluo in [#106153](https://github.com/getsentry/sentry/pull/106153)
- (seer onboarding) Remove on_command_phrase CR trigger from settings forms by @srest2021 in [#105696](https://github.com/getsentry/sentry/pull/105696)
- (seer setting) Grey out Auto Open PRs when auto trigger is Off by @Mihir-Mavalankar in [#105792](https://github.com/getsentry/sentry/pull/105792)
- (seer-slack) Update messages after autofix engagement to prevent duplicate triggers by @leeandher in [#105963](https://github.com/getsentry/sentry/pull/105963)
- (spans-migration) Add tooltip to open in explore with different extrapolation modes by @nikkikapadia in [#106023](https://github.com/getsentry/sentry/pull/106023)
- (taskworker) Prevent taskworker from blocking tasks on stale cach… by @shellmayr in [#105801](https://github.com/getsentry/sentry/pull/105801)
- (tokens) Add async flush outboxes by @Christinarlong in [#105264](https://github.com/getsentry/sentry/pull/105264)
- (ts) Fix text `label` types by @evanpurkhiser in [#106088](https://github.com/getsentry/sentry/pull/106088)
- (user-feedback) Remove link to trace when it wasn't sampled by @nsdeschenes in [#105584](https://github.com/getsentry/sentry/pull/105584)
- (workflow_engine) Add an index to the `incident_identifier` by @saponifi3d in [#106049](https://github.com/getsentry/sentry/pull/106049)
- Typo by @TkDodo in [#106246](https://github.com/getsentry/sentry/pull/106246)
- Dedupe aliases before final request by @shruthilayaj in [#104900](https://github.com/getsentry/sentry/pull/104900)
- Fix rendering when a null member is returned by @ryan953 in [#105419](https://github.com/getsentry/sentry/pull/105419)

### Documentation 📚

- (agents) Add guidance for avoiding loading indicator waits in tests by @JoshFerge in [#105670](https://github.com/getsentry/sentry/pull/105670)
- (chunk) Document CHUNK_UPLOAD_ACCEPT backwards compatibility by @szokeasaurusrex in [#106065](https://github.com/getsentry/sentry/pull/106065)
- (cloudflare) Change onboarding script for Cloudflare Workers by @JPeer264 in [#105640](https://github.com/getsentry/sentry/pull/105640)

### Build / dependencies / internal 🔧

#### Aci

- Remove redirect opt out for discover create alert button by @malwilley in [#106207](https://github.com/getsentry/sentry/pull/106207)
- Default to using issue stream detector by @cathteng in [#106150](https://github.com/getsentry/sentry/pull/106150)
- Refactor redis buffer management in delayed_workflows to simplify cleanup by @kcons in [#105839](https://github.com/getsentry/sentry/pull/105839)
- Populate legacy_rule_id and/or workflow_id in action dispatch by @cathteng in [#106051](https://github.com/getsentry/sentry/pull/106051)
- Handle workflows or rules in digests sans feature flag by @cathteng in [#105999](https://github.com/getsentry/sentry/pull/105999)
- Remove ui links flag for metric alerts by @mifu67 in [#105979](https://github.com/getsentry/sentry/pull/105979)
- Use cache for Project and Organization lookups by @kcons in [#106012](https://github.com/getsentry/sentry/pull/106012)
- Add back subscription processor crash rate detector test coverage by @ceorourke in [#105205](https://github.com/getsentry/sentry/pull/105205)
- Populate slack notification environment correctly by @cathteng in [#105676](https://github.com/getsentry/sentry/pull/105676)
- Parse metric issue assignee from detector.owner in [#105605](https://github.com/getsentry/sentry/pull/105605)
- Update copy for metric monitor resolution threshold by @ameliahsu in [#105514](https://github.com/getsentry/sentry/pull/105514)

#### Admin

- Remove deprecatedRouteProps from all 13 admin routes by @ryan953 in [#106339](https://github.com/getsentry/sentry/pull/106339)
- Remove usage of `deprecatedRouteProps` for `Broadcasts` route by @shashjar in [#106044](https://github.com/getsentry/sentry/pull/106044)
- Remove usage of `deprecatedRouteProps` for `Beacons` route by @shashjar in [#106043](https://github.com/getsentry/sentry/pull/106043)
- Remove usage of `deprecatedRouteProps` for admin `BroadcastDetails` route by @shashjar in [#105838](https://github.com/getsentry/sentry/pull/105838)
- Remove usage of `deprecatedRouteProps` for admin `BeaconDetails` route by @shashjar in [#105836](https://github.com/getsentry/sentry/pull/105836)
- Use `Outlet` to render children in admin layout route by @shashjar in [#105441](https://github.com/getsentry/sentry/pull/105441)

#### Alerts

- Remove hasMetricAlerts and hasUptimeAlerts route props by @ryan953 in [#106346](https://github.com/getsentry/sentry/pull/106346)
- Remove `deprecatedRouteProps` usage for `IncidentsList` by @shashjar in [#105453](https://github.com/getsentry/sentry/pull/105453)
- Migrate `RelatedIssues` off of the deprecated router by @shashjar in [#105389](https://github.com/getsentry/sentry/pull/105389)

#### Api

- Switch from `ParamsType` to `SnubaParams` in group endpoints by @shashjar in [#105950](https://github.com/getsentry/sentry/pull/105950)
- Deprecate legacy first-last-release endpoint URL by @shayna-ch in [#105771](https://github.com/getsentry/sentry/pull/105771)

#### Ask Seer

- Clean up old flags by @nsdeschenes in [#105833](https://github.com/getsentry/sentry/pull/105833)
- Clean up old explore traces flags by @nsdeschenes in [#105835](https://github.com/getsentry/sentry/pull/105835)

#### Auth

- Clean up component definitions for auth layout by @shashjar in [#105449](https://github.com/getsentry/sentry/pull/105449)
- Remove usage of `deprecatedRouteProps` for auth layout route by @shashjar in [#105313](https://github.com/getsentry/sentry/pull/105313)

#### Autofix

- Require mode=explorer to explicitly use autofix-on-ex… by @Zylphrex in [#106216](https://github.com/getsentry/sentry/pull/106216)
- Explicit opt in to autofix-on-explorer by @Zylphrex in [#106212](https://github.com/getsentry/sentry/pull/106212)

#### Billing

- Migrate billing calculations to use formatting config by @dashed in [#104808](https://github.com/getsentry/sentry/pull/104808)
- Refactoring quotas.py seat methods to not use data_category by @krithikravi in [#106026](https://github.com/getsentry/sentry/pull/106026)
- Remove UI flags by @isabellaenriquez in [#105944](https://github.com/getsentry/sentry/pull/105944)
- Clean up analytics by @isabellaenriquez in [#105931](https://github.com/getsentry/sentry/pull/105931)
- Remove unused ProductUsageChart by @scttcper in [#105927](https://github.com/getsentry/sentry/pull/105927)
- Cleanup legacy Stripe + billing details code by @isabellaenriquez in [#105745](https://github.com/getsentry/sentry/pull/105745)
- Use `<Outlet/>` in OrganizationSubscriptionContext and remove deprecatedRouteProps by @ryan953 in [#105918](https://github.com/getsentry/sentry/pull/105918)
- Remove usage of `deprecatedRouteProps` for `UsageLog` component by @shashjar in [#105779](https://github.com/getsentry/sentry/pull/105779)
- Remove usage of `deprecatedRouteProps` for `BillingInformation` component by @shashjar in [#105777](https://github.com/getsentry/sentry/pull/105777)
- Remove usage of `deprecatedRouteProps` for `SubscriptionNotifications` component by @shashjar in [#105772](https://github.com/getsentry/sentry/pull/105772)
- Remove usage of `deprecatedRouteProps` for `PaymentHistory` component by @shashjar in [#105700](https://github.com/getsentry/sentry/pull/105700)
- Remove usage of `deprecatedRouteProps` for `UsageHistory` component by @shashjar in [#105697](https://github.com/getsentry/sentry/pull/105697)
- Remove usage of `deprecatedRouteProps` for subscription overview route by @shashjar in [#105698](https://github.com/getsentry/sentry/pull/105698)
- Update launch feature in showNewSeer by @brendanhsentry in [#105470](https://github.com/getsentry/sentry/pull/105470)

#### Checkout

- Rework CheckoutOption by @isabellaenriquez in [#106220](https://github.com/getsentry/sentry/pull/106220)
- Convert AMCheckout to FC by @isabellaenriquez in [#105861](https://github.com/getsentry/sentry/pull/105861)
- Remove dead code by @isabellaenriquez in [#105278](https://github.com/getsentry/sentry/pull/105278)

#### Code Review

- Hook up list of gh orgs to options-automator by @suejung-sentry in [#105886](https://github.com/getsentry/sentry/pull/105886)
- Centralize webhook configuration and simplify event processing by @armenzg in [#105712](https://github.com/getsentry/sentry/pull/105712)
- Refactor how we extract metadata by @armenzg in [#105644](https://github.com/getsentry/sentry/pull/105644)

#### Core

- Simplify `AlertBadge` logic by @natemoo-re in [#105958](https://github.com/getsentry/sentry/pull/105958)
- Consolidate segmentedControl files and remove chonk naming by @JonasBa in [#105577](https://github.com/getsentry/sentry/pull/105577)
- Consolidate button styles files and remove chonk naming by @JonasBa in [#105576](https://github.com/getsentry/sentry/pull/105576)
- Consolidate alertBadge files and remove chonk naming by @JonasBa in [#105579](https://github.com/getsentry/sentry/pull/105579)
- Consolidate select files and remove chonk naming by @JonasBa in [#105578](https://github.com/getsentry/sentry/pull/105578)
- Consolidate checkbox component files and remove chonk naming by @JonasBa in [#105575](https://github.com/getsentry/sentry/pull/105575)
- Consolidate menuListItem component files by @JonasBa in [#105572](https://github.com/getsentry/sentry/pull/105572)
- Consolidate inputGroup component files by @JonasBa in [#105571](https://github.com/getsentry/sentry/pull/105571)
- Consolidate alert component files and remove chonk naming by @JonasBa in [#105573](https://github.com/getsentry/sentry/pull/105573)
- Consolidate switch component files and remove chonk naming by @JonasBa in [#105569](https://github.com/getsentry/sentry/pull/105569)
- Consolidate radio component files and remove chonk naming by @JonasBa in [#105570](https://github.com/getsentry/sentry/pull/105570)
- Consolidate tab component files and remove chonk naming by @JonasBa in [#105568](https://github.com/getsentry/sentry/pull/105568)

#### Dashboards

- Convert GenericWidgetQueries consumers to use hook by @DominikB2014 in [#106284](https://github.com/getsentry/sentry/pull/106284)
- Convert generic widget queries to functional component by @DominikB2014 in [#106182](https://github.com/getsentry/sentry/pull/106182)
- Nit: align widget builder w nav and body content by @mtopo27 in [#105879](https://github.com/getsentry/sentry/pull/105879)
- Remove usages of `deprecatedRouteProps` for dashboard routes by @shashjar in [#105440](https://github.com/getsentry/sentry/pull/105440)
- Migrate tests for `WidgetBuilderSlideout` component off of `deprecatedRouterMocks` by @shashjar in [#105521](https://github.com/getsentry/sentry/pull/105521)
- Migrate tests for widget builder component off of `deprecatedRouterMocks` by @shashjar in [#105520](https://github.com/getsentry/sentry/pull/105520)

#### Discover

- Migrate `ProjectEventRedirect` to use API instead of XHR by @shashjar in [#105464](https://github.com/getsentry/sentry/pull/105464)
- Migrate tests for `DatasetSelectorTabs` component off of `deprecatedRouterMocks` by @shashjar in [#105522](https://github.com/getsentry/sentry/pull/105522)
- Migrate `actionDropdown` tests off of `deprecatedRouterMocks` by @shashjar in [#105456](https://github.com/getsentry/sentry/pull/105456)

#### Dynamic Sampling

- Remove option for empty queries after rollout by @shellmayr in [#105991](https://github.com/getsentry/sentry/pull/105991)
- Remove logging statements for log-project-config by @shellmayr in [#105138](https://github.com/getsentry/sentry/pull/105138)

#### Explorer

- Add loading toast and fix styling to cursor card by @roaga in [#106195](https://github.com/getsentry/sentry/pull/106195)
- Add error toast when failing to launch cursor agent by @roaga in [#106113](https://github.com/getsentry/sentry/pull/106113)
- Error msg for empty state when state req fails by @aliu39 in [#106040](https://github.com/getsentry/sentry/pull/106040)
- Slice event id in tool copy by @aliu39 in [#105945](https://github.com/getsentry/sentry/pull/105945)
- Make session read only if owner_user_id doesnt match (2) by @aliu39 in [#105789](https://github.com/getsentry/sentry/pull/105789)
- Check ff for sessions request by @aliu39 in [#105837](https://github.com/getsentry/sentry/pull/105837)
- 100 candidate events for rec event by @aliu39 in [#105682](https://github.com/getsentry/sentry/pull/105682)
- Improve rec event query performance w a sliding window by @aliu39 in [#105476](https://github.com/getsentry/sentry/pull/105476)

#### Grouping

- Add python multiprocessing context line test inputs by @lobsterkatie in [#106055](https://github.com/getsentry/sentry/pull/106055)
- Fix single non-URL frame handling in new config by @lobsterkatie in [#105935](https://github.com/getsentry/sentry/pull/105935)
- Remove `contributes` check for single JS frame ignoring by @lobsterkatie in [#105829](https://github.com/getsentry/sentry/pull/105829)
- Add delete and discard tests by @lobsterkatie in [#105708](https://github.com/getsentry/sentry/pull/105708)

#### Insights

- Removes unused transaction filter in web vitals queries by @edwardgou-sentry in [#105431](https://github.com/getsentry/sentry/pull/105431)
- Rename `ReleaseComparisonSelector` by @gggritso in [#105152](https://github.com/getsentry/sentry/pull/105152)

#### Issue Search

- Remove enablement option for truncation of group IDs in Snuba queries by @shashjar in [#105732](https://github.com/getsentry/sentry/pull/105732)
- Remove debug logging in Snuba search executor by @shashjar in [#105702](https://github.com/getsentry/sentry/pull/105702)
- Remove project allowlist option for fallback to truncation of group IDs in Snuba queries by @shashjar in [#105665](https://github.com/getsentry/sentry/pull/105665)

#### Issues

- Avoid repeated org fetch in issue search by @scttcper in [#106287](https://github.com/getsentry/sentry/pull/106287)
- Add group_id list truncation warning in [#105175](https://github.com/getsentry/sentry/pull/105175)

#### Layout

- Use `Outlet` to render children in app body content route by @shashjar in [#105448](https://github.com/getsentry/sentry/pull/105448)
- Migrate `OrganizationContainer` off of `deprecatedRouterProps` by @shashjar in [#105461](https://github.com/getsentry/sentry/pull/105461)

#### Llm Detector

- Clean up detection code by @roggenkemper in [#105998](https://github.com/getsentry/sentry/pull/105998)
- Add log for response by @roggenkemper in [#105929](https://github.com/getsentry/sentry/pull/105929)
- Update cron schedule by @roggenkemper in [#105908](https://github.com/getsentry/sentry/pull/105908)
- Remove retries for LLM Detector by @roggenkemper in [#105864](https://github.com/getsentry/sentry/pull/105864)

#### Metrics

- Batch string indexer lookups in SnubaResultConverter by @scttcper in [#106232](https://github.com/getsentry/sentry/pull/106232)
- Stop accepting `router` prop in `MetricsDataSwitcherAlert` component in [#105435](https://github.com/getsentry/sentry/pull/105435)

#### Preprod

- Add extra status check failed logging by @trevor-e in [#106374](https://github.com/getsentry/sentry/pull/106374)
- Move Preprod{Static,Delta}GroupType to /preprod by @chromy in [#106255](https://github.com/getsentry/sentry/pull/106255)
- Remove deprecated is_installable from backend by @chromy in [#106200](https://github.com/getsentry/sentry/pull/106200)
- Remove deprecated is_installable from frontend by @chromy in [#106192](https://github.com/getsentry/sentry/pull/106192)
- Use encoding utilities to convert between preprod hex identifiers and EAP item IDs by @shashjar in [#106030](https://github.com/getsentry/sentry/pull/106030)
- Centralize URL building in helper functions by @runningcode in [#105827](https://github.com/getsentry/sentry/pull/105827)
- JsonResponse -> Response by @chromy in [#105811](https://github.com/getsentry/sentry/pull/105811)
- Add date_added index to preprodartifact by @NicoHinderling in [#105758](https://github.com/getsentry/sentry/pull/105758)
- Use Response instead of JsonResponse in artifact image endpoint by @runningcode in [#105794](https://github.com/getsentry/sentry/pull/105794)
- Integrate cleanup task into deletions task manager by @NicoHinderling in [#105742](https://github.com/getsentry/sentry/pull/105742)
- Restructure preprod deletion logic via endpoints by @NicoHinderling in [#105741](https://github.com/getsentry/sentry/pull/105741)
- Add builds list analytics hook by @mtopo27 in [#105679](https://github.com/getsentry/sentry/pull/105679)
- Delete no longer used project list-builds endpoint by @NicoHinderling in [#105652](https://github.com/getsentry/sentry/pull/105652)
- Migrate off of singular project list-builds endpoint by @NicoHinderling in [#105645](https://github.com/getsentry/sentry/pull/105645)
- Fix centering by @mtopo27 in [#105611](https://github.com/getsentry/sentry/pull/105611)
- Refactor preprod builds table by @mtopo27 in [#105552](https://github.com/getsentry/sentry/pull/105552)
- Remove namespace_alias in [#104761](https://github.com/getsentry/sentry/pull/104761)
- Adjust preprod search bar visibility in [#105551](https://github.com/getsentry/sentry/pull/105551)
- Add distribution info types by @mtopo27 in [#105536](https://github.com/getsentry/sentry/pull/105536)
- Add distribution_info to buildDetails api by @mtopo27 in [#105503](https://github.com/getsentry/sentry/pull/105503)
- Remove qr code on xs-sm screens by @mtopo27 in [#105491](https://github.com/getsentry/sentry/pull/105491)
- Download build container + vcs info by @mtopo27 in [#105450](https://github.com/getsentry/sentry/pull/105450)
- Mtopo27/refactor install modal by @mtopo27 in [#105445](https://github.com/getsentry/sentry/pull/105445)
- Refactor vcs details into separate component by @mtopo27 in [#105427](https://github.com/getsentry/sentry/pull/105427)
- Add internal distribution flag by @mtopo27 in [#105424](https://github.com/getsentry/sentry/pull/105424)

#### Scraps

- Remove deprecated black/white aliases by @TkDodo in [#106257](https://github.com/getsentry/sentry/pull/106257)
- Remove deprecated red aliases by @TkDodo in [#106254](https://github.com/getsentry/sentry/pull/106254)
- Move theme.tooltipUnderline to useHoverOverlay by @TkDodo in [#106247](https://github.com/getsentry/sentry/pull/106247)
- Background surface500/400/300 to background tokens by @TkDodo in [#106259](https://github.com/getsentry/sentry/pull/106259)
- Remove theme.button by @TkDodo in [#106264](https://github.com/getsentry/sentry/pull/106264)
- Remove theme.tag by @TkDodo in [#106173](https://github.com/getsentry/sentry/pull/106173)
- Replace debossedBackground with theme token by @TkDodo in [#106165](https://github.com/getsentry/sentry/pull/106165)
- Move prismVariables out of theme by @TkDodo in [#105901](https://github.com/getsentry/sentry/pull/105901)
- Remove theme.focus and theme.focusBorder aliases by @TkDodo in [#105896](https://github.com/getsentry/sentry/pull/105896)
- Remove theme.translucentBorder alias by @TkDodo in [#105891](https://github.com/getsentry/sentry/pull/105891)
- Remove theme.danger and theme.dangerText aliases by @TkDodo in [#105898](https://github.com/getsentry/sentry/pull/105898)
- Remove theme.border alias by @TkDodo in [#105895](https://github.com/getsentry/sentry/pull/105895)
- Remove theme.success and theme.successText aliases by @TkDodo in [#105897](https://github.com/getsentry/sentry/pull/105897)
- Remove theme.disabled alias by @TkDodo in [#105894](https://github.com/getsentry/sentry/pull/105894)
- Remove theme.disabledBorder alias by @TkDodo in [#105893](https://github.com/getsentry/sentry/pull/105893)
- Remove theme.headerBackground by @TkDodo in [#105818](https://github.com/getsentry/sentry/pull/105818)
- Update tokens by @natemoo-re in [#105641](https://github.com/getsentry/sentry/pull/105641)
- New token structure in [#105105](https://github.com/getsentry/sentry/pull/105105)

#### Seer

- Pass enum value for trigger by @seer-by-sentry in [#105951](https://github.com/getsentry/sentry/pull/105951)
- Guard access to the new Project>Seer settings page by @ryan953 in [#105814](https://github.com/getsentry/sentry/pull/105814)
- Optimistic updates inside of useUpdateProjectSeerPreferences() in [#105513](https://github.com/getsentry/sentry/pull/105513)
- Extract a `<RepoProviderIcon/>` react component in [#105523](https://github.com/getsentry/sentry/pull/105523)
- Import MAX_REPOS_LIMIT when we need it by @ryan953 in [#105515](https://github.com/getsentry/sentry/pull/105515)
- Put CodingAgentIntegration type near useAutofix() by @ryan953 in [#105510](https://github.com/getsentry/sentry/pull/105510)
- MakeProjectSeerPreferencesQueryKey should return an ApiQueryKey by @ryan953 in [#105511](https://github.com/getsentry/sentry/pull/105511)

#### Seer Onboarding

- Remove on_command_phrase CR trigger from CR enums by @srest2021 in [#105980](https://github.com/getsentry/sentry/pull/105980)
- Remove on_command_phrase CR trigger from repo settings and org options by @srest2021 in [#105978](https://github.com/getsentry/sentry/pull/105978)

#### Sentry Apps

- Fix N+1 queries in SentryAppSerializer by @scttcper in [#106305](https://github.com/getsentry/sentry/pull/106305)
- Option to disable paranoia for backfill script by @cathteng in [#105558](https://github.com/getsentry/sentry/pull/105558)
- Prepare to hard delete sentry apps and installs by @cathteng in [#105492](https://github.com/getsentry/sentry/pull/105492)

#### Settings

- Remove usages of `deprecatedRouteProps` for `SettingsLayout` routes by @shashjar in [#105517](https://github.com/getsentry/sentry/pull/105517)
- Remove usage of `deprecatedRouteProps` for early features route by @shashjar in [#105388](https://github.com/getsentry/sentry/pull/105388)
- Remove usage of `deprecatedRouteProps` for `SettingsWrapper` component by @shashjar in [#105387](https://github.com/getsentry/sentry/pull/105387)
- Remove usage of `deprecatedRouteProps` for `NoOp` component by @shashjar in [#105386](https://github.com/getsentry/sentry/pull/105386)

#### Stories

- Add `category` field to core components by @natemoo-re in [#105566](https://github.com/getsentry/sentry/pull/105566)
- Remove outdated principles by @natemoo-re in [#105759](https://github.com/getsentry/sentry/pull/105759)

#### Theme

- Remove legacy graphics theme tokens by @natemoo-re in [#106224](https://github.com/getsentry/sentry/pull/106224)
- Remove legacy content.muted theme token by @natemoo-re in [#106225](https://github.com/getsentry/sentry/pull/106225)
- Remove legacy `border.*` theme tokens by @natemoo-re in [#106223](https://github.com/getsentry/sentry/pull/106223)
- Remove legacy component.* theme tokens by @natemoo-re in [#106226](https://github.com/getsentry/sentry/pull/106226)
- Remove theme.active, activeHover, and activeText aliases by @JonasBa in [#106004](https://github.com/getsentry/sentry/pull/106004)
- Remove `backgroundSecondary` by @natemoo-re in [#106037](https://github.com/getsentry/sentry/pull/106037)
- Remove theme.error and theme.errorText aliases by @JonasBa in [#106003](https://github.com/getsentry/sentry/pull/106003)
- Remove theme.pink100-400 deprecated properties by @JonasBa in [#106006](https://github.com/getsentry/sentry/pull/106006)
- Replace `subText` with `content.secondary` by @natemoo-re in [#105851](https://github.com/getsentry/sentry/pull/105851)
- Remove hover by @natemoo-re in [#105825](https://github.com/getsentry/sentry/pull/105825)

#### Top Issues

- Sort singleton clusters lower by @cvxluo in [#106087](https://github.com/getsentry/sentry/pull/106087)
- Add pasting json to single card view in [#105477](https://github.com/getsentry/sentry/pull/105477)

#### Ui

- Remove MarkedText from SentryApp overview description by @oioki in [#106275](https://github.com/getsentry/sentry/pull/106275)
- Limit files typechecked by fork-ts-plugin by @scttcper in [#106222](https://github.com/getsentry/sentry/pull/106222)
- Add TimeRangeSelectTrigger by @TkDodo in [#105214](https://github.com/getsentry/sentry/pull/105214)
- Consolidate tsconfig files by @scttcper in [#106034](https://github.com/getsentry/sentry/pull/106034)
- Add tsgo nightly preview by @scttcper in [#106042](https://github.com/getsentry/sentry/pull/106042)
- Convert GuideAnchor to FC by @scttcper in [#105401](https://github.com/getsentry/sentry/pull/105401)
- Enforce getsentry import boundaries on dynamic imports by @scttcper in [#105657](https://github.com/getsentry/sentry/pull/105657)

#### Unmerge

- Bump unmerge timeout to 300s by @cvxluo in [#106106](https://github.com/getsentry/sentry/pull/106106)
- Only do `MinHash` repair if not on AI grouping by @cvxluo in [#105973](https://github.com/getsentry/sentry/pull/105973)

#### Uptime

- Use encoding utilities to convert between hex identifiers and EAP item IDs by @shashjar in [#106033](https://github.com/getsentry/sentry/pull/106033)
- Increase backlog queue max wait time from 3 minutes to 5 minutes. by @wedamija in [#106047](https://github.com/getsentry/sentry/pull/106047)
- Add better comment to `queue_result_for_retry` by @wedamija in [#105853](https://github.com/getsentry/sentry/pull/105853)
- Extract processing and backfill logic into reusable functions by @wedamija in [#105692](https://github.com/getsentry/sentry/pull/105692)

#### Other

- (ai-ml) Correct flag name on tooltip by @leeandher in [#105153](https://github.com/getsentry/sentry/pull/105153)
- (anomaly thresholds) Add anomaly thresholds to alerts charts by @shayna-ch in [#105953](https://github.com/getsentry/sentry/pull/105953)
- (attr breakdowns) Clean up calling the RRF function by @aayush-se in [#106118](https://github.com/getsentry/sentry/pull/106118)
- (attribute breakdowns) Failure rate by @aayush-se in [#106039](https://github.com/getsentry/sentry/pull/106039)
- (automations) Remove deprecatedRouteProps from automation redirect components by @ryan953 in [#106337](https://github.com/getsentry/sentry/pull/106337)
- (autopilot) More logging by @ArthurKnaus in [#105479](https://github.com/getsentry/sentry/pull/105479)
- (breadcrumbs) Migrate tests off of `deprecatedRouterMocks` by @shashjar in [#105455](https://github.com/getsentry/sentry/pull/105455)
- (broadcasts) Batch mark-seen inserts by @scttcper in [#106312](https://github.com/getsentry/sentry/pull/106312)
- (build) Extract conventions descriptions to translation files by @nsdeschenes in [#105415](https://github.com/getsentry/sentry/pull/105415)
- (core-ui) Remove to prop from being rendered by @nsdeschenes in [#105499](https://github.com/getsentry/sentry/pull/105499)
- (data-forwarding) Better disablement, hide legacy forwarding by @leeandher in [#104726](https://github.com/getsentry/sentry/pull/104726)
- (eap) Bump max rollup in general sentry constants by @nikkikapadia in [#106001](https://github.com/getsentry/sentry/pull/106001)
- (errors) Increase max tag length to 256 to match request.url limit by @Dav1dde in [#105828](https://github.com/getsentry/sentry/pull/105828)
- (events) Remove unused EventCustomPerformanceMetrics by @scttcper in [#105926](https://github.com/getsentry/sentry/pull/105926)
- (explore) Add attribute mapping endpoint description by @nsdeschenes in [#106296](https://github.com/getsentry/sentry/pull/106296)
- (features) Remove unused profiling feature flag by @Dav1dde in [#105791](https://github.com/getsentry/sentry/pull/105791)
- (flags) Add frontend and backend flags for automatic console sdk invites by @alexsohn1126 in [#105952](https://github.com/getsentry/sentry/pull/105952)
- (grouplist) Refactor GroupList to use useApiQuery by @malwilley in [#105688](https://github.com/getsentry/sentry/pull/105688)
- (infra) Remove codecov.yml by @rbro112 in [#105717](https://github.com/getsentry/sentry/pull/105717)
- (logs) Add analytics for mismatch between virtual and original data by @k-fish in [#105810](https://github.com/getsentry/sentry/pull/105810)
- (member merge) Backfill emails for self-hosted sentry app proxy users by @mifu67 in [#101887](https://github.com/getsentry/sentry/pull/101887)
- (profiles) Use encoding utilities to convert between profile IDs and EAP item IDs by @shashjar in [#106032](https://github.com/getsentry/sentry/pull/106032)
- (quotas) Remove global quotas by @Dav1dde in [#106245](https://github.com/getsentry/sentry/pull/106245)
- (relocation) Remove usage of `deprecatedRouteProps` for relocation route by @shashjar in [#105433](https://github.com/getsentry/sentry/pull/105433)
- (replay) Move live/refresh logic into hooks by @billyvg in [#105647](https://github.com/getsentry/sentry/pull/105647)
- (router) Migrate `withSentryRouter` tests off of `deprecatedRouterMocks` by @shashjar in [#105454](https://github.com/getsentry/sentry/pull/105454)
- (routes) Remove leftover usage of `deprecatedRouteProps` for the `DisabledMemberComponent` by @shashjar in [#105463](https://github.com/getsentry/sentry/pull/105463)
- (routing) Migrate SDK documentation test file off of `deprecatedRouterMocks` by @shashjar in [#105465](https://github.com/getsentry/sentry/pull/105465)
- (sdk-init) Ignore sending console banner to Sentry by @nsdeschenes in [#105799](https://github.com/getsentry/sentry/pull/105799)
- (search) Register explicit boolean tag feature flag by @nsdeschenes in [#106250](https://github.com/getsentry/sentry/pull/106250)
- (search agent) Register flag in [#105613](https://github.com/getsentry/sentry/pull/105613)
- (searchQueryBuilder) Move GetTagValues to searchQueryBuilder by @chromy in [#105806](https://github.com/getsentry/sentry/pull/105806)
- (segments) Add basic org killswitch by @untitaker in [#104769](https://github.com/getsentry/sentry/pull/104769)
- (similarity) Gate MinHash similarity if on SaaS by @cvxluo in [#106086](https://github.com/getsentry/sentry/pull/106086)
- (spans) Use encoding utilities to convert between span IDs and EAP item IDs by @shashjar in [#106031](https://github.com/getsentry/sentry/pull/106031)
- (spend allocations) Clean up UI code by @isabellaenriquez in [#106191](https://github.com/getsentry/sentry/pull/106191)
- (strings) Add additional tags and metrics for span first by @Dav1dde in [#105630](https://github.com/getsentry/sentry/pull/105630)
- (sub v3) Remove dead code by @isabellaenriquez in [#105677](https://github.com/getsentry/sentry/pull/105677)
- (tests) Migrate tests for Snuba search backend to use options context manager by @shashjar in [#105469](https://github.com/getsentry/sentry/pull/105469)
- (trace explorer) Use agentic search endpoint by @aayush-se in [#105583](https://github.com/getsentry/sentry/pull/105583)
- (trace-waterfall) Add paginated waterfall feature flags by @nsdeschenes in [#105906](https://github.com/getsentry/sentry/pull/105906)
- (tsc) Fix type error with old theme colors by @malwilley in [#106110](https://github.com/getsentry/sentry/pull/106110)
- (workflow_engine) Consolidate action handler parameters with ActionInvocation dataclass by @kcons in [#105524](https://github.com/getsentry/sentry/pull/105524)
- Add convert_args to ProjectTemplateDetailEndpoint by @oioki in [#106099](https://github.com/getsentry/sentry/pull/106099)
- Generic HMAC service authentication class by @lynnagara in [#106231](https://github.com/getsentry/sentry/pull/106231)
- Add convert_args to AcceptOrganizationInvite by @oioki in [#106078](https://github.com/getsentry/sentry/pull/106078)
- Add convert_args to OrganizationApiKeyDetailsEndpoint by @oioki in [#106075](https://github.com/getsentry/sentry/pull/106075)
- Assign taskworker modules to streaming-platform by @markstory in [#106020](https://github.com/getsentry/sentry/pull/106020)
- Add convert_args to ProjectKeyDetailsEndpoint by @oioki in [#106077](https://github.com/getsentry/sentry/pull/106077)
- Add convert_args to ApiTokenDetailsEndpoint by @oioki in [#106076](https://github.com/getsentry/sentry/pull/106076)
- Bump knip and address new findings by @TkDodo in [#105987](https://github.com/getsentry/sentry/pull/105987)
- Fix typo in workflow by @ryan953 in [#106022](https://github.com/getsentry/sentry/pull/106022)
- Cleanup old flag organizations:user-feedback-ui by @ryan953 in [#105957](https://github.com/getsentry/sentry/pull/105957)
- Add span-v2-otlp-processing feature flag by @mjq in [#105840](https://github.com/getsentry/sentry/pull/105840)
- Refactor InvoiceDetails view to not use deprecatedRouteProps by @ryan953 in [#105813](https://github.com/getsentry/sentry/pull/105813)
- Remove unused relay /projectids endpoint by @lynnagara in [#105746](https://github.com/getsentry/sentry/pull/105746)
- Refactor RedeemPromoCode view to not use deprecatedRouteProps by @ryan953 in [#105812](https://github.com/getsentry/sentry/pull/105812)
- Create a SubscriptionContext specifically for routes/views by @ryan953 in [#105817](https://github.com/getsentry/sentry/pull/105817)
- Refactor LegalAndCompliance view to not use deprecatedRouteProps by @ryan953 in [#105808](https://github.com/getsentry/sentry/pull/105808)
- Cleanup `secret-scanning.github.notifications.email-allowlist` by @oioki in [#105626](https://github.com/getsentry/sentry/pull/105626)
- Add instructions about get_attrs and serialize to AGENTS.md by @shellmayr in [#104674](https://github.com/getsentry/sentry/pull/104674)
- Clear Python cache in setup-sentry action in [#105481](https://github.com/getsentry/sentry/pull/105481)
- Change ownership to new team in [#105574](https://github.com/getsentry/sentry/pull/105574)
- Delete coverage by @joshuarli in [#105394](https://github.com/getsentry/sentry/pull/105394)

### Other

- ref(theme) remove theme.green100 to green400 by @JonasBa in [#106145](https://github.com/getsentry/sentry/pull/106145)
- codemod(flex): apply changes for @getsentry/telemetry-experience by @JonasBa in [#106306](https://github.com/getsentry/sentry/pull/106306)
- codemod(flex): apply changes for @getsentry/app-frontend by @JonasBa in [#106300](https://github.com/getsentry/sentry/pull/106300)
- button: add warning variant by @JonasBa in [#106317](https://github.com/getsentry/sentry/pull/106317)
- ✨ feat(GHE): add issue sync support by @iamrajjoshi in [#103424](https://github.com/getsentry/sentry/pull/103424)
- codemod(flex): apply changes for @getsentry/feedback-frontend by @JonasBa in [#106298](https://github.com/getsentry/sentry/pull/106298)
- codemod(flex): apply changes for @getsentry/profiling by @JonasBa in [#106297](https://github.com/getsentry/sentry/pull/106297)
- ref(core) improve type signature of core components by @JonasBa in [#106273](https://github.com/getsentry/sentry/pull/106273)
- ref(theme) always invoke CSS resolver by @JonasBa in [#106218](https://github.com/getsentry/sentry/pull/106218)
- ref(theme) remove yellow100-yellow400 by @JonasBa in [#106144](https://github.com/getsentry/sentry/pull/106144)
- ref(theme) remove theme.overflowEllipsis by @JonasBa in [#105933](https://github.com/getsentry/sentry/pull/105933)
- theme: update proxy to handle JSON serialization by @JonasBa in [#106208](https://github.com/getsentry/sentry/pull/106208)
- dx(claude): Allow claude to run gh repo view by default by @chromy in [#106203](https://github.com/getsentry/sentry/pull/106203)
- ref(theme) remove theme.gray by @JonasBa in [#106139](https://github.com/getsentry/sentry/pull/106139)
- codemod(flex): apply changes for @getsentry/replay-frontend by @JonasBa in [#106122](https://github.com/getsentry/sentry/pull/106122)
- codemod(flex): apply changes for @getsentry/data-browsing by @JonasBa in [#106120](https://github.com/getsentry/sentry/pull/106120)
- ref(theme) remove backgroundTertiary by @JonasBa in [#106132](https://github.com/getsentry/sentry/pull/106132)
- Container pointer events prop by @JonasBa in [#106184](https://github.com/getsentry/sentry/pull/106184)
- feat(tasks) Add application to taskbroker requests by @markstory in [#106017](https://github.com/getsentry/sentry/pull/106017)
- ref(theme) remove theme.background by @JonasBa in [#106134](https://github.com/getsentry/sentry/pull/106134)
- ref(icons) update stories to use correct story variants by @JonasBa in [#106137](https://github.com/getsentry/sentry/pull/106137)
- codemod(flex): apply changes for @getsentry/revenue by @JonasBa in [#106124](https://github.com/getsentry/sentry/pull/106124)
- ai(skills): add database migration skill by @vgrozdanic in [#106179](https://github.com/getsentry/sentry/pull/106179)
- test(location): Support state param in location config by @narsaynorath in [#106126](https://github.com/getsentry/sentry/pull/106126)

_Plus 99 more_

25.12.1
-------

### New Features ✨

#### Aci

- feat(aci): Disable alert form submit button while saving by @malwilley in [#104880](https://github.com/getsentry/sentry/pull/104880)
- feat(aci): Remove is:unresolved when switching from errors dataset by @malwilley in [#104903](https://github.com/getsentry/sentry/pull/104903)

- feat(agent-insights): Display redacted file content info by @ArthurKnaus in [#105381](https://github.com/getsentry/sentry/pull/105381)

#### Ai Conversations

- feat(ai-conversations): conversation table improvements by @obostjancic in [#105322](https://github.com/getsentry/sentry/pull/105322)
- feat(ai-conversations): optimize endpoint performance by @obostjancic in [#105133](https://github.com/getsentry/sentry/pull/105133)
- feat(ai-conversations): add first and last messages by @obostjancic in [#105026](https://github.com/getsentry/sentry/pull/105026)

#### Ai Insights

- feat(ai-insights): conversation drawer by @obostjancic in [#105134](https://github.com/getsentry/sentry/pull/105134)
- feat(ai-insights): conversations page by @obostjancic in [#105035](https://github.com/getsentry/sentry/pull/105035)

#### Autofix

- feat(autofix): Bypass cache in UI to get latest check value by @Mihir-Mavalankar in [#105110](https://github.com/getsentry/sentry/pull/105110)
- feat(autofix): Return autofix enabled on setup check by @Zylphrex in [#104970](https://github.com/getsentry/sentry/pull/104970)
- feat(autofix): suspect commit UI by @roaga in [#104914](https://github.com/getsentry/sentry/pull/104914)

#### Autopilot

- feat(autopilot): SDK update detector logging by @ArthurKnaus in [#105384](https://github.com/getsentry/sentry/pull/105384)
- feat(autopilot): Add django app by @vgrozdanic in [#105379](https://github.com/getsentry/sentry/pull/105379)
- feat(autopilot): Add feature flags by @ArthurKnaus in [#105378](https://github.com/getsentry/sentry/pull/105378)

- feat(build-comparison): Synchronizes the hide small changes switch with a url query param to ensure state is preserved in browser history by @cameroncooke in [#105234](https://github.com/getsentry/sentry/pull/105234)

- feat(bulk seer settings): Add option to append repos in bulk settings by @Mihir-Mavalankar in [#105261](https://github.com/getsentry/sentry/pull/105261)

- feat(checkout): Disable checkout for suspended orgs by @isabellaenriquez in [#105052](https://github.com/getsentry/sentry/pull/105052)

- feat(code_review): Handle GitHub re-run check requests by @armenzg in [#104455](https://github.com/getsentry/sentry/pull/104455)

- feat(codegen): increment org contributors and assign seat in PR webhook handler by @srest2021 in [#104419](https://github.com/getsentry/sentry/pull/104419)

- feat(conversations): drawer improvements by @obostjancic in [#105321](https://github.com/getsentry/sentry/pull/105321)

#### Dashboards

- feat(dashboards): Register pre-built dashboards for Mobile Vitals by @gggritso in [#105149](https://github.com/getsentry/sentry/pull/105149)
- feat(dashboards): Web Vitals page overview dashboard migration  by @edwardgou-sentry in [#105002](https://github.com/getsentry/sentry/pull/105002)
- feat(dashboards): Remove secondary release selection from all Mobile insights by @gggritso in [#105101](https://github.com/getsentry/sentry/pull/105101)
- feat(dashboards): Add logs to new timeseries visualization support allowlist by @edwardgou-sentry in [#105092](https://github.com/getsentry/sentry/pull/105092)
- feat(dashboards): Add errors widgets to new timeseries visualization allowlist by @edwardgou-sentry in [#104989](https://github.com/getsentry/sentry/pull/104989)

- feat(dynamic-grouping): Implement Dismiss on Cluster cards by @yuvmen in [#105398](https://github.com/getsentry/sentry/pull/105398)

- feat(eap): Expose trace attachments in details endpoint by @jjbayer in [#105223](https://github.com/getsentry/sentry/pull/105223)

- feat(endpoint): New  endpoint to list client keys across all projects in an organization by @priscilawebdev in [#105027](https://github.com/getsentry/sentry/pull/105027)

#### Explore

- feat(explore): Save case sensitivity and add multi-query case sensitive support by @nsdeschenes in [#105229](https://github.com/getsentry/sentry/pull/105229)
- feat(explore): Adds caseInsensitive param to explore saved queries serializer by @edwardgou-sentry in [#105169](https://github.com/getsentry/sentry/pull/105169)

#### Explore Attr Breakdowns

- feat(explore-attr-breakdowns): Hiding action menu on click outside selected region in chart by @Abdkhan14 in [#105248](https://github.com/getsentry/sentry/pull/105248)
- feat(explore-attr-breakdowns): Adding attr breakdowns as a separate result_mode by @Abdkhan14 in [#104966](https://github.com/getsentry/sentry/pull/104966)

#### Explorer

- feat(explorer): add RPC to get baseline tag distributions by @roaga in [#104928](https://github.com/getsentry/sentry/pull/104928)
- feat(explorer): return issue activity in issue details rpc by @roaga in [#105017](https://github.com/getsentry/sentry/pull/105017)
- feat(explorer): langfuse slash command by @aliu39 in [#105084](https://github.com/getsentry/sentry/pull/105084)
- feat(explorer): include selected project slugs on on page context by @roaga in [#105095](https://github.com/getsentry/sentry/pull/105095)
- feat(explorer): langfuse url in feedback by @aliu39 in [#105073](https://github.com/getsentry/sentry/pull/105073)
- feat(explorer): v0 of copy chat button by @aliu39 in [#104936](https://github.com/getsentry/sentry/pull/104936)
- feat(explorer): trace table rpc by @aliu39 in [#104921](https://github.com/getsentry/sentry/pull/104921)

- feat(fixability): Pass issue summary to Seer to calculate fixability by @Mihir-Mavalankar in [#105366](https://github.com/getsentry/sentry/pull/105366)

- feat(ILOC): update to more generic schema to support other Apple apps by @armcknight in [#105067](https://github.com/getsentry/sentry/pull/105067)

- feat(infra): Add manual backend workflow trigger to test sharding changes by @rbro112 in [#105082](https://github.com/getsentry/sentry/pull/105082)

#### Issues

- feat(issues): GA empty tags subtraction query by @scttcper in [#105397](https://github.com/getsentry/sentry/pull/105397)
- feat(issues): Add inbound filters for Turbopack `ChunkLoadError` by @chargome in [#104940](https://github.com/getsentry/sentry/pull/104940)
- feat(issues): Match breadcrumb absolute format to logs etc by @scttcper in [#105012](https://github.com/getsentry/sentry/pull/105012)
- feat(issues): Rewrite issues diff modal as FC by @scttcper in [#104864](https://github.com/getsentry/sentry/pull/104864)

- feat(oauth): Add PKCE support for OAuth2 authorization code flow by @dcramer in [#104418](https://github.com/getsentry/sentry/pull/104418)

#### Occurrences

- feat(occurrences): Add tagname attr to eap by @thetruecpaul in [#105074](https://github.com/getsentry/sentry/pull/105074)
- feat(occurrences): Add RPCBase  boilerplate by @thetruecpaul in [#104842](https://github.com/getsentry/sentry/pull/104842)

#### Occurrences On Eap

- feat(occurrences on eap): Implement EAP read for error counts in suspect flag calculation by @shashjar in [#104925](https://github.com/getsentry/sentry/pull/104925)
- feat(occurrences on eap): Add retries and backoff for delete RPC requests sent to EAP by @shashjar in [#105097](https://github.com/getsentry/sentry/pull/105097)
- feat(occurrences on eap): Implement EAP read for group hourly count (`is_escalating` algorithm) by @shashjar in [#104830](https://github.com/getsentry/sentry/pull/104830)

#### Onboarding

- feat(onboarding): Update profiling option to `profileSessionSampleRate` by @s1gr1d in [#104947](https://github.com/getsentry/sentry/pull/104947)
- feat(onboarding): Add wrapFetchWithSentry to Tanstack Start onboarding by @nicohrubec in [#105213](https://github.com/getsentry/sentry/pull/105213)

#### Preprod

- feat(preprod): distribution modal on builds table by @mtopo27 in [#105403](https://github.com/getsentry/sentry/pull/105403)
- feat(preprod): add endpoint to fetch dashboard data by @trevor-e in [#105309](https://github.com/getsentry/sentry/pull/105309)
- feat(preprod): Add artifact and metric ids to issue evidence_data by @chromy in [#105323](https://github.com/getsentry/sentry/pull/105323)
- feat(preprod): add basic base build info to build details api (EME-679) by @cameroncooke in [#105145](https://github.com/getsentry/sentry/pull/105145)
- feat(preprod): Wireup app icon frontend by @rbro112 in [#102118](https://github.com/getsentry/sentry/pull/102118)
- feat(preprod): Add preprod images download endpoint by @rbro112 in [#102117](https://github.com/getsentry/sentry/pull/102117)
- feat(preprod): Add some basic tags to size issues by @chromy in [#105072](https://github.com/getsentry/sentry/pull/105072)
- feat(preprod): Xray diff by @rbro112 in [#105016](https://github.com/getsentry/sentry/pull/105016)
- feat(preprod): enable EAP writes behind a flag by @trevor-e in [#104913](https://github.com/getsentry/sentry/pull/104913)
- feat(preprod): Set platform on size issues by @chromy in [#105039](https://github.com/getsentry/sentry/pull/105039)
- feat(preprod): Show size issues in search by @chromy in [#104963](https://github.com/getsentry/sentry/pull/104963)
- feat(preprod): add read/write helpers for EAP data by @trevor-e in [#104810](https://github.com/getsentry/sentry/pull/104810)

- feat(Replay): Write User Attributes to EAP Trace Item by @cliffordxing in [#105289](https://github.com/getsentry/sentry/pull/105289)

#### Replays

- feat(replays): guard API endpoints by granular replay access by @shellmayr in [#104955](https://github.com/getsentry/sentry/pull/104955)
- feat(replays): allow org:write to change granular replay permission settings instead of org:admin by @shellmayr in [#105036](https://github.com/getsentry/sentry/pull/105036)
- feat(replays): Granular permissions frontend by @ArthurKnaus in [#104671](https://github.com/getsentry/sentry/pull/104671)

- feat(reprocessing): Add check to prevent reprocessing of a group that is reprocessed to by @tobias-wilfert in [#105132](https://github.com/getsentry/sentry/pull/105132)

- feat(security): adjustments to GitHub secret scanning endpoint by @oioki in [#105024](https://github.com/getsentry/sentry/pull/105024)

#### Seer

- feat(seer): Change "Wrap Up" steps to be dynamic by @billyvg in [#105201](https://github.com/getsentry/sentry/pull/105201)
- feat(seer): Add analytics to new Seer onboarding by @billyvg in [#105189](https://github.com/getsentry/sentry/pull/105189)
- feat(seer): Redirect to settings when onboarding is completed by @billyvg in [#105190](https://github.com/getsentry/sentry/pull/105190)
- feat(seer): Implement a page to set repo-specific seer settings by @ryan953 in [#105171](https://github.com/getsentry/sentry/pull/105171)
- feat(seer): Use `onboarding-check` endpoint for wizard by @billyvg in [#105008](https://github.com/getsentry/sentry/pull/105008)
- feat(seer): Add "org defaults" step for seer onboarding by @billyvg in [#105091](https://github.com/getsentry/sentry/pull/105091)
- feat(seer): Add bulk editing to Seer > Project list page by @ryan953 in [#105044](https://github.com/getsentry/sentry/pull/105044)
- feat(seer): Handle unconfigured seer for project by @Zylphrex in [#105057](https://github.com/getsentry/sentry/pull/105057)
- feat(seer): Always show new onboarding with flag `seat-based-seer-enabled` by @billyvg in [#104972](https://github.com/getsentry/sentry/pull/104972)
- feat(seer): Add hook to determine when to show new Seer billing UI by @billyvg in [#105049](https://github.com/getsentry/sentry/pull/105049)
- feat(seer): Add error alert in RCA step when missing project mapping by @billyvg in [#104985](https://github.com/getsentry/sentry/pull/104985)
- feat(seer): Add success toasts for each step by @billyvg in [#104984](https://github.com/getsentry/sentry/pull/104984)
- feat(seer): Remove flag and add `org:write` check for new wizard by @billyvg in [#104974](https://github.com/getsentry/sentry/pull/104974)

#### Seer Settings

- feat(seer settings): Add default where should seer stop value for new projects [feature flagged] by @Mihir-Mavalankar in [#105005](https://github.com/getsentry/sentry/pull/105005)
- feat(seer settings): Onboarding wizard should only set org level options by @Mihir-Mavalankar in [#104995](https://github.com/getsentry/sentry/pull/104995)

- feat(seer-workflows): Add new button for issue alerts by @leeandher in [#104898](https://github.com/getsentry/sentry/pull/104898)

- feat(spans): Emit ingested byte count and span count per segment by @lvthanh03 in [#104968](https://github.com/getsentry/sentry/pull/104968)

- feat(tagstore): add double-read from EAP by @thetruecpaul in [#104873](https://github.com/getsentry/sentry/pull/104873)

- feat(theme): add theme types by @natemoo-re in [#105273](https://github.com/getsentry/sentry/pull/105273)

#### Trace Tree Node

- feat(trace-tree-node): Falling back to span name in waterfall by @Abdkhan14 in [#105173](https://github.com/getsentry/sentry/pull/105173)
- feat(trace-tree-node): Using BaseNode methods to mitigate guards usage by @Abdkhan14 in [#103083](https://github.com/getsentry/sentry/pull/103083)

- feat(trace-waterfall): Add trace count disagree info by @nsdeschenes in [#104962](https://github.com/getsentry/sentry/pull/104962)

#### Tracemetrics

- feat(tracemetrics): Use new timeseries visualization by @narsaynorath in [#105176](https://github.com/getsentry/sentry/pull/105176)
- feat(tracemetrics): Only show relevant attributes in filter and group by by @narsaynorath in [#104871](https://github.com/getsentry/sentry/pull/104871)
- feat(tracemetrics): Add PHP and Laravel to metrics allowlist by @narsaynorath in [#105090](https://github.com/getsentry/sentry/pull/105090)
- feat(tracemetrics): Enforce a single metric in widget builder by @narsaynorath in [#104800](https://github.com/getsentry/sentry/pull/104800)

#### Ui

- feat(ui): Mention turbopack for `ChunkLoadError` filtering by @chargome in [#104941](https://github.com/getsentry/sentry/pull/104941)
- feat(ui): virtualization for compactSelect (#2) by @TkDodo in [#104805](https://github.com/getsentry/sentry/pull/104805)

#### Unity

- feat(Unity): Add Unity context type tag mapping by @bitsandfoxes in [#104956](https://github.com/getsentry/sentry/pull/104956)
- feat(Unity): Added `is_main_thread` to Unity context by @bitsandfoxes in [#104952](https://github.com/getsentry/sentry/pull/104952)

#### Uptime

- feat(uptime): Record backfill misses with sub-status by @evanpurkhiser in [#104975](https://github.com/getsentry/sentry/pull/104975)
- feat(uptime): Add detector type filtering to hide onboarding monitors by @evanpurkhiser in [#104601](https://github.com/getsentry/sentry/pull/104601)

- feat(utils): Add SafeRolloutComparator rollout util by @thetruecpaul in [#104888](https://github.com/getsentry/sentry/pull/104888)

#### Other

- feat: Update condition where we capture missing models in frontend by @priscilawebdev in [#105320](https://github.com/getsentry/sentry/pull/105320)
- feat: Create sentry issue for each model when token cost is missing by @priscilawebdev in [#105319](https://github.com/getsentry/sentry/pull/105319)
- feat: check repo public/private status metric by @ajay-sentry in [#105271](https://github.com/getsentry/sentry/pull/105271)
- feat: Update bulk update endpoint to also allow sending repo mapping object by @ajay-sentry in [#105198](https://github.com/getsentry/sentry/pull/105198)
- feat: Add code to track missing model by @priscilawebdev in [#105139](https://github.com/getsentry/sentry/pull/105139)
- feat: SelectTrigger.IconButton by @TkDodo in [#105135](https://github.com/getsentry/sentry/pull/105135)
- feat: Improve API doc of the endpoint project-keys by @priscilawebdev in [#105131](https://github.com/getsentry/sentry/pull/105131)
- feat: Add RPC endpoint for fetching Code Review eligibility status in OW by @ajay-sentry in [#104907](https://github.com/getsentry/sentry/pull/104907)
- feat: set custom_referrer if projects visited from org menu by @bcoe in [#104902](https://github.com/getsentry/sentry/pull/104902)

### Bug Fixes 🐛

#### Aci

- fix(aci): Add option to disable using the issue stream detector in workflow evaluations by @kcons in [#105281](https://github.com/getsentry/sentry/pull/105281)
- fix(aci): Fix timestamp propagation bug in delayed_workflow by @kcons in [#105203](https://github.com/getsentry/sentry/pull/105203)

- fix(AD): Check for NaNs by @ceorourke in [#104909](https://github.com/getsentry/sentry/pull/104909)

#### Agents

- fix(agents): Read messages length from attribute by @ArthurKnaus in [#105030](https://github.com/getsentry/sentry/pull/105030)
- fix(agents): Restore 'agent-monitoring.page-view' analytic event by @priscilawebdev in [#105022](https://github.com/getsentry/sentry/pull/105022)

#### Ai

- fix(ai): Re-order operation type matching values by @vgrozdanic in [#105211](https://github.com/getsentry/sentry/pull/105211)
- fix(ai): Add vercel operation names to operation type mapping by @vgrozdanic in [#105025](https://github.com/getsentry/sentry/pull/105025)

- fix(ai-conversations): pass sampling mode by @obostjancic in [#105218](https://github.com/getsentry/sentry/pull/105218)

- fix(ai-insights): conversation messages by @obostjancic in [#105221](https://github.com/getsentry/sentry/pull/105221)

#### Api

- fix(api): Fix various missing API ID validations by @yuvmen in [#105115](https://github.com/getsentry/sentry/pull/105115)
- fix(api): Accept project IDs as strings in organization releases endpoint by @szokeasaurusrex in [#105159](https://github.com/getsentry/sentry/pull/105159)

- fix(assisted-query): return built in fields for spans and logs by @roaga in [#104935](https://github.com/getsentry/sentry/pull/104935)

#### Autofix

- fix(autofix): Open autofix project settings in new tab by @Zylphrex in [#105187](https://github.com/getsentry/sentry/pull/105187)
- fix(autofix): Show warning icon when no root cause found by @Zylphrex in [#105207](https://github.com/getsentry/sentry/pull/105207)
- fix(autofix): Full width summary loading placeholder by @Zylphrex in [#105191](https://github.com/getsentry/sentry/pull/105191)
- fix(autofix): Stop fetching autofix on completion by @Zylphrex in [#105106](https://github.com/getsentry/sentry/pull/105106)
- fix(autofix): Update seer onboarding route in issue details by @Zylphrex in [#105043](https://github.com/getsentry/sentry/pull/105043)

#### Billing

- fix(billing): Handle missing MH for add-on subcategories by @isabellaenriquez in [#104695](https://github.com/getsentry/sentry/pull/104695)
- fix(billing): Show prepaid volumes for add-ons by @isabellaenriquez in [#104893](https://github.com/getsentry/sentry/pull/104893)

- fix(checkout): Adjust padding for error alert by @isabellaenriquez in [#105242](https://github.com/getsentry/sentry/pull/105242)

- fix(code-review): Add more checks to the code review checkrun by @suejung-sentry in [#105236](https://github.com/getsentry/sentry/pull/105236)

#### Dashboards

- fix(dashboards): Only link to platformized frontend session health by @edwardgou-sentry in [#105392](https://github.com/getsentry/sentry/pull/105392)
- fix(dashboards): units not working on span widgets + new visualization by @DominikB2014 in [#105275](https://github.com/getsentry/sentry/pull/105275)
- fix(dashboards): fixes an issue with RightAlignedContainer not working in certain parent display types by @edwardgou-sentry in [#105327](https://github.com/getsentry/sentry/pull/105327)
- fix(dashboards): Add to new dashboards saves widget by @narsaynorath in [#105089](https://github.com/getsentry/sentry/pull/105089)

#### Discover

- fix(discover): Saved Queries breadcrumb shouldn't show if no ID by @narsaynorath in [#105328](https://github.com/getsentry/sentry/pull/105328)
- fix(discover): Update docs link for getting samples via dynamic sampling by @shashjar in [#104924](https://github.com/getsentry/sentry/pull/104924)

- fix(dropdown-menu): Normalize links in the dropdown menu by @malwilley in [#105253](https://github.com/getsentry/sentry/pull/105253)

- fix(dynamic grouping): Remove unnecessary `deprecatedRouteProps` by @shashjar in [#105003](https://github.com/getsentry/sentry/pull/105003)

- fix(eap): Fix item helpers test by @thetruecpaul in [#105161](https://github.com/getsentry/sentry/pull/105161)

- fix(escalating_forecast): Fix Weekly Escalating Forecasts task timeouts by @yuvmen in [#104662](https://github.com/getsentry/sentry/pull/104662)

- fix(events-trace): Consistent child sort key format by @Zylphrex in [#105186](https://github.com/getsentry/sentry/pull/105186)

- fix(eventstream): Handle None tags during attribute encoding by @seer-by-sentry in [#105306](https://github.com/getsentry/sentry/pull/105306)

- fix(explore): Compare not wrapped in query param context by @nsdeschenes in [#105412](https://github.com/getsentry/sentry/pull/105412)

- fix(explore-attr-breakdowns): Fixing forward back nav state by @Abdkhan14 in [#105114](https://github.com/getsentry/sentry/pull/105114)

- fix(explorer): use merged file patches on UI by @roaga in [#104927](https://github.com/getsentry/sentry/pull/104927)

- fix(insights): Update supported browsers for web vitals by @Lms24 in [#105220](https://github.com/getsentry/sentry/pull/105220)

- fix(issue search): Fall back to truncation of group IDs in Snuba query when filters are selective by @shashjar in [#105204](https://github.com/getsentry/sentry/pull/105204)

- fix(issues): Fix autogenerated received timestamp by @chromy in [#104958](https://github.com/getsentry/sentry/pull/104958)

- fix(loader): adhere to CSP, unflag feature check by @natemoo-re in [#105051](https://github.com/getsentry/sentry/pull/105051)

#### Logs

- fix(logs): update withoutLoggingSupport to remove platforms which support logs by @JoshuaMoelans in [#102398](https://github.com/getsentry/sentry/pull/102398)
- fix(logs): Use replace for first page param init by @narsaynorath in [#105046](https://github.com/getsentry/sentry/pull/105046)

- fix(nintendo): CRPORTAL case by @mujacica in [#105058](https://github.com/getsentry/sentry/pull/105058)

- fix(np): random.randint by @Christinarlong in [#105099](https://github.com/getsentry/sentry/pull/105099)

- fix(oauth): Require organization_id for org-level access applications by @dcramer in [#105064](https://github.com/getsentry/sentry/pull/105064)

- fix(occurrences): Add default start/end by @thetruecpaul in [#105315](https://github.com/getsentry/sentry/pull/105315)

- fix(other-onboarding): Fallback for missing DSN by @ArthurKnaus in [#105409](https://github.com/getsentry/sentry/pull/105409)

- fix(pr-review): Fix register seer launch ffs by @suejung-sentry in [#105001](https://github.com/getsentry/sentry/pull/105001)

#### Preprod

- fix(preprod): Hide 'Span Evidence' section for preprod issues by @chromy in [#105254](https://github.com/getsentry/sentry/pull/105254)
- fix(preprod): use separate producer for preprod EAP by @trevor-e in [#105197](https://github.com/getsentry/sentry/pull/105197)
- fix(preprod): Align buttons by @chromy in [#105224](https://github.com/getsentry/sentry/pull/105224)
- fix(preprod): Fix insight savings formatting by @rbro112 in [#105182](https://github.com/getsentry/sentry/pull/105182)
- fix(preprod): Replace vUnknown with placeholder by @chromy in [#105146](https://github.com/getsentry/sentry/pull/105146)
- fix(preprod): Equal height compare buttons by @chromy in [#105158](https://github.com/getsentry/sentry/pull/105158)
- fix(preprod): Add diff delta values to existing install and download columns of github check (EME-641) by @cameroncooke in [#104760](https://github.com/getsentry/sentry/pull/104760)
- fix(preprod): Use preprod namespace for tasks by @chromy in [#104759](https://github.com/getsentry/sentry/pull/104759)

#### Replay

- fix(replay): Fix replay timeline scrubber zoom by @ryan953 in [#104932](https://github.com/getsentry/sentry/pull/104932)
- fix(replay): Format access update notification by @ArthurKnaus in [#105033](https://github.com/getsentry/sentry/pull/105033)

#### Replay Permissions

- fix(replay-permissions): Check for active superuser by @ArthurKnaus in [#105141](https://github.com/getsentry/sentry/pull/105141)
- fix(replay-permissions): Grant superuser access by @ArthurKnaus in [#105127](https://github.com/getsentry/sentry/pull/105127)

- fix(replays): restrict to active staff instead of superuser with user-based replay permissions by @shellmayr in [#105140](https://github.com/getsentry/sentry/pull/105140)

- fix(scraps): do not spread all styles from theme.font onto button by @TkDodo in [#104976](https://github.com/getsentry/sentry/pull/104976)

- fix(search-bar): Keep menu open when clicking on scrollbar by @nsdeschenes in [#105270](https://github.com/getsentry/sentry/pull/105270)

- fix(security): IDOR in OrganizationDeriveCodeMappingsEndpoint - scope Project by organization by @dcramer in [#104980](https://github.com/getsentry/sentry/pull/104980)

#### Seer

- fix(seer): Fix stale query data after using wizard (RCA) by @billyvg in [#105343](https://github.com/getsentry/sentry/pull/105343)
- fix(seer): Empty state blurs input focus by @billyvg in [#105336](https://github.com/getsentry/sentry/pull/105336)
- fix(seer): Fix stale query data after using wizard by @billyvg in [#105250](https://github.com/getsentry/sentry/pull/105250)
- fix(seer): Fix RCA onboarding step to update autofix option by @billyvg in [#105181](https://github.com/getsentry/sentry/pull/105181)
- fix(seer): Fix normalized URLs for Seer settings tabs by @billyvg in [#105202](https://github.com/getsentry/sentry/pull/105202)
- fix(seer): Improve the empty-search-results state for Org level Seer Project&Repo lists by @ryan953 in [#105172](https://github.com/getsentry/sentry/pull/105172)
- fix(seer): Do not use singleLineRenderer unnecessarily by @ryan953 in [#105154](https://github.com/getsentry/sentry/pull/105154)
- fix(seer): Stop overriding codeReviewTriggers when bulk updating settings by @ryan953 in [#104912](https://github.com/getsentry/sentry/pull/104912)
- fix(seer): Don't override when bulk updating settings by @srest2021 in [#104918](https://github.com/getsentry/sentry/pull/104918)

#### Seer Billing

- fix(seer billing): remove author association check by @srest2021 in [#105256](https://github.com/getsentry/sentry/pull/105256)
- fix(seer billing): add collaborator to allowed author associations by @srest2021 in [#105180](https://github.com/getsentry/sentry/pull/105180)

- fix(sentry-apps): Prevent inactive applications from refreshing tokens by @dcramer in [#105269](https://github.com/getsentry/sentry/pull/105269)

- fix(settings migration): Move cache set to end of the function by @Mihir-Mavalankar in [#105071](https://github.com/getsentry/sentry/pull/105071)

- fix(snuba): Lower timestamp quantization for 30d queries by @Zylphrex in [#105266](https://github.com/getsentry/sentry/pull/105266)

- fix(spans-migration): fix threshold button styling on extrapolation mode banner by @nikkikapadia in [#104961](https://github.com/getsentry/sentry/pull/104961)

- fix(stories): remove unused icons by @natemoo-re in [#105285](https://github.com/getsentry/sentry/pull/105285)

- fix(suspect flags): Use `Referrer` enum values when querying Snuba by @shashjar in [#105086](https://github.com/getsentry/sentry/pull/105086)

- fix(tests): skip flaky tests by @JoshFerge in [#105125](https://github.com/getsentry/sentry/pull/105125)

#### Trace Waterfall

- fix(trace-waterfall): Truncate subtitle text by @nsdeschenes in [#104967](https://github.com/getsentry/sentry/pull/104967)
- fix(trace-waterfall): Make Open in Explore button a link button by @nsdeschenes in [#104964](https://github.com/getsentry/sentry/pull/104964)

- fix(tracemetrics): Hide hidden fields in fields that display attributes by @narsaynorath in [#105239](https://github.com/getsentry/sentry/pull/105239)

- fix(ui): Fix removed `open` prop from SlideOverPanel by @billyvg in [#105334](https://github.com/getsentry/sentry/pull/105334)

- fix(upsell): Correct plan upsell for unlimited dashboards by @isabellaenriquez in [#105000](https://github.com/getsentry/sentry/pull/105000)

#### Uptime

- fix(uptime): Enforce environment requirement by @evanpurkhiser in [#105102](https://github.com/getsentry/sentry/pull/105102)
- fix(uptime): Use simple uuid format by @evanpurkhiser in [#105053](https://github.com/getsentry/sentry/pull/105053)

#### Other

- fix: forward triggerProps id to custom trigger by @TkDodo in [#105129](https://github.com/getsentry/sentry/pull/105129)
- fix: Correct missing organization constraint in PromptsActivityEndpoint by @dcramer in [#104920](https://github.com/getsentry/sentry/pull/104920)

### Build / dependencies / internal 🔧

#### Aci

- chore(ACI): Add back upsampled tests by @ceorourke in [#105272](https://github.com/getsentry/sentry/pull/105272)
- chore(ACI): Add back subscription processor test coverage by @ceorourke in [#105113](https://github.com/getsentry/sentry/pull/105113)
- chore(aci): Update copy for alert conditions by @malwilley in [#105304](https://github.com/getsentry/sentry/pull/105304)
- chore(ACI): Add test coverage for legacy webhooks firing by @ceorourke in [#104892](https://github.com/getsentry/sentry/pull/104892)

- chore(ad): Downgrade error to warning by @ceorourke in [#105060](https://github.com/getsentry/sentry/pull/105060)

- chore(anomaly threshold): add support for alerts  by @shayna-ch in [#105294](https://github.com/getsentry/sentry/pull/105294)

#### Anomaly Thresholds

- chore(anomaly thresholds): Add better logs to get_anomaly_threshold_data_from_seer() by @shayna-ch in [#105260](https://github.com/getsentry/sentry/pull/105260)
- chore(anomaly thresholds): remove yellow seer line from graph by @shayna-ch in [#104896](https://github.com/getsentry/sentry/pull/104896)

#### Api

- chore(api): Use org-scoped related-issues endpoint in frontend by @malwilley in [#105068](https://github.com/getsentry/sentry/pull/105068)
- chore(api): Use new route structure for some admin endpoints by @malwilley in [#105103](https://github.com/getsentry/sentry/pull/105103)
- chore(api): Add org-scoped endpoint for related issues endpoint by @malwilley in [#105015](https://github.com/getsentry/sentry/pull/105015)

#### Billing

- chore(billing): Add additional analytics + referrers for overview by @isabellaenriquez in [#105232](https://github.com/getsentry/sentry/pull/105232)
- chore(billing): Set maxAdminGift to 100 for Seer User by @brendanhsentry in [#105200](https://github.com/getsentry/sentry/pull/105200)

- chore(checkout): Update routing by @isabellaenriquez in [#105059](https://github.com/getsentry/sentry/pull/105059)

- chore(code-review): Add audit log for edit repos projects by @suejung-sentry in [#105297](https://github.com/getsentry/sentry/pull/105297)

- chore(cross-event): Add in some basic analytics by @nsdeschenes in [#105075](https://github.com/getsentry/sentry/pull/105075)

#### Dashboards

- chore(dashboards): Add a more specific explanation of how to manage pre-built dashboards by @gggritso in [#105151](https://github.com/getsentry/sentry/pull/105151)
- chore(dashboards): Add feature flag for migration of Mobile Vitals to Dashboards Platform by @gggritso in [#105147](https://github.com/getsentry/sentry/pull/105147)

- chore(devservices): Bump devservices to 1.2.4 by @hubertdeng123 in [#105195](https://github.com/getsentry/sentry/pull/105195)

- chore(events-trace): Add trace roots to sentry context for debugging by @Zylphrex in [#105144](https://github.com/getsentry/sentry/pull/105144)

- chore(explore): Hardcode some user string attrs by @nsdeschenes in [#105340](https://github.com/getsentry/sentry/pull/105340)

- chore(explorer): misc frontend improvements by @roaga in [#105098](https://github.com/getsentry/sentry/pull/105098)

- chore(i18n): Remove "Defaulting to english" console warning by @ryan953 in [#104933](https://github.com/getsentry/sentry/pull/104933)

- chore(infra): Remove unused codecov ATS workflow by @rbro112 in [#105305](https://github.com/getsentry/sentry/pull/105305)

#### Llm Detector

- chore(llm-detector): Only log success if we look at traces by @roggenkemper in [#105243](https://github.com/getsentry/sentry/pull/105243)
- chore(llm-detector): Add deduplication of trace ids by @roggenkemper in [#105231](https://github.com/getsentry/sentry/pull/105231)
- chore(llm-detector): Add trace id to log by @roggenkemper in [#105188](https://github.com/getsentry/sentry/pull/105188)
- chore(llm-detector): Make `verification_reason` required by @roggenkemper in [#105178](https://github.com/getsentry/sentry/pull/105178)
- chore(llm-detector): Add `traces_analyzed`  by @roggenkemper in [#105080](https://github.com/getsentry/sentry/pull/105080)
- chore(llm-detector): Add `verification_reason` to model by @roggenkemper in [#104997](https://github.com/getsentry/sentry/pull/104997)

- chore(logs): Add trace filter key suggestion by @nsdeschenes in [#105054](https://github.com/getsentry/sentry/pull/105054)

- chore(nav): fix help button tooltip position by @mtopo27 in [#105288](https://github.com/getsentry/sentry/pull/105288)

- chore(np): Change option configuration to be rollout + source based by @Christinarlong in [#105006](https://github.com/getsentry/sentry/pull/105006)

- chore(objectstore): Update example on options by @jan-auer in [#105037](https://github.com/getsentry/sentry/pull/105037)

- chore(performance): Removes old transaction summary vitals page by @edwardgou-sentry in [#105235](https://github.com/getsentry/sentry/pull/105235)

#### Preprod

- refactor(preprod): update build details to use "Build Metadata" instead of "Git details" and add base build row logic (EME-679) by @cameroncooke in [#105244](https://github.com/getsentry/sentry/pull/105244)
- chore(preprod): point mobile build breadcrumbs to mobile tab (EME-689) by @mtopo27 in [#105076](https://github.com/getsentry/sentry/pull/105076)
- chore(preprod): fix alignment + color on build details cards by @mtopo27 in [#104973](https://github.com/getsentry/sentry/pull/104973)

- chore(profiling): Remove product trial alerts from am3 profiling page by @Zylphrex in [#105042](https://github.com/getsentry/sentry/pull/105042)

- chore(releases): docs link for empty state by @mtopo27 in [#104770](https://github.com/getsentry/sentry/pull/104770)

#### Replay

- chore(replay): Default to AI Summary tab when able by @nsdeschenes in [#105032](https://github.com/getsentry/sentry/pull/105032)
- chore(replay): Hide logs tab when project does not have logs by @nsdeschenes in [#105034](https://github.com/getsentry/sentry/pull/105034)

#### Search Bar

- chore(search-bar): Clean up wildcard op, case sensitivity, and default to contains flags by @nsdeschenes in [#104959](https://github.com/getsentry/sentry/pull/104959)
- chore(search-bar): Move case sensitive to custom parser by @nsdeschenes in [#105179](https://github.com/getsentry/sentry/pull/105179)

#### Seer

- chore(seer): Add SEER_USERS pricing docs url by @isabellaenriquez in [#105233](https://github.com/getsentry/sentry/pull/105233)
- chore(seer): cleanup unused ProjectAutofixAutomationSettingsEndpoint by @ryan953 in [#104979](https://github.com/getsentry/sentry/pull/104979)
- chore(seer): Rename Seer settings button to match page title by @ryan953 in [#105150](https://github.com/getsentry/sentry/pull/105150)
- chore(seer): Remove temporary flags used while building seat-based seer ui by @ryan953 in [#105088](https://github.com/getsentry/sentry/pull/105088)
- chore(seer): Call useShowNewSeer() to guard whether we show new UI elements or not by @ryan953 in [#105087](https://github.com/getsentry/sentry/pull/105087)
- chore(seer): Update seer ship asset by @Zylphrex in [#104998](https://github.com/getsentry/sentry/pull/104998)

- chore(seer settings migration): Sample the function at 100% and add context by @Mihir-Mavalankar in [#104971](https://github.com/getsentry/sentry/pull/104971)

- chore(spans): Update first available date for downsampled spans by @Zylphrex in [#105155](https://github.com/getsentry/sentry/pull/105155)

- chore(theme): update typography tokens by @natemoo-re in [#105293](https://github.com/getsentry/sentry/pull/105293)

#### Other

- ci: upgrade to action-setup-venv 3.2.0 by @joshuarli in [#105357](https://github.com/getsentry/sentry/pull/105357)
- chore (aci): gate new metric alert charts with UI rollout flag by @mifu67 in [#104992](https://github.com/getsentry/sentry/pull/104992)
- chore: Add `dev-ui-production` script by @gggritso in [#104736](https://github.com/getsentry/sentry/pull/104736)

### Other

- insights draw doesn’t work on mobile (EME-518) by @cameroncooke in [#105413](https://github.com/getsentry/sentry/pull/105413)
- ref(autopilot): Simplify outdated SDK detection by @ArthurKnaus in [#105411](https://github.com/getsentry/sentry/pull/105411)
- ref(admin): Remove usage of `deprecatedRouteProps` for `AdminUsers` by @shashjar in [#105351](https://github.com/getsentry/sentry/pull/105351)
- ref(admin): Remove usage of `deprecatedRouteProps` for `AdminProjects` by @shashjar in [#105350](https://github.com/getsentry/sentry/pull/105350)
- ref(admin): Remove usage of `deprecateRouteProps` for `AdminOrganizations` by @shashjar in [#105349](https://github.com/getsentry/sentry/pull/105349)
- ref(admin): Remove usage of `deprecatedRouteProps` for `AdminRelays` by @shashjar in [#105347](https://github.com/getsentry/sentry/pull/105347)
- ref(discover): Remove usages of `deprecatedRouteProps` from Discover views by @shashjar in [#104923](https://github.com/getsentry/sentry/pull/104923)
- tabs: remove hideborder by @JonasBa in [#105375](https://github.com/getsentry/sentry/pull/105375)
- codemod(flex): apply changes for @getsentry/app-frontend by @JonasBa in [#105359](https://github.com/getsentry/sentry/pull/105359)
- codemod(flex): apply changes for @getsentry/issue-workflow by @JonasBa in [#105355](https://github.com/getsentry/sentry/pull/105355)
- ref(code_review): Prepare code for more webhooks by @armenzg in [#105326](https://github.com/getsentry/sentry/pull/105326)
- ref(encryption): Refactor encrypted field by @vgrozdanic in [#105383](https://github.com/getsentry/sentry/pull/105383)
- ref(preprod): Show detailed error for mismatched app comparisons (EME-700) by @runningcode in [#105148](https://github.com/getsentry/sentry/pull/105148)
- ref(explorer): wrap tool call text by @aliu39 in [#105291](https://github.com/getsentry/sentry/pull/105291)
- acceptance: bump runners to 10 by @JonasBa in [#104791](https://github.com/getsentry/sentry/pull/104791)
- codemod(flex): apply changes for @getsentry/dashboards by @JonasBa in [#105361](https://github.com/getsentry/sentry/pull/105361)
- codemod(flex): apply changes for @getsentry/machine-learning-ai by @JonasBa in [#105356](https://github.com/getsentry/sentry/pull/105356)
- codemod(flex): apply changes for @getsentry/replay-frontend by @JonasBa in [#105345](https://github.com/getsentry/sentry/pull/105345)
- ref(context): Migrate `OrganizationContext` component tests off of `deprecatedRouterMocks` by @shashjar in [#105283](https://github.com/getsentry/sentry/pull/105283)
- ref(projects): Remove additional usage of `deprecatedRouteProps` for project routes parent by @shashjar in [#105311](https://github.com/getsentry/sentry/pull/105311)
- ref(alerts): Remove usage of `deprecatedRouteProps` for `AlertRulesList` route by @shashjar in [#105310](https://github.com/getsentry/sentry/pull/105310)
- Reapply "ref(prevent): Refactor prevent settings (#104539)" by @ryan953 in [#105332](https://github.com/getsentry/sentry/pull/105332)
- theme: remove translucent colors by @JonasBa in [#105329](https://github.com/getsentry/sentry/pull/105329)
- theme: read palette from theme by @JonasBa in [#105330](https://github.com/getsentry/sentry/pull/105330)

_Plus 83 more_

25.12.0
-------

### New Features ✨

#### Aci

- feat(aci): Metric monitor form should default to number of errors by @malwilley in [#104878](https://github.com/getsentry/sentry/pull/104878)
- feat(aci): add disabled alert to error/metric monitors and alerts by @ameliahsu in [#104756](https://github.com/getsentry/sentry/pull/104756)
- feat(aci): show test notification errors in UI by @ameliahsu in [#104708](https://github.com/getsentry/sentry/pull/104708)
- feat(aci): Always redirect from alerts when clicking from notification by @malwilley in [#104782](https://github.com/getsentry/sentry/pull/104782)
- feat(aci): Add 'open in' button to issue details by @malwilley in [#104593](https://github.com/getsentry/sentry/pull/104593)
- feat(aci): Add an open in explore button to metric detector charts by @malwilley in [#104301](https://github.com/getsentry/sentry/pull/104301)
- feat(aci): Add contributing issues section to metric issue by @malwilley in [#104407](https://github.com/getsentry/sentry/pull/104407)
- feat(aci): Add detector config to issues created by detectors by @malwilley in [#104347](https://github.com/getsentry/sentry/pull/104347)
- feat(aci): Add option to send workflow evaluation logs directly to Sentry by @kcons in [#104434](https://github.com/getsentry/sentry/pull/104434)
- feat(aci): Add simpler UX for connecting alerts to a project by @malwilley in [#104221](https://github.com/getsentry/sentry/pull/104221)
- feat(aci): Add metric issue event details by @malwilley in [#103995](https://github.com/getsentry/sentry/pull/103995)

- feat(admin): Add cell routing to spike protection batch by @scttcper in [#104424](https://github.com/getsentry/sentry/pull/104424)

#### Agents

- feat(agents): Render markdown and allow switching to raw values by @ArthurKnaus in [#104850](https://github.com/getsentry/sentry/pull/104850)
- feat(agents): Preserve icon on spans with error by @ArthurKnaus in [#104937](https://github.com/getsentry/sentry/pull/104937)
- feat(agents): Add browser js onboarding by @ArthurKnaus in [#104571](https://github.com/getsentry/sentry/pull/104571)

- feat(ai-insights): move analytics event to event timeseries by @obostjancic in [#104386](https://github.com/getsentry/sentry/pull/104386)

- feat(analytics): Add Seer feature tracking to issue_details.seer_opened event by @JoshFerge in [#104547](https://github.com/getsentry/sentry/pull/104547)

- feat(anomaly): add seer anomaly thresholds to metric monitor graph by @shayna-ch in [#104074](https://github.com/getsentry/sentry/pull/104074)

- feat(attribute-distributions): parallelize stats query by @shruthilayaj in [#104113](https://github.com/getsentry/sentry/pull/104113)

- feat(auth): Bring back SPA auth page, remove deprecated props by @scttcper in [#104372](https://github.com/getsentry/sentry/pull/104372)

#### Autofix

- feat(autofix): Add backend check to disable autofix if repos are not connected [feature flagged] by @Mihir-Mavalankar in [#104790](https://github.com/getsentry/sentry/pull/104790)
- feat(autofix): add UI for explorer-backed agent by @roaga in [#104618](https://github.com/getsentry/sentry/pull/104618)
- feat(autofix): migrate to explorer agent by @roaga in [#104615](https://github.com/getsentry/sentry/pull/104615)
- feat(autofix): Add email-based user mapping for Seer Autofix PR review requests by @JoshFerge in [#103406](https://github.com/getsentry/sentry/pull/103406)

#### Billing

- feat(billing): Migrate chart functions to use DATA_CATEGORY_INFO formatting by @dashed in [#104688](https://github.com/getsentry/sentry/pull/104688)
- feat(billing): Add-on product trials in \_admin by @isabellaenriquez in [#104789](https://github.com/getsentry/sentry/pull/104789)
- feat(billing): Add formatting configuration to DATA_CATEGORY_INFO formatting by @dashed in [#104025](https://github.com/getsentry/sentry/pull/104025)
- feat(billing): Add formatting configuration to DATA_CATEGORY_INFO by @dashed in [#104023](https://github.com/getsentry/sentry/pull/104023)
- feat(billing): Add hook for product billing access by @isabellaenriquez in [#104633](https://github.com/getsentry/sentry/pull/104633)

#### Cells

- feat(cells): make email capture demo mode control-silo only by @lynnagara in [#104488](https://github.com/getsentry/sentry/pull/104488)
- feat(cells): begin moving the email capture endpoint to control by @lynnagara in [#104413](https://github.com/getsentry/sentry/pull/104413)
- feat(cells): make tempest ips control only by @lynnagara in [#104305](https://github.com/getsentry/sentry/pull/104305)
- feat(cells): begin moving ip address endpoints to control by @lynnagara in [#104271](https://github.com/getsentry/sentry/pull/104271)

#### Code Review

- feat(code-review): Add single GET repo query param by @suejung-sentry in [#104839](https://github.com/getsentry/sentry/pull/104839)
- feat(code-review): Add overwatch repo settings rpc by @suejung-sentry in [#104744](https://github.com/getsentry/sentry/pull/104744)
- feat(code-review): Handle auto enable code review on repoCreated by @suejung-sentry in [#104666](https://github.com/getsentry/sentry/pull/104666)
- feat(code-review): Add Seer onboarding/settings status endpoint by @srest2021 in [#104636](https://github.com/getsentry/sentry/pull/104636)

#### Crons

- feat(crons): Add upsert guides to detector cron creation by @evanpurkhiser in [#104353](https://github.com/getsentry/sentry/pull/104353)
- feat(crons): Add icons to platform quick start picker by @evanpurkhiser in [#104341](https://github.com/getsentry/sentry/pull/104341)
- feat(crons): Add missing guides + consistency by @evanpurkhiser in [#104274](https://github.com/getsentry/sentry/pull/104274)

#### Dashboards

- feat(dashboards): Web Vitals prebuilt dashboard improvements by @edwardgou-sentry in [#104771](https://github.com/getsentry/sentry/pull/104771)
- feat(dashboards): Registers web vitals dashboard by @edwardgou-sentry in [#104577](https://github.com/getsentry/sentry/pull/104577)
- feat(dashboards): Measure time to open the Widget Builder by @gggritso in [#104765](https://github.com/getsentry/sentry/pull/104765)
- feat(dashboards): Add loading skeleton for Widget Builder by @gggritso in [#104702](https://github.com/getsentry/sentry/pull/104702)
- feat(dashboards): Web Vitals prebuilt dashboard configs by @edwardgou-sentry in [#104692](https://github.com/getsentry/sentry/pull/104692)
- feat(dashboards): Prebuilt dashboards use options by @edwardgou-sentry in [#104586](https://github.com/getsentry/sentry/pull/104586)
- feat(dashboards): convert http module into dashboard by @DominikB2014 in [#104608](https://github.com/getsentry/sentry/pull/104608)
- feat(dashboards): Registers option to control enabled Prebuilt Dashboards by @edwardgou-sentry in [#104583](https://github.com/getsentry/sentry/pull/104583)
- feat(dashboards): apply base filters  by @DominikB2014 in [#104414](https://github.com/getsentry/sentry/pull/104414)
- feat(dashboards): Updates issue timeseries widgets to use the new timeseries visualization component by @edwardgou-sentry in [#104416](https://github.com/getsentry/sentry/pull/104416)
- feat(dashboards): Adds issue widgets to Frontend Session Health prebuilt dashboard by @edwardgou-sentry in [#104392](https://github.com/getsentry/sentry/pull/104392)
- feat(dashboards): enable new visulization widget for span widgets by @DominikB2014 in [#104337](https://github.com/getsentry/sentry/pull/104337)
- feat(dashboards): Adds series display type support for Dashboard Issue Widgets by @edwardgou-sentry in [#104291](https://github.com/getsentry/sentry/pull/104291)
- feat(dashboards): Issue time series widget feature flag by @edwardgou-sentry in [#104292](https://github.com/getsentry/sentry/pull/104292)
- feat(dashboards): don't filter out any span ops in query module by @DominikB2014 in [#104255](https://github.com/getsentry/sentry/pull/104255)
- feat(dashboards): don't allow duplication of prebuilt dashboards by @DominikB2014 in [#104249](https://github.com/getsentry/sentry/pull/104249)
- feat(dashboards): update query module prebuilt titles by @DominikB2014 in [#104243](https://github.com/getsentry/sentry/pull/104243)
- feat(dashboards): wrap dashboard controls in flag if prebuilt dashboard by @DominikB2014 in [#104161](https://github.com/getsentry/sentry/pull/104161)

- feat(default detector): create default detector for new projects by @shayna-ch in [#104208](https://github.com/getsentry/sentry/pull/104208)

- feat(derived_code_mappings): Support single-file paths by @scttcper in [#104663](https://github.com/getsentry/sentry/pull/104663)

- feat(encryption): Add EncryptedJSONField by @vgrozdanic in [#104167](https://github.com/getsentry/sentry/pull/104167)

- feat(enrichment): Introduce `is_gen_ai_span` checking `gen_ai.operation.name` in preference over `span.op` by @constantinius in [#104318](https://github.com/getsentry/sentry/pull/104318)

#### Explore

- feat(explore): Wire up data fetching hooks for cross event queries by @nsdeschenes in [#104233](https://github.com/getsentry/sentry/pull/104233)
- feat(explore): set default chart interval to highest granularity by @bcoe in [#104283](https://github.com/getsentry/sentry/pull/104283)
- feat(explore): Add in cross event search bars by @nsdeschenes in [#104129](https://github.com/getsentry/sentry/pull/104129)

#### Explore Attr Breakdowns

- feat(explore-attr-breakdowns): Disabling extrapolation and high accur… by @Abdkhan14 in [#104875](https://github.com/getsentry/sentry/pull/104875)
- feat(explore-attr-breakdowns): Consuming pagination from BE by @Abdkhan14 in [#104585](https://github.com/getsentry/sentry/pull/104585)
- feat(explore-attr-breakdowns): Cosolidating code by @Abdkhan14 in [#104194](https://github.com/getsentry/sentry/pull/104194)
- feat(explore-attr-breakdowns): Adding chart tooltip actions by @Abdkhan14 in [#104149](https://github.com/getsentry/sentry/pull/104149)

- feat(explore-attr-breakdowns-tooltip): Adding action btn background on hover in PROD by @Abdkhan14 in [#104339](https://github.com/getsentry/sentry/pull/104339)

#### Explorer

- feat(explorer): add syntax highlighting to diff viewer by @roaga in [#104856](https://github.com/getsentry/sentry/pull/104856)
- feat(explorer): collect user timezone in context by @roaga in [#104720](https://github.com/getsentry/sentry/pull/104720)
- feat(explorer): add close button by @roaga in [#104640](https://github.com/getsentry/sentry/pull/104640)
- feat(explorer): open with ctrl . by @aliu39 in [#104657](https://github.com/getsentry/sentry/pull/104657)
- feat(explorer): allow client to pass in metadata by @roaga in [#104606](https://github.com/getsentry/sentry/pull/104606)
- feat(explorer): allow client to control and inspect coding state by @roaga in [#104502](https://github.com/getsentry/sentry/pull/104502)
- feat(explorer): add UI for creating PRs by @roaga in [#104500](https://github.com/getsentry/sentry/pull/104500)
- feat(explorer): add ui for questions tool by @roaga in [#104410](https://github.com/getsentry/sentry/pull/104410)
- feat(explorer): add on_completion hook to client by @roaga in [#104373](https://github.com/getsentry/sentry/pull/104373)
- feat(explorer): add copy and nav for logs search by @roaga in [#104421](https://github.com/getsentry/sentry/pull/104421)
- feat(explorer): render todo lists by @roaga in [#104357](https://github.com/getsentry/sentry/pull/104357)
- feat(explorer): convert charts to tables by @roaga in [#104295](https://github.com/getsentry/sentry/pull/104295)
- feat(explorer): add copy for docs search tool by @roaga in [#104185](https://github.com/getsentry/sentry/pull/104185)
- feat(explorer): handle user input run status by @roaga in [#104148](https://github.com/getsentry/sentry/pull/104148)
- feat(explorer): add UI for interacting with code editing by @roaga in [#104147](https://github.com/getsentry/sentry/pull/104147)
- feat(explorer): add support for multiple artifacts to client by @roaga in [#104231](https://github.com/getsentry/sentry/pull/104231)

- feat(flagpole): add support for more detailed owner schema by @cvxluo in [#104504](https://github.com/getsentry/sentry/pull/104504)

- feat(flags): Prevent error on null event flag by @scttcper in [#104714](https://github.com/getsentry/sentry/pull/104714)

- feat(forms): Allow forms to have a collapsible field inside them by @ryan953 in [#104212](https://github.com/getsentry/sentry/pull/104212)

- feat(grouping): Cache grouphash queries during ingest by @lobsterkatie in [#103956](https://github.com/getsentry/sentry/pull/103956)

- feat(infra): Add seed as input to shuffle-tests job by @rbro112 in [#104664](https://github.com/getsentry/sentry/pull/104664)

#### Insights

- feat(insights): Adds more tags and metrics to Web Vitals issue detection by @edwardgou-sentry in [#104562](https://github.com/getsentry/sentry/pull/104562)
- feat(insights): Adds sub region selectors to web vitals pages by @edwardgou-sentry in [#104321](https://github.com/getsentry/sentry/pull/104321)

#### Issue Details

- feat(issue-details): Show Unsymbolicated exception value, type and module in Raw view by @romtsn in [#104327](https://github.com/getsentry/sentry/pull/104327)
- feat(issue-details): Show Unsymbolicated exception value, module and type by @romtsn in [#104238](https://github.com/getsentry/sentry/pull/104238)
- feat(issue-details): Expose 'raw_value', 'raw_module' and 'raw_type' in exceptions by @romtsn in [#104237](https://github.com/getsentry/sentry/pull/104237)

#### Issues

- feat(issues): Switch to two query "empty tags" query by @scttcper in [#104840](https://github.com/getsentry/sentry/pull/104840)
- feat(issues): Display exact release in dropdown by @scttcper in [#104565](https://github.com/getsentry/sentry/pull/104565)
- feat(issues): Drop support for shared issue w/o org slug by @scttcper in [#104364](https://github.com/getsentry/sentry/pull/104364)
- feat(issues): Remove ability to access issue share page w/o org slug by @scttcper in [#104354](https://github.com/getsentry/sentry/pull/104354)
- feat(issues): Remove reporting route by @scttcper in [#104223](https://github.com/getsentry/sentry/pull/104223)

- feat(llm-detector): Add `offender_span_ids` by @roggenkemper in [#104677](https://github.com/getsentry/sentry/pull/104677)

- feat(np): Finish migrating data export notifications by @Christinarlong in [#103504](https://github.com/getsentry/sentry/pull/103504)

#### Objectstore

- feat(objectstore): Allow passing more client options by @jan-auer in [#104943](https://github.com/getsentry/sentry/pull/104943)
- feat(objectstore): Handle non-chunked transfer encoding by @lcian in [#104575](https://github.com/getsentry/sentry/pull/104575)
- feat(objectstore): Add proxying logic to endpoint by @lcian in [#104045](https://github.com/getsentry/sentry/pull/104045)

- feat(occurrences): Add rollout utils by @thetruecpaul in [#104841](https://github.com/getsentry/sentry/pull/104841)

#### Onboarding

- feat(onboarding): Add wizard based onboarding flow for react router projects by @andreiborza in [#104862](https://github.com/getsentry/sentry/pull/104862)
- feat(onboarding): Remove route props from onboarding by @scttcper in [#104343](https://github.com/getsentry/sentry/pull/104343)
- feat(onboarding): Add metrics onboarding for PHP SDKs by @alexander-alderman-webb in [#104314](https://github.com/getsentry/sentry/pull/104314)

#### Perforce

- feat(perforce): Implement stacktrace linking and file blame (annotate) logic by @mujacica in [#103636](https://github.com/getsentry/sentry/pull/103636)
- feat(perforce): Implement repository/depot and code mapping logic by @mujacica in [#103635](https://github.com/getsentry/sentry/pull/103635)
- feat(perforce): Add backend support for Perforce integration by @mujacica in [#103171](https://github.com/getsentry/sentry/pull/103171)

#### Preprod

- feat(preprod): Add v0 of size issues by @chromy in [#104953](https://github.com/getsentry/sentry/pull/104953)
- feat(preprod): Add tooling versions to `apple_app_info` and `android_app_info` (EME-606) by @runningcode in [#104846](https://github.com/getsentry/sentry/pull/104846)
- feat(preprod): Show image scale info on treemap tooltip if available by @NicoHinderling in [#104879](https://github.com/getsentry/sentry/pull/104879)
- feat(preprod): Add preprod issue types to frontend by @chromy in [#104600](https://github.com/getsentry/sentry/pull/104600)
- feat(preprod): Link settings page from build{List,Details} by @chromy in [#104672](https://github.com/getsentry/sentry/pull/104672)
- feat(preprod): Add tooling version fields to PreprodArtifact (EME-606) by @runningcode in [#103062](https://github.com/getsentry/sentry/pull/103062)
- feat(preprod): Add empty preprod settings page by @chromy in [#104670](https://github.com/getsentry/sentry/pull/104670)
- feat(preprod): Add insight comparison frontend by @rbro112 in [#103775](https://github.com/getsentry/sentry/pull/103775)
- feat(preprod): Add preprod grouptype by @chromy in [#104579](https://github.com/getsentry/sentry/pull/104579)
- feat(preprod): add compare deltas to metric cards (EME-568) by @cameroncooke in [#104451](https://github.com/getsentry/sentry/pull/104451)
- feat(preprod): Add insight comparison by @rbro112 in [#103774](https://github.com/getsentry/sentry/pull/103774)
- feat(preprod): skip renames from showing in diff by @trevor-e in [#104306](https://github.com/getsentry/sentry/pull/104306)
- feat(preprod): add base_size_metrics to build details api (EME-568) by @cameroncooke in [#104516](https://github.com/getsentry/sentry/pull/104516)
- feat(preprod): support creating multiple size metrics by @trevor-e in [#103861](https://github.com/getsentry/sentry/pull/103861)
- feat(preprod): expose status check data through build details API by @trevor-e in [#104085](https://github.com/getsentry/sentry/pull/104085)

- feat(profiling): Add project id based kill switch in ingest-profiles by @Zylphrex in [#104587](https://github.com/getsentry/sentry/pull/104587)

- feat(project-selector): Support multiple selection in form project selector component by @malwilley in [#104204](https://github.com/getsentry/sentry/pull/104204)

- feat(relay-config): add possible values for `gen_ai.operation.name` to the `AI_OPERATION_TYPE_MAP` so that we can then directly query it that way by @constantinius in [#104242](https://github.com/getsentry/sentry/pull/104242)

- feat(releases): Add mobile tab to releases by @mtopo27 in [#104376](https://github.com/getsentry/sentry/pull/104376)

#### Replay

- feat(replay): add model to allow per-user access control for replays by @shellmayr in [#104446](https://github.com/getsentry/sentry/pull/104446)
- feat(Replay): Add URLs Visited to EAP Replay Query by @cliffordxing in [#104538](https://github.com/getsentry/sentry/pull/104538)
- feat(replay): Allow network config to be expandable by @billyvg in [#104179](https://github.com/getsentry/sentry/pull/104179)

- feat(rpc): Add more query logging by @wmak in [#104480](https://github.com/getsentry/sentry/pull/104480)

- feat(sdk): Enable Django SQL transaction spans by @alexander-alderman-webb in [#104383](https://github.com/getsentry/sentry/pull/104383)

- feat(search-bar): Add fuzzy search option by @nsdeschenes in [#104792](https://github.com/getsentry/sentry/pull/104792)

#### Seer

- feat(seer): Update issue details seer drawer onboarding by @Zylphrex in [#104679](https://github.com/getsentry/sentry/pull/104679)
- feat(seer): Save RCA step changes to backend by @billyvg in [#104881](https://github.com/getsentry/sentry/pull/104881)
- feat(seer): Implement bulk editing for repo code-review settings by @ryan953 in [#104908](https://github.com/getsentry/sentry/pull/104908)
- feat(seer): Update enrollment copy and change requirements to advance steps by @billyvg in [#104884](https://github.com/getsentry/sentry/pull/104884)
- feat(seer): Implement toggling individual repos for code-review on seer org settings by @ryan953 in [#104886](https://github.com/getsentry/sentry/pull/104886)
- feat(seer): Add setup CTA in sub settings by @isabellaenriquez in [#104718](https://github.com/getsentry/sentry/pull/104718)
- feat(seer): Change "Finish" link to settings by @billyvg in [#104867](https://github.com/getsentry/sentry/pull/104867)
- feat(seer): Add a banner to bring people into Seer onboarding if they're not done yet by @ryan953 in [#104823](https://github.com/getsentry/sentry/pull/104823)
- feat(seer): Save Code Review onboarding repos by @billyvg in [#104774](https://github.com/getsentry/sentry/pull/104774)
- feat(seer): Limit prepopulating repos for RCA step by @billyvg in [#104728](https://github.com/getsentry/sentry/pull/104728)
- feat(seer): Add an interstitial for when people want to trial new seer by @ryan953 in [#104813](https://github.com/getsentry/sentry/pull/104813)
- feat(seer): Add bg images for onboarding wizard by @billyvg in [#104819](https://github.com/getsentry/sentry/pull/104819)
- feat(seer): Add a settings page to list all repos Seer can be configed against by @ryan953 in [#104735](https://github.com/getsentry/sentry/pull/104735)
- feat(seer): Onboarding copy updates by @billyvg in [#104717](https://github.com/getsentry/sentry/pull/104717)
- feat(seer): Make active contributors giftable by @isabellaenriquez in [#104623](https://github.com/getsentry/sentry/pull/104623)
- feat(seer): Add toggle for code review step in onboarding by @billyvg in [#104705](https://github.com/getsentry/sentry/pull/104705)
- feat(seer): Allow users to add more repos in RCA onboarding step by @billyvg in [#104626](https://github.com/getsentry/sentry/pull/104626)
- feat(seer): Update fields for code-review on the Org>Seer settings page by @ryan953 in [#104696](https://github.com/getsentry/sentry/pull/104696)
- feat(seer): Add assets for seer onboarding by @Zylphrex in [#104682](https://github.com/getsentry/sentry/pull/104682)
- feat(seer): Seer org-level bulk project settings page by @ryan953 in [#104594](https://github.com/getsentry/sentry/pull/104594)
- feat(seer): Change repo to be a Select dropdown by @billyvg in [#104628](https://github.com/getsentry/sentry/pull/104628)
- feat(seer): Add org flags for Seer default settings by @ryan953 in [#104362](https://github.com/getsentry/sentry/pull/104362)
- feat(seer): Add new onboarding for Seer by @billyvg in [#104215](https://github.com/getsentry/sentry/pull/104215)
- feat(seer): Add Seer-specific content to Subscription Settings by @isabellaenriquez in [#104476](https://github.com/getsentry/sentry/pull/104476)
- feat(seer): Bootstrap Org-wide Seer settings main page by @ryan953 in [#104081](https://github.com/getsentry/sentry/pull/104081)
- feat(seer): Add new pricing and packaging to checkout + enable test plan checkout by @isabellaenriquez in [#104431](https://github.com/getsentry/sentry/pull/104431)
- feat(seer): Wrap org-level seer settings pages with a feature check and header content by @ryan953 in [#104340](https://github.com/getsentry/sentry/pull/104340)
- feat(seer): Add feature flag for Seer new onboarding by @billyvg in [#104265](https://github.com/getsentry/sentry/pull/104265)
- feat(seer): Add Auto-open PR and Cursor handoff toggles for triage-signals-v0 [feature flagged] by @Mihir-Mavalankar in [#103932](https://github.com/getsentry/sentry/pull/103932)

#### Seer Onboarding

- feat(seer onboarding): add Seer onboarding endpoint by @srest2021 in [#104818](https://github.com/getsentry/sentry/pull/104818)
- feat(seer onboarding): Function to set Seer settings via onboarding wizard by @Mihir-Mavalankar in [#104642](https://github.com/getsentry/sentry/pull/104642)

- feat(seer setting): Task to change Seer settings for projects for new and existing orgs by @Mihir-Mavalankar in [#104290](https://github.com/getsentry/sentry/pull/104290)

#### Seer Settings

- feat(seer settings): Fix bug and change seer project level defaults if feature flag is set by @Mihir-Mavalankar in [#104402](https://github.com/getsentry/sentry/pull/104402)
- feat(seer settings): Frontend defaults for new auto_open_pr org level default by @Mihir-Mavalankar in [#104207](https://github.com/getsentry/sentry/pull/104207)
- feat(seer settings): New auto_open_pr org level default by @Mihir-Mavalankar in [#104205](https://github.com/getsentry/sentry/pull/104205)

- feat(seer-explorer): add hook to open explorer by @roaga in [#104540](https://github.com/getsentry/sentry/pull/104540)

- feat(seer_grouping): Filter Seer grouping requests by token count instead of frame count by @yuvmen in [#103997](https://github.com/getsentry/sentry/pull/103997)

- feat(seer-launch): Add bulk GET RCA settings by @suejung-sentry in [#104844](https://github.com/getsentry/sentry/pull/104844)

- feat(seer-rpc): org and project endpoint for calling seer rpc endpoints publicly by @jennmueng in [#103247](https://github.com/getsentry/sentry/pull/103247)

#### Segment Enrichment

- feat(segment-enrichment): Bump segment clusterer rule lifetimes by @mjq in [#104280](https://github.com/getsentry/sentry/pull/104280)
- feat(segment-enrichment): Apply clusterer to segment names by @mjq in [#104192](https://github.com/getsentry/sentry/pull/104192)

- feat(self-hosted): Manually bump metadata by @hubertdeng123 in [#104175](https://github.com/getsentry/sentry/pull/104175)

- feat(span-migration): add post migration warnings and UI changes in old alerts by @nikkikapadia in [#104125](https://github.com/getsentry/sentry/pull/104125)

- feat(spans): Feature flags for attachment processing by @jjbayer in [#104752](https://github.com/getsentry/sentry/pull/104752)

- feat(spans-migration): add post migration warnings to new monitors UI by @nikkikapadia in [#104143](https://github.com/getsentry/sentry/pull/104143)

- feat(stories): add contributing guide by @natemoo-re in [#104206](https://github.com/getsentry/sentry/pull/104206)

- feat(timeseries): Add cross trace querying by @wmak in [#104425](https://github.com/getsentry/sentry/pull/104425)

#### Top Issues

- feat(top-issues): project tooltip by @cvxluo in [#104678](https://github.com/getsentry/sentry/pull/104678)
- feat(top-issues): show escalating top issues by @cvxluo in [#104568](https://github.com/getsentry/sentry/pull/104568)
- feat(top-issues): use new cluster-level descriptors by @cvxluo in [#104567](https://github.com/getsentry/sentry/pull/104567)
- feat(top-issues): increase visual contrast between clusters by @cvxluo in [#104491](https://github.com/getsentry/sentry/pull/104491)
- feat(top-issues): flex column heights by @cvxluo in [#104380](https://github.com/getsentry/sentry/pull/104380)
- feat(top-issues): show last updated time by @cvxluo in [#104379](https://github.com/getsentry/sentry/pull/104379)
- feat(top-issues): add seer actions  by @cvxluo in [#104350](https://github.com/getsentry/sentry/pull/104350)
- feat(top-issues): add projects filter by @cvxluo in [#104333](https://github.com/getsentry/sentry/pull/104333)
- feat(top-issues): add feedback form by @cvxluo in [#104251](https://github.com/getsentry/sentry/pull/104251)
- feat(top-issues): new visual hierarchy for cluster cards by @cvxluo in [#104197](https://github.com/getsentry/sentry/pull/104197)
- feat(top-issues): add more specific tags  by @cvxluo in [#104181](https://github.com/getsentry/sentry/pull/104181)

#### Trace

- feat(trace): Add more instrumentation by @wmak in [#104772](https://github.com/getsentry/sentry/pull/104772)
- feat(trace): Add support for trace pagination by @wmak in [#104088](https://github.com/getsentry/sentry/pull/104088)

- feat(trace-metrics): Support querying multiple metrics by @Zylphrex in [#104182](https://github.com/getsentry/sentry/pull/104182)

- feat(trace-waterfall): Add warning for old traces by @nsdeschenes in [#104630](https://github.com/getsentry/sentry/pull/104630)

#### Tracemetrics

- feat(tracemetrics): Add initial dataset implementation to dashboards by @narsaynorath in [#104518](https://github.com/getsentry/sentry/pull/104518)
- feat(tracemetrics): Allow up to 8 metrics by @narsaynorath in [#104545](https://github.com/getsentry/sentry/pull/104545)

#### Triage Signals

- feat(triage signals): Seer projects on new pricing need to have repos linked to use autofix by @Mihir-Mavalankar in [#104477](https://github.com/getsentry/sentry/pull/104477)
- feat(triage signals): Add billing flag to all triage signals check by @Mihir-Mavalankar in [#104570](https://github.com/getsentry/sentry/pull/104570)
- feat(triage signals): Use new seat based pricing feature flag by @Mihir-Mavalankar in [#104528](https://github.com/getsentry/sentry/pull/104528)
- feat(triage signals): Logging related updates by @Mihir-Mavalankar in [#104210](https://github.com/getsentry/sentry/pull/104210)
- feat(triage signals): Swap project level feature flag with org level by @Mihir-Mavalankar in [#104080](https://github.com/getsentry/sentry/pull/104080)

#### Ui

- feat(ui): Add `useUpdateOrganization` to use in Seer onboarding by @billyvg in [#104730](https://github.com/getsentry/sentry/pull/104730)
- feat(ui): OverflowBoundaryContext by @TkDodo in [#104745](https://github.com/getsentry/sentry/pull/104745)
- feat(ui): virtualization for compactSelect by @TkDodo in [#104574](https://github.com/getsentry/sentry/pull/104574)
- feat(ui): Convert Feature component to FC by @scttcper in [#104659](https://github.com/getsentry/sentry/pull/104659)
- feat(ui): Allow deferred renders of `SlideOverPanel` by @gggritso in [#103852](https://github.com/getsentry/sentry/pull/103852)

- feat(uptime): Add `cURL` example to http snippet by @evanpurkhiser in [#104768](https://github.com/getsentry/sentry/pull/104768)

#### Usage Overview

- feat(usage overview): Release new Usage Overview by @isabellaenriquez in [#104165](https://github.com/getsentry/sentry/pull/104165)
- feat(usage overview): Introduce new table by @isabellaenriquez in [#104164](https://github.com/getsentry/sentry/pull/104164)
- feat(usage overview): Add breakdown into panel by @isabellaenriquez in [#104141](https://github.com/getsentry/sentry/pull/104141)
- feat(usage overview): Introduce new panel by @isabellaenriquez in [#104140](https://github.com/getsentry/sentry/pull/104140)
- feat(usage overview): Extract drawer charts into component by @isabellaenriquez in [#104138](https://github.com/getsentry/sentry/pull/104138)
- feat(usage overview): Update buttons by @isabellaenriquez in [#104134](https://github.com/getsentry/sentry/pull/104134)
- feat(usage overview): Introduce util functions and hook by @isabellaenriquez in [#104131](https://github.com/getsentry/sentry/pull/104131)

- feat(workflow_engine): Add list of tags to help users define alerts by @saponifi3d in [#103711](https://github.com/getsentry/sentry/pull/103711)

- feat: Add webhook guards for determining when to update/add org contribs by @ajay-sentry in [#104371](https://github.com/getsentry/sentry/pull/104371)
- feat(hybridcloud) Add response size metric by @markstory in [#104859](https://github.com/getsentry/sentry/pull/104859)
- feat: Do a prefetch on stats endpoint by @shruthilayaj in [#104858](https://github.com/getsentry/sentry/pull/104858)
- feat: Create bulk PUT seer automation option setting by @ajay-sentry in [#104732](https://github.com/getsentry/sentry/pull/104732)
- feat: match substring on known public aliases by @shruthilayaj in [#104786](https://github.com/getsentry/sentry/pull/104786)
- feat: Bulk PUT endpoint for repository settings by @ajay-sentry in [#104722](https://github.com/getsentry/sentry/pull/104722)
- feat: Add expand param to list org repos endpoint for repository settings by @ajay-sentry in [#104713](https://github.com/getsentry/sentry/pull/104713)
- feat: Create new repository settings table by @ajay-sentry in [#104645](https://github.com/getsentry/sentry/pull/104645)
- feat(cells) Add tracer logs to ReactPage by @markstory in [#104676](https://github.com/getsentry/sentry/pull/104676)
- feat: Add thumbs up/down feedback to Seer cards by @JoshFerge in [#104569](https://github.com/getsentry/sentry/pull/104569)
- feat: Add pagination to trace item stats endpoint by @shruthilayaj in [#104391](https://github.com/getsentry/sentry/pull/104391)
- feat: send public alias in stats endpoint by @shruthilayaj in [#104346](https://github.com/getsentry/sentry/pull/104346)
- feat: Apply max pickable days to profiling by @Zylphrex in [#104326](https://github.com/getsentry/sentry/pull/104326)
- feat: Apply max pickable days to transaction summary by @Zylphrex in [#104193](https://github.com/getsentry/sentry/pull/104193)
- feat: Apply max pickable days to insights by @Zylphrex in [#104201](https://github.com/getsentry/sentry/pull/104201)
- feat: Add organizationcontributor seat type by @ajay-sentry in [#104299](https://github.com/getsentry/sentry/pull/104299)
- feat: create new task for organization contributor reset by @ajay-sentry in [#104259](https://github.com/getsentry/sentry/pull/104259)
- feat: Update integration_id cascade to null for organization contributor table by @ajay-sentry in [#104262](https://github.com/getsentry/sentry/pull/104262)
- feat: Store user updated metadata in snapshot by @shruthilayaj in [#104200](https://github.com/getsentry/sentry/pull/104200)
- feat: Split tooltip for adjacent traces in two by @JPeer264 in [#104150](https://github.com/getsentry/sentry/pull/104150)
- feat: Special extrapolation on count alerts only by @shruthilayaj in [#104183](https://github.com/getsentry/sentry/pull/104183)
- feat: Create OrganizationContributors table in region dbs by @ajay-sentry in [#103839](https://github.com/getsentry/sentry/pull/103839)

### Bug Fixes 🐛

#### Aci

- fix(aci): Extend taint tracking to delayed workflow condition evaluation by @kcons in [#104368](https://github.com/getsentry/sentry/pull/104368)
- fix(aci): Use opt-out flag for create alert button by @malwilley in [#104826](https://github.com/getsentry/sentry/pull/104826)
- fix(aci): Filter by project in metric issue contributing issues by @malwilley in [#104863](https://github.com/getsentry/sentry/pull/104863)
- fix(aci): set action config values to `null` instead of `''` or undefined by @ameliahsu in [#104796](https://github.com/getsentry/sentry/pull/104796)
- fix(aci): use project slug instead of deprecated name by @ameliahsu in [#104762](https://github.com/getsentry/sentry/pull/104762)
- fix(aci): deep link Create Monitor buttons to /new/settings link by @ameliahsu in [#104764](https://github.com/getsentry/sentry/pull/104764)
- fix(aci): Make update_data_source_for_detector more accurate by @kcons in [#104831](https://github.com/getsentry/sentry/pull/104831)
- fix(aci): Remove DataCondition duration-triggered error by @kcons in [#104635](https://github.com/getsentry/sentry/pull/104635)
- fix(aci): Correct direction of resolution threshold by @malwilley in [#104788](https://github.com/getsentry/sentry/pull/104788)
- fix(aci): remove rule project check in digest generation by @cathteng in [#104729](https://github.com/getsentry/sentry/pull/104729)
- fix(ACI): Correctly read target_type and target_identifier values from Action.config by @ceorourke in [#104634](https://github.com/getsentry/sentry/pull/104634)
- fix(aci): Update create alert buttons to reference monitors by @malwilley in [#104656](https://github.com/getsentry/sentry/pull/104656)
- fix(aci): add % suffix to data condition field by @ameliahsu in [#104691](https://github.com/getsentry/sentry/pull/104691)
- fix(aci): New monitor form should handle missing project ID by @malwilley in [#104687](https://github.com/getsentry/sentry/pull/104687)
- fix(aci): Use em dash instead of 'unknown' for trigger history by @malwilley in [#104650](https://github.com/getsentry/sentry/pull/104650)
- fix(aci): return full workflow in PUT response by @ameliahsu in [#104654](https://github.com/getsentry/sentry/pull/104654)
- fix(aci): fix resolution shading on metric charts by @ameliahsu in [#104563](https://github.com/getsentry/sentry/pull/104563)
- fix(ACI): Fix no one fallthrough type by @ceorourke in [#104613](https://github.com/getsentry/sentry/pull/104613)
- fix(aci): camelCase action data fields in serializer by @ameliahsu in [#104597](https://github.com/getsentry/sentry/pull/104597)
- fix(aci): assign condition subfilter ids on alert edit by @ameliahsu in [#104555](https://github.com/getsentry/sentry/pull/104555)
- fix(aci): Use detector config in issue details by @malwilley in [#104584](https://github.com/getsentry/sentry/pull/104584)
- fix(aci): prevent invalid custom resolve thresholds by @ameliahsu in [#104561](https://github.com/getsentry/sentry/pull/104561)
- fix(aci): remove targetDisplay from test notification payload by @ameliahsu in [#104548](https://github.com/getsentry/sentry/pull/104548)
- fix(aci): Error metric detectors should include error types in query by @malwilley in [#104363](https://github.com/getsentry/sentry/pull/104363)
- fix(aci): update issue alert migrator to look up cron monitor for specific project by @ameliahsu in [#104344](https://github.com/getsentry/sentry/pull/104344)
- fix(aci): Add dataset and query formatting to metric issue by @malwilley in [#104284](https://github.com/getsentry/sentry/pull/104284)
- fix(aci): Make workflow evaluation logs conditional by @kcons in [#104334](https://github.com/getsentry/sentry/pull/104334)
- fix(ACI): pass trigger ID as kwarg to action -> ARTA serializer by @mifu67 in [#104277](https://github.com/getsentry/sentry/pull/104277)
- fix(aci): fix sending test notification for sentry app by @cathteng in [#104086](https://github.com/getsentry/sentry/pull/104086)
- fix(ACI): Filter migration and emit logs by @ceorourke in [#104053](https://github.com/getsentry/sentry/pull/104053)
- fix(aci): handle fake incident ids in IGOP lookup by @ameliahsu in [#103937](https://github.com/getsentry/sentry/pull/103937)

- fix(agents): short instead of extraShort timedelta formatting by @shellmayr in [#104754](https://github.com/getsentry/sentry/pull/104754)

- fix(ai-code-review): Add on_new_commit flag by @suejung-sentry in [#104489](https://github.com/getsentry/sentry/pull/104489)

#### Ai Insights

- fix(ai-insights): cost calculation by @obostjancic in [#104944](https://github.com/getsentry/sentry/pull/104944)
- fix(ai-insights): trace table padding by @obostjancic in [#104845](https://github.com/getsentry/sentry/pull/104845)
- fix(ai-insights): persist project selection for explore by @obostjancic in [#104668](https://github.com/getsentry/sentry/pull/104668)
- fix(ai-insights): disable extrapolation in traces table by @obostjancic in [#104573](https://github.com/getsentry/sentry/pull/104573)
- fix(ai-insights): remove instructions to disable integrations by @obostjancic in [#104158](https://github.com/getsentry/sentry/pull/104158)

- fix(anomaly detection): move seer anomaly detection data back one time window by @shayna-ch in [#104781](https://github.com/getsentry/sentry/pull/104781)

#### Anomaly Thresholds

- fix(anomaly thresholds): Only call endpoint if anomaly detection  by @shayna-ch in [#104557](https://github.com/getsentry/sentry/pull/104557)
- fix(anomaly thresholds): add email level feature flag by @shayna-ch in [#104170](https://github.com/getsentry/sentry/pull/104170)

#### Api

- fix(api): Update List Seer AI Models to reflect that it is regional by @sehr-m in [#104530](https://github.com/getsentry/sentry/pull/104530)
- fix(api): edit watch script so dirname is defined by @sehr-m in [#104536](https://github.com/getsentry/sentry/pull/104536)

#### Assisted Query

- fix(assisted-query): return correct usernames/emails in field values by @roaga in [#104894](https://github.com/getsentry/sentry/pull/104894)
- fix(assisted-query): include all built in fields for issues and get values for them by @roaga in [#104784](https://github.com/getsentry/sentry/pull/104784)

#### Autofix

- fix(autofix): correct webhooks + nits by @roaga in [#104855](https://github.com/getsentry/sentry/pull/104855)
- fix(autofix): misc UI fixes by @roaga in [#104865](https://github.com/getsentry/sentry/pull/104865)

- fix(billing): Use dynamic category for in-app Seer product trial start by @dashed in [#104616](https://github.com/getsentry/sentry/pull/104616)

#### Code Review

- fix(code-review): Return enabled config for code review beta cohort by @suejung-sentry in [#104899](https://github.com/getsentry/sentry/pull/104899)
- fix(code-review): Fix bulk RCA settings when pref is none by @suejung-sentry in [#104897](https://github.com/getsentry/sentry/pull/104897)
- fix(code-review): do not check the PR review toggle in consent check for seat-based plan by @srest2021 in [#104700](https://github.com/getsentry/sentry/pull/104700)

- fix(codeowners): Add retry attempts for the `code_owners_auto_sync` task by @shashjar in [#104648](https://github.com/getsentry/sentry/pull/104648)

- fix(crons): Handle deleted environments in serializers by @evanpurkhiser in [#104680](https://github.com/getsentry/sentry/pull/104680)

#### Dashboards

- fix(dashboards): prebuilt dashboards not syncing titles by @DominikB2014 in [#104533](https://github.com/getsentry/sentry/pull/104533)
- fix(dashboards): fix bar charts not stacking by @DominikB2014 in [#104529](https://github.com/getsentry/sentry/pull/104529)
- fix(dashboards): temporary filters broken when changing values by @DominikB2014 in [#104482](https://github.com/getsentry/sentry/pull/104482)
- fix(dashboards): Limit maximum fraction digits in time series widget formatting by @seer-by-sentry in [#104514](https://github.com/getsentry/sentry/pull/104514)
- fix(dashboards): Improve rendering of small and fractional numbers in charts by @gggritso in [#104456](https://github.com/getsentry/sentry/pull/104456)
- fix(dashboards): Fix an issue where widget builder preview was not using the new widget visualization component by @edwardgou-sentry in [#104415](https://github.com/getsentry/sentry/pull/104415)
- fix(dashboards): Fix duplicating prebuilt dashboard 400 within dashboard page by @edwardgou-sentry in [#104406](https://github.com/getsentry/sentry/pull/104406)
- fix(dashboards): Fix duplicate prebuilt dashboard from table manage view producing empty dashboard by @edwardgou-sentry in [#104409](https://github.com/getsentry/sentry/pull/104409)
- fix(dashboards): context menu doesn't show up insights prebuilt dashboards by @DominikB2014 in [#104401](https://github.com/getsentry/sentry/pull/104401)
- fix(dashboards): add padding and autoresizing text in details widget by @DominikB2014 in [#104393](https://github.com/getsentry/sentry/pull/104393)
- fix(dashboards): Hide group by option for series display Issue widgets by @edwardgou-sentry in [#104370](https://github.com/getsentry/sentry/pull/104370)
- fix(dashboards): Hide filter bar on issue series widget builder by @edwardgou-sentry in [#104322](https://github.com/getsentry/sentry/pull/104322)
- fix(dashboards): Acquire lock when checking dashboard count for creation by @narsaynorath in [#104248](https://github.com/getsentry/sentry/pull/104248)
- fix(dashboards): queries page table overflows by @DominikB2014 in [#104253](https://github.com/getsentry/sentry/pull/104253)
- fix(dashboards): linked dashboards not being populated on normal dashboard page by @DominikB2014 in [#104241](https://github.com/getsentry/sentry/pull/104241)
- fix(dashboards): dashboard links not perserving selection by @DominikB2014 in [#104176](https://github.com/getsentry/sentry/pull/104176)
- fix(dashboards): Removes edit permission on widget context menu for prebuilt dashboards by @edwardgou-sentry in [#104133](https://github.com/getsentry/sentry/pull/104133)

- fix(deletions): Fix BulkDeleteQuery pagination by @yuvmen in [#104435](https://github.com/getsentry/sentry/pull/104435)

#### Detectors

- fix(detectors): Don't use flex to join text by @evanpurkhiser in [#104697](https://github.com/getsentry/sentry/pull/104697)
- fix(detectors): Render list \_after_ visualisation by @evanpurkhiser in [#104681](https://github.com/getsentry/sentry/pull/104681)

- fix(eap): Cast OOB ints to str by @thetruecpaul in [#104787](https://github.com/getsentry/sentry/pull/104787)

- fix(eap-resolver): escape sequences should also be translated in a `in` query by @DominikB2014 in [#104188](https://github.com/getsentry/sentry/pull/104188)

- fix(events): Handle wildcards for the environment filter by @wmak in [#104272](https://github.com/getsentry/sentry/pull/104272)

#### Explore

- fix(explore): Should check if raw count is defined by @Zylphrex in [#104853](https://github.com/getsentry/sentry/pull/104853)
- fix(explore): Resolve cross event dropdown tooltip hover issues by @nsdeschenes in [#104317](https://github.com/getsentry/sentry/pull/104317)

#### Explorer

- fix(explorer): handle issues w 1 event and fix start/end validation by @aliu39 in [#104869](https://github.com/getsentry/sentry/pull/104869)
- fix(explorer): allow clicks on links by @roaga in [#104919](https://github.com/getsentry/sentry/pull/104919)
- fix(explorer): handle failed issue tool link by @aliu39 in [#104868](https://github.com/getsentry/sentry/pull/104868)
- fix(explorer): just use clickable links and fix wobble by @roaga in [#104709](https://github.com/getsentry/sentry/pull/104709)
- fix(explorer): bucket on page charts by @roaga in [#104653](https://github.com/getsentry/sentry/pull/104653)
- fix(explorer): fix group bys in nav links by @roaga in [#104660](https://github.com/getsentry/sentry/pull/104660)
- fix(explorer): allow None file patches and log error by @roaga in [#104559](https://github.com/getsentry/sentry/pull/104559)
- fix(explorer): strip Z for abs time nav links by @aliu39 in [#104525](https://github.com/getsentry/sentry/pull/104525)
- fix(explorer): use right dataset for issue event stats by @roaga in [#104308](https://github.com/getsentry/sentry/pull/104308)
- fix(explorer): fix copy and add nav for log/metric by trace tools by @aliu39 in [#104226](https://github.com/getsentry/sentry/pull/104226)

#### Flamegraph

- fix(flamegraph): Fix continuous flamegraph non call order by @Zylphrex in [#104582](https://github.com/getsentry/sentry/pull/104582)
- fix(flamegraph): Only dispatch checkpoint when finishing flamegraph i… by @Zylphrex in [#104564](https://github.com/getsentry/sentry/pull/104564)

- fix(group_update): Handle last_seen integer overflow on groups by @yuvmen in [#104297](https://github.com/getsentry/sentry/pull/104297)

#### Grouping

- fix(grouping): Fix grouphash caching metric cache expiry tagging by @lobsterkatie in [#104537](https://github.com/getsentry/sentry/pull/104537)
- fix(grouping): Use underscores in test hash values by @lobsterkatie in [#104220](https://github.com/getsentry/sentry/pull/104220)

#### Infra

- fix(infra): Fix test ID sequencing flake by @rbro112 in [#104834](https://github.com/getsentry/sentry/pull/104834)
- fix(infra): Fix test_dual_write test pollution causing flakes by @rbro112 in [#104741](https://github.com/getsentry/sentry/pull/104741)
- fix(infra): Fix span convert test pollution by @rbro112 in [#104661](https://github.com/getsentry/sentry/pull/104661)

- fix(issue-details): Always attach lineno to Java frames in 'raw' view by @romtsn in [#104387](https://github.com/getsentry/sentry/pull/104387)

- fix(issue-timeseries): Unfilled buckets when ts aren't aligned by @wmak in [#103771](https://github.com/getsentry/sentry/pull/103771)

#### Issues

- fix(issues): Handle None users in GroupSearchView serializer by @evanpurkhiser in [#104178](https://github.com/getsentry/sentry/pull/104178)
- fix(issues): Fix `auto_ongoing_issues` task timeouts by @yuvmen in [#104036](https://github.com/getsentry/sentry/pull/104036)
- fix(issues): Handle null starred issue views by @malwilley in [#104169](https://github.com/getsentry/sentry/pull/104169)

- fix(java): Allow frame removals during symbolication by @romtsn in [#104319](https://github.com/getsentry/sentry/pull/104319)

- fix(llm-detector): Add better platform parsing  by @roggenkemper in [#104475](https://github.com/getsentry/sentry/pull/104475)

#### Np

- fix(np): Add dto for notification target by @Christinarlong in [#104775](https://github.com/getsentry/sentry/pull/104775)
- fix(np): Remove frozen dataclass due to task/dict behavior by @Christinarlong in [#104643](https://github.com/getsentry/sentry/pull/104643)

- fix(options): Fix and improve type coverage by @kcons in [#104474](https://github.com/getsentry/sentry/pull/104474)

- fix(ourlogs): Add more logging around autorefresh by @k-fish in [#104472](https://github.com/getsentry/sentry/pull/104472)

#### Preprod

- fix(preprod): Remove invalid tag (organization_id) by @chromy in [#104747](https://github.com/getsentry/sentry/pull/104747)
- fix(preprod): Handle missing date_built in UI and backend (EME-671) by @runningcode in [#104444](https://github.com/getsentry/sentry/pull/104444)

#### Profiling

- fix(profiling): Maximum update depth exceeded error on flamegraphs by @Zylphrex in [#104544](https://github.com/getsentry/sentry/pull/104544)
- fix(profiling): Round continuous profile timestamps appropriately by @Zylphrex in [#104541](https://github.com/getsentry/sentry/pull/104541)

#### Replay

- fix(Replay): Normalize Project ID Typing To Int For Frontend by @cliffordxing in [#104358](https://github.com/getsentry/sentry/pull/104358)
- fix(Replay): Use Sentry Prefix for Project_id by @cliffordxing in [#104296](https://github.com/getsentry/sentry/pull/104296)
- fix(Replay): Query Timestamp as Double then Convert to ISO by @cliffordxing in [#104191](https://github.com/getsentry/sentry/pull/104191)

- fix(reprocessing): require `event:admin` when deleting remaining events by @oioki in [#104313](https://github.com/getsentry/sentry/pull/104313)

- fix(rules): Skip none on combined rule serialization by @ceorourke in [#104196](https://github.com/getsentry/sentry/pull/104196)

#### Scraps

- fix(scraps): add top/left/bottom/right positions to container by @TkDodo in [#104951](https://github.com/getsentry/sentry/pull/104951)
- fix(scraps): turn of focus-visible styles for LinkButton applied by link by @TkDodo in [#104954](https://github.com/getsentry/sentry/pull/104954)
- fix(scraps): allow `font-weight: 500` for Rubik Medium by @natemoo-re in [#104620](https://github.com/getsentry/sentry/pull/104620)

#### Seer

- fix(seer): Iterate on the seer autofix settings apis by @ryan953 in [#104929](https://github.com/getsentry/sentry/pull/104929)
- fix(seer): Avoid nested links in the Seer>Project settings list by @ryan953 in [#104910](https://github.com/getsentry/sentry/pull/104910)
- fix(seer): Allow self-serve and billing users to go to the /subscription page and try to start Seer trial by @ryan953 in [#104820](https://github.com/getsentry/sentry/pull/104820)
- fix(seer): call addLoadingMessage() when saving in case it takes a while to get a response by @ryan953 in [#104825](https://github.com/getsentry/sentry/pull/104825)
- fix(seer): Fix simple organization seer rpcs by @Zylphrex in [#104483](https://github.com/getsentry/sentry/pull/104483)
- fix(seer): Allow org read permissions on seer public rpc by @Zylphrex in [#104473](https://github.com/getsentry/sentry/pull/104473)

- fix(seer settings): Fallback to code mappings if seer preferences don't exist by @Mihir-Mavalankar in [#104795](https://github.com/getsentry/sentry/pull/104795)

- fix(seer-rpc): map org id for get_attributes_for_span by @aliu39 in [#104486](https://github.com/getsentry/sentry/pull/104486)

#### Settings

- fix(settings): Remove deprecated route props from auth token by @scttcper in [#104870](https://github.com/getsentry/sentry/pull/104870)
- fix(settings): Prevent error on Undo allowed domain change by @scttcper in [#104721](https://github.com/getsentry/sentry/pull/104721)

#### Spans Migration

- fix(spans-migration): query for `updating` query subscriptions by @nikkikapadia in [#104866](https://github.com/getsentry/sentry/pull/104866)
- fix(spans-migration): add count params to query instead by @nikkikapadia in [#104624](https://github.com/getsentry/sentry/pull/104624)
- fix(spans-migration): commit changes once everything passes by @nikkikapadia in [#104580](https://github.com/getsentry/sentry/pull/104580)
- fix(spans-migration): add fixes for alerts rollback migration by @nikkikapadia in [#104469](https://github.com/getsentry/sentry/pull/104469)
- fix(spans-migration): error handling for nonexistent data source by @nikkikapadia in [#104342](https://github.com/getsentry/sentry/pull/104342)
- fix(spans-migration): query the query subscription to get to data source in alerts translation by @nikkikapadia in [#104275](https://github.com/getsentry/sentry/pull/104275)

- fix(tagstore): Add referrer by @thetruecpaul in [#104833](https://github.com/getsentry/sentry/pull/104833)

- fix(theme): adjust theme.level tokens for new palette by @natemoo-re in [#104806](https://github.com/getsentry/sentry/pull/104806)

- fix(trace): Set a limit on the trace query by @wmak in [#104532](https://github.com/getsentry/sentry/pull/104532)

#### Tracemetrics

- fix(tracemetrics): Make scroll-to-top appear earlier by @k-fish in [#104639](https://github.com/getsentry/sentry/pull/104639)
- fix(tracemetrics): Improve metrics analytics by @k-fish in [#104495](https://github.com/getsentry/sentry/pull/104495)
- fix(tracemetrics): pageload event should fire when creating a new metric by @k-fish in [#104269](https://github.com/getsentry/sentry/pull/104269)
- fix(tracemetrics): Stop double metric events from firing by @k-fish in [#104222](https://github.com/getsentry/sentry/pull/104222)

- fix(traige signals): Fix rare fixability failure issue by @Mihir-Mavalankar in [#104438](https://github.com/getsentry/sentry/pull/104438)

- fix(triage signals): Return False if feature flag can't be checked by @Mihir-Mavalankar in [#104814](https://github.com/getsentry/sentry/pull/104814)

- fix(types): Fix return type of `update_with_returning` by @lobsterkatie in [#104225](https://github.com/getsentry/sentry/pull/104225)

#### Typing

- fix(typing): Add types to eventstream tests by @thetruecpaul in [#104266](https://github.com/getsentry/sentry/pull/104266)
- fix(typing): Add types to sentry.eventtypes by @thetruecpaul in [#104258](https://github.com/getsentry/sentry/pull/104258)

#### Ui

- fix(ui): DesyncedFilterIndicator positioning by @TkDodo in [#104942](https://github.com/getsentry/sentry/pull/104942)
- fix(ui): align dashboard button sizes with PageFilterBar by @TkDodo in [#104939](https://github.com/getsentry/sentry/pull/104939)
- fix(ui): Button's label clipped by @priscilawebdev in [#104849](https://github.com/getsentry/sentry/pull/104849)
- fix(ui): Make detector list visualizations more prominent by @evanpurkhiser in [#104703](https://github.com/getsentry/sentry/pull/104703)
- fix(ui): fallback selector for compactSelect boundary by @TkDodo in [#104388](https://github.com/getsentry/sentry/pull/104388)
- fix(ui): replace static gray with theme tokens in integrations settings by @TkDodo in [#104311](https://github.com/getsentry/sentry/pull/104311)
- fix(ui): Size limitations ai spans message by @matejminar in [#104315](https://github.com/getsentry/sentry/pull/104315)
- fix(ui): constrain compactSelect to the main section per default by @TkDodo in [#104245](https://github.com/getsentry/sentry/pull/104245)

- fix(uptime): Allow strings in config thresholds by @evanpurkhiser in [#104706](https://github.com/getsentry/sentry/pull/104706)

#### Usage Overview

- fix(usage overview): Correct overflows by @isabellaenriquez in [#104566](https://github.com/getsentry/sentry/pull/104566)
- fix(usage overview): Display add-on categories with reserved volume by @isabellaenriquez in [#104465](https://github.com/getsentry/sentry/pull/104465)

- fix(waterfall): Prefer specific root events in trace root lookup by @Lms24 in [#104050](https://github.com/getsentry/sentry/pull/104050)

- fix: Remove `open` prop of `SlideOverPanel` by @gggritso in [#104627](https://github.com/getsentry/sentry/pull/104627)
- fix(prompts) Handle string organization id values by @markstory in [#104543](https://github.com/getsentry/sentry/pull/104543)
- fix(cells) Add an internal annotation to preprod endpoint by @markstory in [#104397](https://github.com/getsentry/sentry/pull/104397)
- fix: make sentry-feedback widget look more like UI2 by @TkDodo in [#104399](https://github.com/getsentry/sentry/pull/104399)
- fix(logs) Disable logging for the CSSUTILS logger by @markstory in [#104324](https://github.com/getsentry/sentry/pull/104324)
- fix: always use chonkDarkTheme in gsAdmin by @TkDodo in [#104338](https://github.com/getsentry/sentry/pull/104338)
- fix/iconSizes/issuesAndFeedback by @Jesse-Box in [#104239](https://github.com/getsentry/sentry/pull/104239)
- fix(tests) Unskip test that was previously flaky by @markstory in [#104162](https://github.com/getsentry/sentry/pull/104162)

### Build / dependencies / internal 🔧

#### Aci

- chore(ACI): Remove more unused flags by @ceorourke in [#104727](https://github.com/getsentry/sentry/pull/104727)
- chore(aci): Old flag clean-up by @kcons in [#104484](https://github.com/getsentry/sentry/pull/104484)
- chore(ACI): Remove more unused flags by @ceorourke in [#104704](https://github.com/getsentry/sentry/pull/104704)
- chore(ACI): Remove unused flag by @ceorourke in [#104637](https://github.com/getsentry/sentry/pull/104637)
- chore(aci): New feature flag for opting out of redirects by @malwilley in [#104646](https://github.com/getsentry/sentry/pull/104646)
- chore(ACI): Remove GA'd metric issue flags by @ceorourke in [#104652](https://github.com/getsentry/sentry/pull/104652)
- chore(aci): set event_id when creating open period by @mifu67 in [#104558](https://github.com/getsentry/sentry/pull/104558)
- chore(ACI): add event_id column to group open period model by @mifu67 in [#104549](https://github.com/getsentry/sentry/pull/104549)
- chore(aci): add alert creation + success analytics by @ameliahsu in [#104403](https://github.com/getsentry/sentry/pull/104403)
- chore(aci): only include GOPAs that start within date range by @mifu67 in [#104000](https://github.com/getsentry/sentry/pull/104000)
- chore(aci): log created WAGS action ids by @cathteng in [#104209](https://github.com/getsentry/sentry/pull/104209)
- chore(ACI): Remove temporary fallthrough type logic by @ceorourke in [#103996](https://github.com/getsentry/sentry/pull/103996)

- chore(admin): update invoice details to use new cell routing by @klochek in [#104794](https://github.com/getsentry/sentry/pull/104794)

- chore(agents): add capture message for missing required gen_ai attributes by @shellmayr in [#104309](https://github.com/getsentry/sentry/pull/104309)

- chore(anomaly detection): improve graph details  by @shayna-ch in [#104195](https://github.com/getsentry/sentry/pull/104195)

- chore(anomaly-detection): Clean up some dead code by @thetruecpaul in [#104281](https://github.com/getsentry/sentry/pull/104281)

#### Api

- chore(API): Remove unused AM2 compatibility check endpoint by @ceorourke in [#104288](https://github.com/getsentry/sentry/pull/104288)
- chore(API): Remove unused grouping configs endpoint by @ceorourke in [#104303](https://github.com/getsentry/sentry/pull/104303)
- chore(API): Remove old unused symbol sources url path by @ceorourke in [#104298](https://github.com/getsentry/sentry/pull/104298)
- chore(API): Remove unused sentry app requests endpoint by @ceorourke in [#104293](https://github.com/getsentry/sentry/pull/104293)
- chore(API): Remove unused AM2 compatibility check by @ceorourke in [#104287](https://github.com/getsentry/sentry/pull/104287)

#### Autofix

- chore(autofix): tweak solution prompt by @roaga in [#104915](https://github.com/getsentry/sentry/pull/104915)
- chore(autofix): add more fields to suspect commit schema by @roaga in [#104889](https://github.com/getsentry/sentry/pull/104889)
- chore(autofix): more UI to bring v2 to parity by @roaga in [#104882](https://github.com/getsentry/sentry/pull/104882)

#### Billing

- chore(billing): remove grace period from user-facing frontend components by @dashed in [#104361](https://github.com/getsentry/sentry/pull/104361)
- chore(billing): remove grace period from admin by @dashed in [#104365](https://github.com/getsentry/sentry/pull/104365)

- chore(cells): Fix cell deprecation date by @kcons in [#104602](https://github.com/getsentry/sentry/pull/104602)

- chore(code-review): Register feature flag by @suejung-sentry in [#104742](https://github.com/getsentry/sentry/pull/104742)

#### Codeowners

- chore(codeowners): update ai insights by @obostjancic in [#104669](https://github.com/getsentry/sentry/pull/104669)
- meta(codeowners): Update ecosystem ownership by @leeandher in [#104523](https://github.com/getsentry/sentry/pull/104523)

- chore(cross-events): Render disabled search bars and an error toast by @nsdeschenes in [#104576](https://github.com/getsentry/sentry/pull/104576)

- chore(dashboards): Update query formatter by @nsdeschenes in [#104797](https://github.com/getsentry/sentry/pull/104797)

- chore(data-forwading): Publish endpoints and better docs by @leeandher in [#104520](https://github.com/getsentry/sentry/pull/104520)

#### Data Forwarding

- chore(data-forwarding): nicer icon, better error message by @leeandher in [#104521](https://github.com/getsentry/sentry/pull/104521)
- chore(data-forwarding): Allow clearing empty overrides, examples for endpoints, typo by @leeandher in [#104479](https://github.com/getsentry/sentry/pull/104479)

- chore(deletions): Improve cleanup multiprocess worker logging by @yuvmen in [#104228](https://github.com/getsentry/sentry/pull/104228)

#### Deps

- chore(deps): Bump React to 19.2.3 by @JPeer264 in [#104848](https://github.com/getsentry/sentry/pull/104848)
- chore(deps): Bump React to 19.2.2 by @nsdeschenes in [#104809](https://github.com/getsentry/sentry/pull/104809)

- chore(detector): Remove frontend flag usage by @roggenkemper in [#104429](https://github.com/getsentry/sentry/pull/104429)

#### Detectors

- chore(detectors): Remove experimental settings by @roggenkemper in [#104427](https://github.com/getsentry/sentry/pull/104427)
- chore(detectors): Remove experimental rollout flags  by @roggenkemper in [#104428](https://github.com/getsentry/sentry/pull/104428)
- chore(detectors): Fully replace N+1 Detectors with updated versions by @roggenkemper in [#104199](https://github.com/getsentry/sentry/pull/104199)

#### Eap

- chore(eap): Add docstrings by @thetruecpaul in [#104838](https://github.com/getsentry/sentry/pull/104838)
- chore(eap): increase max rollup points to match snuba buckets by @nikkikapadia in [#104411](https://github.com/getsentry/sentry/pull/104411)

- chore(eco): remove halt for unfurlable link by @cathteng in [#104168](https://github.com/getsentry/sentry/pull/104168)

#### Explore

- chore(explore): Update timeseries request referrers by @gggritso in [#104355](https://github.com/getsentry/sentry/pull/104355)
- chore(explore): Remove declaration of Explore `/events-timeseries/` spot check flag by @gggritso in [#104356](https://github.com/getsentry/sentry/pull/104356)

#### Explorer

- chore(explorer): set failure status on error metadata by @roaga in [#104836](https://github.com/getsentry/sentry/pull/104836)
- chore(explorer): add pause button by @roaga in [#104811](https://github.com/getsentry/sentry/pull/104811)
- chore(explorer): remove user cursor from context by @roaga in [#104832](https://github.com/getsentry/sentry/pull/104832)
- chore(explorer): better file approval UI by @roaga in [#104332](https://github.com/getsentry/sentry/pull/104332)

- chore(grouping): Clean up embeddings utils by @thetruecpaul in [#104286](https://github.com/getsentry/sentry/pull/104286)

#### Inbound Filters

- chore(inbound-filters): Update serializer help text to reflect new filter by @roggenkemper in [#104250](https://github.com/getsentry/sentry/pull/104250)
- chore(inbound-filters): Update Legacy Browser Inbound Filter by @roggenkemper in [#102518](https://github.com/getsentry/sentry/pull/102518)

#### Infra

- chore(infra): Fix WorkflowEventContext test pollution by @rbro112 in [#104641](https://github.com/getsentry/sentry/pull/104641)
- chore(infra): Add test reporting to shuffle-tests workflow by @rbro112 in [#104560](https://github.com/getsentry/sentry/pull/104560)

- chore(insights): Sets web vitals issue group type to released by @edwardgou-sentry in [#103853](https://github.com/getsentry/sentry/pull/103853)

#### Llm Detector

- chore(llm-detector): Add logs for category by @roggenkemper in [#104885](https://github.com/getsentry/sentry/pull/104885)
- chore(llm-detector): Add delay to spawned tasks by @roggenkemper in [#104883](https://github.com/getsentry/sentry/pull/104883)
- chore(llm-detector): Increase LLM Detection task timeout by @roggenkemper in [#104807](https://github.com/getsentry/sentry/pull/104807)
- chore(llm-detector): Update time window for trace retrieval  by @roggenkemper in [#104404](https://github.com/getsentry/sentry/pull/104404)
- chore(llm-detector): Increase limits for LLM Issue Detection by @roggenkemper in [#104400](https://github.com/getsentry/sentry/pull/104400)
- chore(llm-detector): Update issue config to allow for Seer  by @roggenkemper in [#104180](https://github.com/getsentry/sentry/pull/104180)

- chore(logs): Expand logs field definitions by @nsdeschenes in [#104464](https://github.com/getsentry/sentry/pull/104464)

#### Np

- chore(np): More logs catDespair by @Christinarlong in [#104553](https://github.com/getsentry/sentry/pull/104553)
- chore(np): Add logs to debug sending by @Christinarlong in [#104461](https://github.com/getsentry/sentry/pull/104461)
- chore(np): Onboard custom rule notifs v2 by @Christinarlong in [#103840](https://github.com/getsentry/sentry/pull/103840)
- chore(np): Migrate del repo notification to platform by @Christinarlong in [#104396](https://github.com/getsentry/sentry/pull/104396)

#### Preprod

- chore(preprod): add date to build list backend by @mtopo27 in [#104374](https://github.com/getsentry/sentry/pull/104374)
- chore(preprod): empty state for no git details (EME-637) by @mtopo27 in [#104273](https://github.com/getsentry/sentry/pull/104273)

- chore(releases): add mobile build tab analytic event by @mtopo27 in [#104861](https://github.com/getsentry/sentry/pull/104861)

#### Replay

- chore(replay): add feature flag for granular replay permissions by @shellmayr in [#104441](https://github.com/getsentry/sentry/pull/104441)
- refactor(replay): update replay components to use linkQuery for navigation by @jerryzhou196 in [#104247](https://github.com/getsentry/sentry/pull/104247)
- refactor(replay): remove unused components in platform icons by @jerryzhou196 in [#104135](https://github.com/getsentry/sentry/pull/104135)

- chore(search): Use fuzzy search on raw text values with spaces by @nsdeschenes in [#104405](https://github.com/getsentry/sentry/pull/104405)

#### Search Bar

- chore(search-bar): Tidy up search query builder flags by @nsdeschenes in [#104335](https://github.com/getsentry/sentry/pull/104335)
- chore(search-bar): Remove auto replacement on paste by @nsdeschenes in [#103718](https://github.com/getsentry/sentry/pull/103718)

#### Seer

- chore(seer): Update check for support repo types by looking at repo.id by @ryan953 in [#104817](https://github.com/getsentry/sentry/pull/104817)
- chore(seer): Rename column to be more general in cases when we support other types of agents by @ryan953 in [#104693](https://github.com/getsentry/sentry/pull/104693)
- chore(seer): Tag method name for seer rpcs by @Zylphrex in [#104605](https://github.com/getsentry/sentry/pull/104605)
- chore(seer): codeowner for tests by @aliu39 in [#104494](https://github.com/getsentry/sentry/pull/104494)
- chore(seer): Remove extra calls to invalidateQueries, useUpdateProjectSeerPreferences does it automatically by @ryan953 in [#104359](https://github.com/getsentry/sentry/pull/104359)

- chore(seer onboarding): Set api owner of OrganizationSeerOnboardingCheck to Coding Workflows by @srest2021 in [#104876](https://github.com/getsentry/sentry/pull/104876)

#### Seer Rpc

- chore(seer rpc): Register search agent rpcs by @aayush-se in [#104551](https://github.com/getsentry/sentry/pull/104551)
- chore(seer rpc): Add missing endpoints by @aayush-se in [#104526](https://github.com/getsentry/sentry/pull/104526)

- chore(segment-enhancement): Add tracing to segment name normalization by @mjq in [#104395](https://github.com/getsentry/sentry/pull/104395)

- chore(sentry apps): Token id and info in logs for failing refresh by @Christinarlong in [#104282](https://github.com/getsentry/sentry/pull/104282)

- chore(slack): improve performance of /sentry link command by @cathteng in [#104019](https://github.com/getsentry/sentry/pull/104019)

- chore(top-issues): add more actions  by @cvxluo in [#104467](https://github.com/getsentry/sentry/pull/104467)

- chore(trace-query-builder): Improve the DX around span search bars by @nsdeschenes in [#104757](https://github.com/getsentry/sentry/pull/104757)

#### Triage Signals

- chore(triage signals): Set org level default to medium too by @Mihir-Mavalankar in [#104621](https://github.com/getsentry/sentry/pull/104621)
- chore(triage signals): Log cleanup by @Mihir-Mavalankar in [#104609](https://github.com/getsentry/sentry/pull/104609)

- chore: Add back parallelization, try different orderby by @shruthilayaj in [#104890](https://github.com/getsentry/sentry/pull/104890)
- chore: remove code that was added to help debug stats endpoint by @shruthilayaj in [#104804](https://github.com/getsentry/sentry/pull/104804)
- chore: logging to debug anomaly detection by @shruthilayaj in [#104766](https://github.com/getsentry/sentry/pull/104766)
- chore: split up some seer referrers by @shruthilayaj in [#104610](https://github.com/getsentry/sentry/pull/104610)
- chore: remove flags by @ryan953 in [#104578](https://github.com/getsentry/sentry/pull/104578)
- chore(cells) Add deprecation notices for a few issue endpoints by @markstory in [#104471](https://github.com/getsentry/sentry/pull/104471)
- chore: Remove killswitch CLI tool by @markstory in [#104261](https://github.com/getsentry/sentry/pull/104261)
- build: Bump objectstore to 0.0.14 by @jan-auer in [#104445](https://github.com/getsentry/sentry/pull/104445)
- chore (preprod): capitalization fix by @mtopo27 in [#104279](https://github.com/getsentry/sentry/pull/104279)
- chore(cells) Finish adding silo annotations to View, Endpoint and functions by @markstory in [#104172](https://github.com/getsentry/sentry/pull/104172)
- refactor(replay) - shrink top header buttons to xs by @jerryzhou196 in [#104187](https://github.com/getsentry/sentry/pull/104187)

### Other

- perf(rpc): Filter projects without data by @Zylphrex in [#104891](https://github.com/getsentry/sentry/pull/104891)
- theme: remove useChonkTheme by @JonasBa in [#104911](https://github.com/getsentry/sentry/pull/104911)
- ref(scraps): move formTheme into commonTheme by @TkDodo in [#104949](https://github.com/getsentry/sentry/pull/104949)
- ref(scraps): remove unused tag types "white" and "black" from theme by @TkDodo in [#104946](https://github.com/getsentry/sentry/pull/104946)
- ref(scraps): remove chart aliases from theme by @TkDodo in [#104950](https://github.com/getsentry/sentry/pull/104950)
- ref(scraps): remove borderRadius from theme by @TkDodo in [#104948](https://github.com/getsentry/sentry/pull/104948)
- ref(ui): do not disable eslint-plugin-query for debouncing by @TkDodo in [#103141](https://github.com/getsentry/sentry/pull/103141)
- theme: remove theme.isChonk by @JonasBa in [#104827](https://github.com/getsentry/sentry/pull/104827)
- ref(seer): Tweak Seer org settings page, including sort in the checkboxProvider query key by @ryan953 in [#104719](https://github.com/getsentry/sentry/pull/104719)
- ref(forms): Convert JsonForm to FC by @scttcper in [#104506](https://github.com/getsentry/sentry/pull/104506)
- ref(anomaly threshold): remove feature flag check by @shayna-ch in [#104874](https://github.com/getsentry/sentry/pull/104874)
- ref(scraps): use new typography tokens by @natemoo-re in [#104470](https://github.com/getsentry/sentry/pull/104470)
- ref(scraps): apply typography by @natemoo-re in [#104468](https://github.com/getsentry/sentry/pull/104468)
- ref(explorer): update issue copy by @aliu39 in [#104802](https://github.com/getsentry/sentry/pull/104802)
- ref(segment-enrichment): Use attribute name constants from conventions by @mjq in [#104607](https://github.com/getsentry/sentry/pull/104607)
- theme: remove iconDirection by @JonasBa in [#104617](https://github.com/getsentry/sentry/pull/104617)
- Revert "feat(ui): virtualization for compactSelect (#104574)" by @JonasBa in [#104776](https://github.com/getsentry/sentry/pull/104776)
- theme: theme.background to theme.tokens.background.primary by @JonasBa in [#104658](https://github.com/getsentry/sentry/pull/104658)
- ref(scraps): unify theme.form by @TkDodo in [#104753](https://github.com/getsentry/sentry/pull/104753)
- ref(scraps): replace theme.borderRadius with theme.radius.md by @TkDodo in [#104748](https://github.com/getsentry/sentry/pull/104748)
- ref(ai-insights): switch to gen_ai.operation.name/type by @obostjancic in [#104673](https://github.com/getsentry/sentry/pull/104673)
- ref(ui): revert hard-coded menuWidth for Group By compactSelect by @TkDodo in [#104746](https://github.com/getsentry/sentry/pull/104746)
- ref(explorer): issues rpc revamp by @aliu39 in [#104712](https://github.com/getsentry/sentry/pull/104712)
- Skip flaky test: test_resetting_context by @devinfra-flakiness in [#104684](https://github.com/getsentry/sentry/pull/104684)

_Plus 99 more_

25.11.1
-------

### New Features ✨

- feat(traces): Add cross event dropdown functionality by @nsdeschenes in [#104100](https://github.com/getsentry/sentry/pull/104100)
- feat: Set Default max pickable days by @Zylphrex in [#104109](https://github.com/getsentry/sentry/pull/104109)
- feat(symbols): Add platform-restricted builtin symbol sources with org access control by @vaind in [#102013](https://github.com/getsentry/sentry/pull/102013)
- feat(alerts): Allow bumping max snuba subscription limit by @shruthilayaj in [#104126](https://github.com/getsentry/sentry/pull/104126)
- feat(dashboards): add details widget to query summary page by @DominikB2014 in [#104112](https://github.com/getsentry/sentry/pull/104112)
- feat(preprod): Add second row with build number, version info and date to comparison screen (EME-520) by @runningcode in [#104117](https://github.com/getsentry/sentry/pull/104117)
- feat(symbols): Pass project platform to builtin symbol sources API (frontend) by @vaind in [#104116](https://github.com/getsentry/sentry/pull/104116)
- feat(dashboards): Add duplicate control for prebuilt dashboards by @DominikB2014 in [#104103](https://github.com/getsentry/sentry/pull/104103)
- feat(dashboards): Prevents rendering edit and save ui on prebuilt insights dashboards by @edwardgou-sentry in [#104101](https://github.com/getsentry/sentry/pull/104101)
- feat(dashboards): Add wildcard operators to global filters by @Ahmed-Labs in [#104070](https://github.com/getsentry/sentry/pull/104070)
- feat(dashboards): add details widget type by @DominikB2014 in [#104059](https://github.com/getsentry/sentry/pull/104059)
- feat(dashboards): Add edit and delete guard for prebuilt dashboards to backend dashboard details endpoint by @edwardgou-sentry in [#104098](https://github.com/getsentry/sentry/pull/104098)
- feat(dashboards): misc fixes to query prebuilt dashboards by @DominikB2014 in [#104099](https://github.com/getsentry/sentry/pull/104099)
- feat(dashboards): register "details" widget as valid widget on the backend by @DominikB2014 in [#104062](https://github.com/getsentry/sentry/pull/104062)
- feat(vitals): Add analytics for primary and secondary release selection by @markushi in [#103960](https://github.com/getsentry/sentry/pull/103960)
- feat(onboarding): Add log drain docs to logs onboarding by @AbhiPrasad in [#104084](https://github.com/getsentry/sentry/pull/104084)
- feat(playstation): Always fetch dumps from tempest by @mujacica in [#104040](https://github.com/getsentry/sentry/pull/104040)
- feat(objectstore): Improve host rewriting by @lcian in [#103964](https://github.com/getsentry/sentry/pull/103964)
- feat(agents): Show agent names in traces table by @ArthurKnaus in [#104079](https://github.com/getsentry/sentry/pull/104079)
- feat: Remove adjacent tracing feature flag by @JPeer264 in [#103891](https://github.com/getsentry/sentry/pull/103891)
- feat(eap): Support reading boolean attributes from response by @phacops in [#104063](https://github.com/getsentry/sentry/pull/104063)
- feat(dashboards): Updates prebuilt dashboard preview and management in the All Dashboards view by @edwardgou-sentry in [#104018](https://github.com/getsentry/sentry/pull/104018)
- feat(vercel): Remove `get_env_var_map` helper by @AbhiPrasad in [#104068](https://github.com/getsentry/sentry/pull/104068)
- feat(explore): Hook to respect new downsampled retention by @Zylphrex in [#104013](https://github.com/getsentry/sentry/pull/104013)
- feat(vercel): Add drain env variables to Vercel integration by @AbhiPrasad in [#103986](https://github.com/getsentry/sentry/pull/103986)
- feat(issues): Allow disabling of filters in top group demo, add tags by @scttcper in [#104037](https://github.com/getsentry/sentry/pull/104037)
- feat(aci): redirect incidents to metric issue details by @ameliahsu in [#104001](https://github.com/getsentry/sentry/pull/104001)
- feat(crons): Always create detectors for all monitors in MonitorValidator by @evanpurkhiser in [#104004](https://github.com/getsentry/sentry/pull/104004)
- feat(preprod): record if the status check failed by @trevor-e in [#104039](https://github.com/getsentry/sentry/pull/104039)
- feat(explorer): rpcs for getting log/metric attrs for a trace id + substring by @aliu39 in [#103875](https://github.com/getsentry/sentry/pull/103875)
- feat(aci): Format percentage based thresholds/data by @scttcper in [#104035](https://github.com/getsentry/sentry/pull/104035)
- feat(explore): Enabling searching attributes on group by by @nsdeschenes in [#104003](https://github.com/getsentry/sentry/pull/104003)
- feat(dashboards): loosen unique title db constraint on dashboards by @DominikB2014 in [#104046](https://github.com/getsentry/sentry/pull/104046)
- feat(issues): allow pasting json top issues by @cvxluo in [#104022](https://github.com/getsentry/sentry/pull/104022)
- feat(billing): use Subscription.orgRetention in customerOverview by @vbro in [#103124](https://github.com/getsentry/sentry/pull/103124)
- feat(issues): more functionality for different team viewing in top issues by @cvxluo in [#103947](https://github.com/getsentry/sentry/pull/103947)
- feat(dashboards): Adds action menu to prebuilt dashboard widgets by @edwardgou-sentry in [#103976](https://github.com/getsentry/sentry/pull/103976)
- feat(aci): Move threshold info into detect section of metric monitor details by @malwilley in [#103926](https://github.com/getsentry/sentry/pull/103926)
- feat(logs): Without chart data when table is empty by @Zylphrex in [#103930](https://github.com/getsentry/sentry/pull/103930)
- feat(deletions): Retry timed out tasks by @armenzg in [#103966](https://github.com/getsentry/sentry/pull/103966)
- feat(explore): Add hooks for date page filter props based on data cat… by @Zylphrex in [#103931](https://github.com/getsentry/sentry/pull/103931)
- feat(billing): Update quota endpoints for Seer by @brendanhsentry in [#103948](https://github.com/getsentry/sentry/pull/103948)
- feat: no-token-import rule by @TkDodo in [#103889](https://github.com/getsentry/sentry/pull/103889)
- feat(settings): Remove vercel log drain feature flag by @AbhiPrasad in [#103940](https://github.com/getsentry/sentry/pull/103940)
- feat(dashboards): ensure global filters carryforward when clicking view span samples on table by @DominikB2014 in [#103860](https://github.com/getsentry/sentry/pull/103860)
- feat(devservices): Add symbolicator-tests mode by @loewenheim in [#103959](https://github.com/getsentry/sentry/pull/103959)
- feat(aci): Display apdex option for spans by @scttcper in [#103791](https://github.com/getsentry/sentry/pull/103791)
- feat(tests): Add helper to count mock calls by @lobsterkatie in [#103941](https://github.com/getsentry/sentry/pull/103941)
- feat(explorer): send interactivity flag in client by @roaga in [#103934](https://github.com/getsentry/sentry/pull/103934)
- feat(grouping): Add options to control grouphash caching by @lobsterkatie in [#103943](https://github.com/getsentry/sentry/pull/103943)
- feat(eap): Always log the rpc query instead of only at debug by @wmak in [#103922](https://github.com/getsentry/sentry/pull/103922)
- feat(issues): add summary to top issue card by @cvxluo in [#103880](https://github.com/getsentry/sentry/pull/103880)
- feat(Replay): Update Query Archived Alias by @cliffordxing in [#103914](https://github.com/getsentry/sentry/pull/103914)
- feat(tracemetrics): Copy previous metric instead of using defaults by @Zylphrex in [#103917](https://github.com/getsentry/sentry/pull/103917)
- feat(explore): Add hooks for date page filter props based on data cat… by @Zylphrex in [#103822](https://github.com/getsentry/sentry/pull/103822)
- feat: migrations should noop faster by @joshuarli in [#103795](https://github.com/getsentry/sentry/pull/103795)
- feat(explorer): add config for intelligence level to client by @roaga in [#103873](https://github.com/getsentry/sentry/pull/103873)
- feat: Add support for extrapolation modes in entity subscription by @shruthilayaj in [#103834](https://github.com/getsentry/sentry/pull/103834)
- feat(aci): Replace detector type in url, add default by @scttcper in [#103837](https://github.com/getsentry/sentry/pull/103837)
- feat(replay): Add sticky header support to replay table and header components by @jerryzhou196 in [#103825](https://github.com/getsentry/sentry/pull/103825)
- feat(aci): redirect alert rules to detectors by @ameliahsu in [#103682](https://github.com/getsentry/sentry/pull/103682)
- feat(charts): Adding new chart range selection hook by @Abdkhan14 in [#103748](https://github.com/getsentry/sentry/pull/103748)
- feat(prevent): Remove seer app bullet from onboarding by @suejung-sentry in [#103421](https://github.com/getsentry/sentry/pull/103421)
- feat(deletions): Retry task on timeout by @armenzg in [#103894](https://github.com/getsentry/sentry/pull/103894)
- feat(replay): Add loading state to ReplayPlaylistProvider and update usage in related components by @jerryzhou196 in [#103835](https://github.com/getsentry/sentry/pull/103835)
- feat(sdk): Trial higher envelope serialization limits by @alexander-alderman-webb in [#103882](https://github.com/getsentry/sentry/pull/103882)
- feat(deletions): Cleanup more groups per project by @armenzg in [#103851](https://github.com/getsentry/sentry/pull/103851)
- feat(perforce): Add Perforce integration infrastructure and stubs by @mujacica in [#103287](https://github.com/getsentry/sentry/pull/103287)
- feat(perforce): Add frontend support for Perforce integration by @mujacica in [#103172](https://github.com/getsentry/sentry/pull/103172)
- feat(symbolication): Make frame order explicit by @loewenheim in [#103638](https://github.com/getsentry/sentry/pull/103638)
- feat(issues): top issues experiment by @cvxluo in [#103773](https://github.com/getsentry/sentry/pull/103773)
- feat(aci): add Incident to GroupOpenPeriod lookup endpoint by @ameliahsu in [#103782](https://github.com/getsentry/sentry/pull/103782)
- feat(dashboards): automatically populate dashboard ids in prebuilt dashboards by @DominikB2014 in [#103738](https://github.com/getsentry/sentry/pull/103738)
- feat(charts): Custom icons for legends by @evanpurkhiser in [#103800](https://github.com/getsentry/sentry/pull/103800)
- feat(Replay): Strip Dash Before EAP Replay Query by @cliffordxing in [#103793](https://github.com/getsentry/sentry/pull/103793)
- feat(insights): Adds an endpoint to manually start issue detection task on a project by @edwardgou-sentry in [#103760](https://github.com/getsentry/sentry/pull/103760)
- feat(aci): Add serialized data source to issue occurrence evidence data by @malwilley in [#103549](https://github.com/getsentry/sentry/pull/103549)
- feat(explore): Limit explore visualizes to 8 by @Zylphrex in [#103826](https://github.com/getsentry/sentry/pull/103826)
- feat(aci): Edit connected alerts directly from monitor details by @malwilley in [#103757](https://github.com/getsentry/sentry/pull/103757)
- feat: Remove extrapolation modes from alerts translation by @shruthilayaj in [#103823](https://github.com/getsentry/sentry/pull/103823)
- feat(deletions): Schedule task to delete pending deletions groups by @armenzg in [#103820](https://github.com/getsentry/sentry/pull/103820)
- feat(aci): Make Workflow.when_condition_group unique by @kcons in [#103768](https://github.com/getsentry/sentry/pull/103768)
- feat: Use extrapolation mode in alerts by @shruthilayaj in [#103731](https://github.com/getsentry/sentry/pull/103731)
- feat: Add url_names option to deprecated() by @markstory in [#103758](https://github.com/getsentry/sentry/pull/103758)
- feat(dashboards): add legend to queries module charts by @DominikB2014 in [#103752](https://github.com/getsentry/sentry/pull/103752)
- feat(prevent): Enable EU for ai code review by @suejung-sentry in [#103420](https://github.com/getsentry/sentry/pull/103420)
- feat(dashboards): allow a single equation on a chart by @bcoe in [#103783](https://github.com/getsentry/sentry/pull/103783)
- feat: Add modal for binaries without dsyms by @noahsmartin in [#103554](https://github.com/getsentry/sentry/pull/103554)
- feat(explore): Add saved queries to title for logs and metrics by @nsdeschenes in [#103644](https://github.com/getsentry/sentry/pull/103644)
- feat(objectstore): Add a (no-op) Objectstore endpoint by @lcian in [#103468](https://github.com/getsentry/sentry/pull/103468)
- feat(settings): Remove deprecated route props from SentryApplicationDetails by @scttcper in [#103797](https://github.com/getsentry/sentry/pull/103797)
- feat(billing): update org retention settings in \_admin by @vbro in [#103126](https://github.com/getsentry/sentry/pull/103126)
- feat(issues): top issues ui flag by @cvxluo in [#103776](https://github.com/getsentry/sentry/pull/103776)
- feat(billing): add orgRetention to Subscription type by @vbro in [#103118](https://github.com/getsentry/sentry/pull/103118)
- feat(eventstream): Synchronously write occurrences to EAP from the `SnubaEventStream` by @shashjar in [#103566](https://github.com/getsentry/sentry/pull/103566)
- feat(events): Add logging to debug queries by @wmak in [#103766](https://github.com/getsentry/sentry/pull/103766)
- feat(events): Add rpc request even on error by @wmak in [#103678](https://github.com/getsentry/sentry/pull/103678)
- feat(insights): Remove Web Vital issue detection project allow list and add batching by @edwardgou-sentry in [#103740](https://github.com/getsentry/sentry/pull/103740)
- feat(insights): Updates Web Vital Issue detection titles by @edwardgou-sentry in [#103657](https://github.com/getsentry/sentry/pull/103657)
- feat(preprod): Add codesigning type to check for updates filter by @noahsmartin in [#103727](https://github.com/getsentry/sentry/pull/103727)
- feat(explore): Update confidence footer again by @Zylphrex in [#103680](https://github.com/getsentry/sentry/pull/103680)
- feat(scraps): add tokens by @natemoo-re in [#103685](https://github.com/getsentry/sentry/pull/103685)
- feat(settings): Disable AI settings when gen-ai-features flag is off by @JoshFerge in [#103387](https://github.com/getsentry/sentry/pull/103387)
- feat(aci): Add monitor created/updated analytics by @scttcper in [#103279](https://github.com/getsentry/sentry/pull/103279)
- feat(eap): Enable deletion from EAP by default, with a killswitch option by @shashjar in [#102808](https://github.com/getsentry/sentry/pull/102808)
- feat(explorer): support caseInsensitive param by @aliu39 in [#103494](https://github.com/getsentry/sentry/pull/103494)
- feat(deletions): Re-attempt deletions after 6 hours by @armenzg in [#103643](https://github.com/getsentry/sentry/pull/103643)
- feat(aci): redirect rules to automations with UI FF by @ameliahsu in [#103322](https://github.com/getsentry/sentry/pull/103322)
- feat(insights): Adds metrics to web vitals issue detection task by @edwardgou-sentry in [#103538](https://github.com/getsentry/sentry/pull/103538)
- feat(dashboards): link query overview to summary by @DominikB2014 in [#103530](https://github.com/getsentry/sentry/pull/103530)
- feat(ACI): Delete data in Seer when dynamic detector type is changed by @ceorourke in [#103323](https://github.com/getsentry/sentry/pull/103323)
- feat(dashboards): query dashboards by prebuilt id in api by @DominikB2014 in [#103557](https://github.com/getsentry/sentry/pull/103557)
- feat(seer): better surface coding agent integration errors by @jennmueng in [#103302](https://github.com/getsentry/sentry/pull/103302)
- feat(traces): Set page title to saved query name by @nsdeschenes in [#103633](https://github.com/getsentry/sentry/pull/103633)
- feat(encryption): Add metrics for encrypted field by @vgrozdanic in [#103630](https://github.com/getsentry/sentry/pull/103630)
- feat(encryption): Use EncryptedCharField in TempestCredentials by @vgrozdanic in [#103515](https://github.com/getsentry/sentry/pull/103515)
- feat(aci): Add basic automation analytics by @scttcper in [#103416](https://github.com/getsentry/sentry/pull/103416)
- feat(aci): Ensure DetectorGroup for recurring Groups by @kcons in [#103419](https://github.com/getsentry/sentry/pull/103419)
- feat(detectors): Add detector type to breadcrumbs by @evanpurkhiser in [#103560](https://github.com/getsentry/sentry/pull/103560)
- feat(aci): Disable error monitor create button by @malwilley in [#103544](https://github.com/getsentry/sentry/pull/103544)
- feat(insights): register query module prebuilt dashboards by @DominikB2014 in [#103531](https://github.com/getsentry/sentry/pull/103531)
- feat(aci): Allow empty monitor/alert names by @scttcper in [#103350](https://github.com/getsentry/sentry/pull/103350)
- feat(aci): Rewire insights crons/uptime links to go to Monitors by @malwilley in [#103129](https://github.com/getsentry/sentry/pull/103129)
- feat(spans): Allow integers in count if conditions by @Zylphrex in [#103526](https://github.com/getsentry/sentry/pull/103526)
- feat(encrryption): Add Fernet Key Store by @vgrozdanic in [#103511](https://github.com/getsentry/sentry/pull/103511)
- feat(ai): Normalize model names for a better cost calculation by @vgrozdanic in [#103508](https://github.com/getsentry/sentry/pull/103508)
- feat(preprod): add cards to build details by @mtopo27 in [#103470](https://github.com/getsentry/sentry/pull/103470)
- feat(seer): Add separate scanner acknowledgement function with rollout rate by @JoshFerge in [#103496](https://github.com/getsentry/sentry/pull/103496)
- feat(explorer): copy for metric viewing tool by @roaga in [#103430](https://github.com/getsentry/sentry/pull/103430)
- feat(config): Remove log for tz mismatch by @billyvg in [#103492](https://github.com/getsentry/sentry/pull/103492)
- feat(explorer): highlight nav links and smooth scroll by @roaga in [#103432](https://github.com/getsentry/sentry/pull/103432)
- feat(ui): Disable Amplitude console logging by @billyvg in [#103452](https://github.com/getsentry/sentry/pull/103452)
- feat(onboarding): Simplify metrics onboarding for the Python SDK by @alexander-alderman-webb in [#103354](https://github.com/getsentry/sentry/pull/103354)
- feat(explorer): add rpc to wrap trace-items endpoint by @roaga in [#103429](https://github.com/getsentry/sentry/pull/103429)
- feat(Replay): Add Flag for EAP Query for Replay Details Page by @cliffordxing in [#103278](https://github.com/getsentry/sentry/pull/103278)
- feat(billing): Add notification setting for seer users by @brendanhsentry in [#103411](https://github.com/getsentry/sentry/pull/103411)
- feat: Add feature flag for downsampled date page filter by @Zylphrex in [#103403](https://github.com/getsentry/sentry/pull/103403)
- feat(dashboards): Use a single value selector for boolean filters by @Ahmed-Labs in [#102792](https://github.com/getsentry/sentry/pull/102792)
- feat: Consolidate adjacent traces & move next to search by @JPeer264 in [#102472](https://github.com/getsentry/sentry/pull/102472)

### Bug Fixes 🐛

- fix(snuba): add missing api.metrics.totals.second_query to Referrer enum by @constantinius in [#104155](https://github.com/getsentry/sentry/pull/104155)
- fix(snuba): missing referrer enum for `api.organization-events.metrics-enhanced` and `api.insights.landing-table.metrics-enhanced.primary` by @aldy505 in [#102122](https://github.com/getsentry/sentry/pull/102122)
- fix(playstation): Show warning when connection is good, but no errors by @mujacica in [#104097](https://github.com/getsentry/sentry/pull/104097)
- fix(playstation): Show warning when connection is good, but no errors by @mujacica in [#104096](https://github.com/getsentry/sentry/pull/104096)
- fix(dashboards): Filter out prebuilt dashboards from add to dashboard dropdown options by @edwardgou-sentry in [#104132](https://github.com/getsentry/sentry/pull/104132)
- fix(sdk): Remove higher envelope serialization limits by @alexander-alderman-webb in [#104118](https://github.com/getsentry/sentry/pull/104118)
- fix(explore): Bandaid to escape brackets  by @nsdeschenes in [#104108](https://github.com/getsentry/sentry/pull/104108)
- fix(dashboards): Fix trigger for single value global filter selector by @Ahmed-Labs in [#104107](https://github.com/getsentry/sentry/pull/104107)
- fix(dashboards): can't save details widget by @DominikB2014 in [#104106](https://github.com/getsentry/sentry/pull/104106)
- fix(aci): accept str instead of int for extrapolation mode in validator by @nikkikapadia in [#104015](https://github.com/getsentry/sentry/pull/104015)
- fix(waterfall): Search for previous and next traces across environments by @Lms24 in [#104095](https://github.com/getsentry/sentry/pull/104095)
- fix(playstation): Remove option to not fetch prospero dumps from tempest by @mujacica in [#104042](https://github.com/getsentry/sentry/pull/104042)
- fix(waterfall): Relax "next_trace" lookup to just the trace id by @Lms24 in [#104047](https://github.com/getsentry/sentry/pull/104047)
- fix(dashboards): Updates dashboard quota to not count prebuilt dashboards by @edwardgou-sentry in [#103985](https://github.com/getsentry/sentry/pull/103985)
- fix(billing): Check self serve partner value in hasBillingInfo by @brendanhsentry in [#104066](https://github.com/getsentry/sentry/pull/104066)
- fix(Replay): Include Timestamp Attribute in Trace Item by @cliffordxing in [#104030](https://github.com/getsentry/sentry/pull/104030)
- fix(aci): use aggregate output type for % change detection charts by @scttcper in [#104061](https://github.com/getsentry/sentry/pull/104061)
- fix(ACI): Fix adding sentry app action to a workflow by @ceorourke in [#103790](https://github.com/getsentry/sentry/pull/103790)
- fix(aci): handle fake alert rule ids in AlertRuleDetector lookup by @ameliahsu in [#104031](https://github.com/getsentry/sentry/pull/104031)
- fix(aci): Disable highlighting series on hover by @scttcper in [#103950](https://github.com/getsentry/sentry/pull/103950)
- fix(billing): Let backend handle dynamic validation by @isabellaenriquez in [#103977](https://github.com/getsentry/sentry/pull/103977)
- fix(ui): Fix typo in Laravel onboarding text by @romeopopescu in [#103896](https://github.com/getsentry/sentry/pull/103896)
- fix(settings): Prevent infinite requests in forward stats by @scttcper in [#104032](https://github.com/getsentry/sentry/pull/104032)
- fix(aci): don't fire action if there is a conflict when creating WAGS by @cathteng in [#104002](https://github.com/getsentry/sentry/pull/104002)
- fix(aci): Multiply release data values by 100 by @scttcper in [#103981](https://github.com/getsentry/sentry/pull/103981)
- fix(db): Avoid project db query by accessing just its id by @beezz in [#104008](https://github.com/getsentry/sentry/pull/104008)
- fix(ourlogs): Add drawer QP and fix scroll by @k-fish in [#103979](https://github.com/getsentry/sentry/pull/103979)
- fix(monitors): Allow editing cron monitor detectors with existing slug by @evanpurkhiser in [#103846](https://github.com/getsentry/sentry/pull/103846)
- fix(tracemetrics): Wait for datascanned by @k-fish in [#103993](https://github.com/getsentry/sentry/pull/103993)
- fix(preprod): fix positioning of app size tooltip by @trevor-e in [#103978](https://github.com/getsentry/sentry/pull/103978)
- fix(misc): Fix getExactDuration behaviour when given a precision parameter by @kenzoengineer in [#103958](https://github.com/getsentry/sentry/pull/103958)
- fix(aci): support notifications for non-dual written metric detectors by @mifu67 in [#103938](https://github.com/getsentry/sentry/pull/103938)
- fix(aci): correctly query open periods within date range by @ameliahsu in [#103924](https://github.com/getsentry/sentry/pull/103924)
- fix(tracemetrics): Fix analytics firing by @k-fish in [#103982](https://github.com/getsentry/sentry/pull/103982)
- fix(ACI): Migrate fallthroughType to fallthrough_type by @ceorourke in [#103764](https://github.com/getsentry/sentry/pull/103764)
- fix(performance): Fixes web vital issue trace links not working sometimes by @edwardgou-sentry in [#103859](https://github.com/getsentry/sentry/pull/103859)
- fix(billing): Handle emirates by @isabellaenriquez in [#103973](https://github.com/getsentry/sentry/pull/103973)
- fix: Code signature error list missing newlines by @noahsmartin in [#103969](https://github.com/getsentry/sentry/pull/103969)
- fix(profiling): Link event id for profiles in trace view by @Zylphrex in [#103921](https://github.com/getsentry/sentry/pull/103921)
- fix(aci): Try our best in Project.transfer_to by @kcons in [#103704](https://github.com/getsentry/sentry/pull/103704)
- fix(issues): resolve column styling problems in top issues by @cvxluo in [#103946](https://github.com/getsentry/sentry/pull/103946)
- fix(aci): always combine rule and workflow fire history in API by @cathteng in [#103945](https://github.com/getsentry/sentry/pull/103945)
- fix(Replay): Update Timestamp Start Query by @cliffordxing in [#103942](https://github.com/getsentry/sentry/pull/103942)
- fix(issues): Fix issue search single page count inaccuracy by @yuvmen in [#103865](https://github.com/getsentry/sentry/pull/103865)
- fix(aci): simplify DetectorWorkflow connection permission requirements by @ameliahsu in [#103799](https://github.com/getsentry/sentry/pull/103799)
- fix(alerts): filter out orphaned metric alerts when checking limit by @cathteng in [#103912](https://github.com/getsentry/sentry/pull/103912)
- fix(mcp): Use mutable search in mcp link generation by @Zylphrex in [#103911](https://github.com/getsentry/sentry/pull/103911)
- fix(ACI): Accept fallthrough type in actions by @ceorourke in [#103694](https://github.com/getsentry/sentry/pull/103694)
- fix(aci): prevent deletion of system-created monitors in API by @ameliahsu in [#103843](https://github.com/getsentry/sentry/pull/103843)
- fix(deletions): Fix MonitorCheckIn direct deletion by @yuvmen in [#103907](https://github.com/getsentry/sentry/pull/103907)
- fix(aci): Immediate deletion of workflow-detector connections in DELETE endpoints by @malwilley in [#103869](https://github.com/getsentry/sentry/pull/103869)
- fix(aci): Snake casing for data sources in evidence data by @malwilley in [#103858](https://github.com/getsentry/sentry/pull/103858)
- fix(aci): add back logic to create IGOP associations for long-standing incidents by @mifu67 in [#103778](https://github.com/getsentry/sentry/pull/103778)
- fix(explorer): set correct thread id in metadata by @roaga in [#103876](https://github.com/getsentry/sentry/pull/103876)
- fix(tracemetrics): Add metric button not working by @Zylphrex in [#103900](https://github.com/getsentry/sentry/pull/103900)
- fix(ui): point hardcoded dark background colors to UI2 theme token values by @TkDodo in [#103886](https://github.com/getsentry/sentry/pull/103886)
- fix(ui2): align OperationDot by @TkDodo in [#103819](https://github.com/getsentry/sentry/pull/103819)
- fix(explorer): accept trace id for flamegraph tool by @roaga in [#103818](https://github.com/getsentry/sentry/pull/103818)
- fix(eap): Update attribute key name provided in `DeleteTraceItemsRequest` RPCs by @shashjar in [#103867](https://github.com/getsentry/sentry/pull/103867)
- fix(eventstream): Fix trace item inserts to EAP via Snuba HTTP backend by @shashjar in [#103857](https://github.com/getsentry/sentry/pull/103857)
- fix(aci): prevent deletion of system-created monitors in UI by @ameliahsu in [#103838](https://github.com/getsentry/sentry/pull/103838)
- fix(aci): json.dump sentry app settings value fields by @cathteng in [#103845](https://github.com/getsentry/sentry/pull/103845)
- fix(eap): Update the filter provided when issuing `DeleteTraceItemsRequest` RPCs by @shashjar in [#103848](https://github.com/getsentry/sentry/pull/103848)
- fix(migrations): Fail migrations that delete models if no historical_silo_assignment is found by @wedamija in [#103702](https://github.com/getsentry/sentry/pull/103702)
- fix(ui): Remove span wrapping avatar near commit author by @evanpurkhiser in [#103824](https://github.com/getsentry/sentry/pull/103824)
- fix(aci): Retry failed Seer anomaly data fetches by @kcons in [#103788](https://github.com/getsentry/sentry/pull/103788)
- fix(deletion): Fix MonitorCheckIn deletion failures by @yuvmen in [#103786](https://github.com/getsentry/sentry/pull/103786)
- fix(aci): Hide failure rate and hide string options for p50 by @scttcper in [#103697](https://github.com/getsentry/sentry/pull/103697)
- fix(eap): Pass `trace_item_type` in `RequestMeta` for `DeleteTraceItemsRequest` RPC by @shashjar in [#103784](https://github.com/getsentry/sentry/pull/103784)
- fix(preprod): update frontend to new missing_dsym_binaries field by @trevor-e in [#103735](https://github.com/getsentry/sentry/pull/103735)
- fix(eap): Provide correct endpoint name when deleting trace items from EAP by @shashjar in [#103749](https://github.com/getsentry/sentry/pull/103749)
- fix(aci): remove email targetDisplay from UI POST request by @ameliahsu in [#103679](https://github.com/getsentry/sentry/pull/103679)
- fix(integrations): update usage of is_enabled data forwarding by @liuirene256 in [#103584](https://github.com/getsentry/sentry/pull/103584)
- fix(slack): Truncate blocks to be less than 50 for digest notifications by @Christinarlong in [#103498](https://github.com/getsentry/sentry/pull/103498)
- fix(tracemetrics): Add 'new query' for save-as behaviour by @k-fish in [#103734](https://github.com/getsentry/sentry/pull/103734)
- fix(explorer): new copy for metric attrs tool by @roaga in [#103728](https://github.com/getsentry/sentry/pull/103728)
- fix(replay): Adjust placeholder height in user badge component by @jerryzhou196 in [#103726](https://github.com/getsentry/sentry/pull/103726)
- fix(replay): Fix infinite re-render in breadcrumbs by @billyvg in [#103373](https://github.com/getsentry/sentry/pull/103373)
- fix(explore): fix issue with not being able to save explore queries with a start and end time stamp selected by @edwardgou-sentry in [#103725](https://github.com/getsentry/sentry/pull/103725)
- fix(explorer): better profile thread selection logic by @roaga in [#103656](https://github.com/getsentry/sentry/pull/103656)
- fix(explorer): stricter short ID regex by @roaga in [#103721](https://github.com/getsentry/sentry/pull/103721)
- fix(tracemetrics): Validate aggregate sort bys for metrics by @Zylphrex in [#103555](https://github.com/getsentry/sentry/pull/103555)
- fix(preprod): Deduplicate sibling artifacts by app_id to prevent duplicate rows in status checks (EME-610) by @runningcode in [#103528](https://github.com/getsentry/sentry/pull/103528)
- fix(encryption): Improve log message when we load 0 keys by @vgrozdanic in [#103715](https://github.com/getsentry/sentry/pull/103715)
- fix(eu_data_export): fixes sts transfer job schedule by @viglia in [#103712](https://github.com/getsentry/sentry/pull/103712)
- fix(aci): filter out non-alertable and broken sentry apps in available actions endpoint by @ameliahsu in [#101866](https://github.com/getsentry/sentry/pull/101866)
- fix(timeseries): Handle orderbys not in groupby by @wmak in [#103547](https://github.com/getsentry/sentry/pull/103547)
- fix(checkout): Use correct unit for attachments by @isabellaenriquez in [#103647](https://github.com/getsentry/sentry/pull/103647)
- fix(aci): Filter connected monitors drawer by project by @malwilley in [#103572](https://github.com/getsentry/sentry/pull/103572)
- fix(aci): close IGOP relationships in more cases and heal broken relationships by @mifu67 in [#103407](https://github.com/getsentry/sentry/pull/103407)
- fix(ourlogs): Add error event to log list by @k-fish in [#103649](https://github.com/getsentry/sentry/pull/103649)
- fix(dashboards): Fix incorrect URL construction for "Open in Explore" for Logs widgets by @gggritso in [#103642](https://github.com/getsentry/sentry/pull/103642)
- fix(issues): Remove sentry logging on invalid url by @scttcper in [#103574](https://github.com/getsentry/sentry/pull/103574)
- fix(feedback): remove feature badge for AI summaries & categories by @srest2021 in [#103571](https://github.com/getsentry/sentry/pull/103571)
- fix(detectors): Navigate to detector type list page after deletion by @evanpurkhiser in [#103562](https://github.com/getsentry/sentry/pull/103562)
- fix(aci): Apply chart zoom on automation history by @scttcper in [#103392](https://github.com/getsentry/sentry/pull/103392)
- fix(aci): Autosize description, remove padding by @scttcper in [#103546](https://github.com/getsentry/sentry/pull/103546)
- fix(issues): Attribute error in issue details thrown on None tag values by @yuvmen in [#103500](https://github.com/getsentry/sentry/pull/103500)
- fix(replay): fix buttons from being cutoff by @jerryzhou196 in [#103522](https://github.com/getsentry/sentry/pull/103522)
- fix(deletions): Fix Monitor deletion timeouts by @yuvmen in [#103495](https://github.com/getsentry/sentry/pull/103495)
- fix(checkout): Insights on Team by @isabellaenriquez in [#103514](https://github.com/getsentry/sentry/pull/103514)
- fix(replay): move hover to be over buttons by @jerryzhou196 in [#103524](https://github.com/getsentry/sentry/pull/103524)
- fix(aci): update hits count for workflow fire history by @ameliahsu in [#103400](https://github.com/getsentry/sentry/pull/103400)
- fix(crons): Add trailing slash to monitor environment detail endpoints by @evanpurkhiser in [#103480](https://github.com/getsentry/sentry/pull/103480)
- fix(replay): validate replay start/end for summaries by @michellewzhang in [#103388](https://github.com/getsentry/sentry/pull/103388)
- fix(issues): use correct tz for absolute date picker by @cvxluo in [#103423](https://github.com/getsentry/sentry/pull/103423)
- fix(timeseries): Remove unwanted `groupBy` parameter by @gggritso in [#103482](https://github.com/getsentry/sentry/pull/103482)
- fix(tracemetrics): Don't show metrics on error by @k-fish in [#103516](https://github.com/getsentry/sentry/pull/103516)
- fix(seer): Increase lock duration for issue summary generation by @seer-by-sentry in [#103477](https://github.com/getsentry/sentry/pull/103477)
- fix(grouping): Ensure custom titles use the correct frame by @lobsterkatie in [#103425](https://github.com/getsentry/sentry/pull/103425)
- fix(loader): respect `prefers-reduced-motion` by @natemoo-re in [#103461](https://github.com/getsentry/sentry/pull/103461)
- fix(integrations): data forwarding bug fixes by @liuirene256 in [#103393](https://github.com/getsentry/sentry/pull/103393)
- fix(ui): Do not add extranious height to AI insights onboarding by @evanpurkhiser in [#103451](https://github.com/getsentry/sentry/pull/103451)
- fix(dashboards): set widget to loading before adding to queue by @DominikB2014 in [#103449](https://github.com/getsentry/sentry/pull/103449)
- fix(explorer): set thread id in profile navigation by @roaga in [#103427](https://github.com/getsentry/sentry/pull/103427)
- fix(explorer): fix profile thread selection by @roaga in [#103426](https://github.com/getsentry/sentry/pull/103426)
- fix(dashboards): queue doesn't apply to all datasets by @DominikB2014 in [#103444](https://github.com/getsentry/sentry/pull/103444)
- fix(search): Fix handle backslashes in wildcard operators by @Zylphrex in [#103379](https://github.com/getsentry/sentry/pull/103379)
- fix(explorer): only return active projects by @roaga in [#103434](https://github.com/getsentry/sentry/pull/103434)
- fix(spans): Shim more fields for issue detectors by @jjbayer in [#103353](https://github.com/getsentry/sentry/pull/103353)

### Build / dependencies / internal 🔧

- ref(eap): Remove AnyResolved type by @Zylphrex in [#104130](https://github.com/getsentry/sentry/pull/104130)
- chore(explore): Remove used explore flag backend by @Zylphrex in [#104021](https://github.com/getsentry/sentry/pull/104021)
- chore(explore): Add in cross event query param by @nsdeschenes in [#103666](https://github.com/getsentry/sentry/pull/103666)
- ref(explorer): add copy and nav for errors search by @aliu39 in [#104078](https://github.com/getsentry/sentry/pull/104078)
- ref(explorer): update log tool copy by @aliu39 in [#104065](https://github.com/getsentry/sentry/pull/104065)
- chore(aci): bump offset for fake IDs by @mifu67 in [#104051](https://github.com/getsentry/sentry/pull/104051)
- chore: Remove vercel logs feature flag from backend by @AbhiPrasad in [#103975](https://github.com/getsentry/sentry/pull/103975)
- ref(issues): move top issues tab to top by @cvxluo in [#104056](https://github.com/getsentry/sentry/pull/104056)
- chore(tests): skip flaky test by @mifu67 in [#104057](https://github.com/getsentry/sentry/pull/104057)
- chore(logs): Remove ourlogs-high-fidelity feature flag frontend by @Zylphrex in [#104016](https://github.com/getsentry/sentry/pull/104016)
- chore(dashboards): Address global filter UI feedback by @Ahmed-Labs in [#103902](https://github.com/getsentry/sentry/pull/103902)
- chore(explore): Remove visibility-explore-aggregate-editor flag frontend by @Zylphrex in [#104020](https://github.com/getsentry/sentry/pull/104020)
- chore(logs): Remove ourlogs-high-fidelity feature flag backend by @Zylphrex in [#104017](https://github.com/getsentry/sentry/pull/104017)
- ref(issues): delete top issue breadcrumbs by @cvxluo in [#104028](https://github.com/getsentry/sentry/pull/104028)
- chore(feedback): Prefer <FeedbackButton> over useFeedbackForm() by @ryan953 in [#103916](https://github.com/getsentry/sentry/pull/103916)
- chore(seer): Setup new, blank, page for Seer settings to live by @ryan953 in [#103990](https://github.com/getsentry/sentry/pull/103990)
- ref(explorer): rm old issue rpc by @aliu39 in [#103935](https://github.com/getsentry/sentry/pull/103935)
- ref(ui): Use type-fest type for flatten by @scttcper in [#103998](https://github.com/getsentry/sentry/pull/103998)
- chore(preprod): make build details and build compare breadcrumb consistent (EME-657, EME-659) by @mtopo27 in [#103994](https://github.com/getsentry/sentry/pull/103994)
- chore(traces): Register flag for cross event querying by @nsdeschenes in [#103987](https://github.com/getsentry/sentry/pull/103987)
- ref(events): Singularize pluralized params in the events endpoint by @wmak in [#103923](https://github.com/getsentry/sentry/pull/103923)
- chore(deletions): Change schedule & date ranges by @armenzg in [#103897](https://github.com/getsentry/sentry/pull/103897)
- chore(releases): fix releases tooltip width by @mtopo27 in [#103955](https://github.com/getsentry/sentry/pull/103955)
- chore(explore): Hard code sdk name and version as span string attrs by @Zylphrex in [#103980](https://github.com/getsentry/sentry/pull/103980)
- ref: switch to type-fest for utility types by @TkDodo in [#103961](https://github.com/getsentry/sentry/pull/103961)
- chore(preprod): binary export insight by @mtopo27 in [#102459](https://github.com/getsentry/sentry/pull/102459)
- ref(redis): Do not use redis-blaster for snowflake IDs generation by @beezz in [#103967](https://github.com/getsentry/sentry/pull/103967)
- chore(preprod): fix typo in install modal by @mtopo27 in [#103968](https://github.com/getsentry/sentry/pull/103968)
- ref(issues): clean up top issues styles by @cvxluo in [#103944](https://github.com/getsentry/sentry/pull/103944)
- chore(aci): log missing WorkflowActionGroupStatus after bulk create by @cathteng in [#103928](https://github.com/getsentry/sentry/pull/103928)
- chore(aci): allow feedback issues through workflow engine by @cathteng in [#100153](https://github.com/getsentry/sentry/pull/100153)
- ref(issues): use top issues endpoint by @cvxluo in [#103899](https://github.com/getsentry/sentry/pull/103899)
- ref(tracemetrics): Add test for metrics tab by @k-fish in [#103901](https://github.com/getsentry/sentry/pull/103901)
- chore(replay): Cleanup zendesk feedback target in replay details by @ryan953 in [#103908](https://github.com/getsentry/sentry/pull/103908)
- chore(preprod): amplitude events for emerge pages (EME-638) by @mtopo27 in [#103801](https://github.com/getsentry/sentry/pull/103801)
- chore(releases): add give feedback to release details page by @mtopo27 in [#103866](https://github.com/getsentry/sentry/pull/103866)
- chore(aci): fetch issue stream detector in process_workflows by @cathteng in [#103709](https://github.com/getsentry/sentry/pull/103709)
- chore(traces): Swap from `useFeedbackWidget` to `useFeedbackForm()` in trace viewer by @ryan953 in [#103903](https://github.com/getsentry/sentry/pull/103903)
- chore(aci): remove lastChecked from open period serializer by @mifu67 in [#103868](https://github.com/getsentry/sentry/pull/103868)
- chore(billing): Add data-test-id for acceptance tests by @isabellaenriquez in [#103898](https://github.com/getsentry/sentry/pull/103898)
- chore: Refactor FeedbackButton to accept all the feedback options by @ryan953 in [#103794](https://github.com/getsentry/sentry/pull/103794)
- ref: set checkJs globally to true by @TkDodo in [#103890](https://github.com/getsentry/sentry/pull/103890)
- ref(aci): remove detector usage in WorkflowFireHistory and action firing by @cathteng in [#103082](https://github.com/getsentry/sentry/pull/103082)
- ref(taskbroker): Clarify docstring & class name by @armenzg in [#103893](https://github.com/getsentry/sentry/pull/103893)
- ref(explorer): rpc to support issue/event detail queries with event id only by @aliu39 in [#103787](https://github.com/getsentry/sentry/pull/103787)
- ref: bump Granian to 2.6, enable pname extra by @gi0baro in [#103817](https://github.com/getsentry/sentry/pull/103817)
- ref(deletions): Use the same logic to schedule tasks by @armenzg in [#103836](https://github.com/getsentry/sentry/pull/103836)
- ci: Enable Objectstore by @lcian in [#103483](https://github.com/getsentry/sentry/pull/103483)
- chore(eco): allow deleting disabled org integrations by @cathteng in [#103785](https://github.com/getsentry/sentry/pull/103785)
- chore(releases): remove floating feedback widget in favor of header feedback (ENG-5961) by @mtopo27 in [#103862](https://github.com/getsentry/sentry/pull/103862)
- ref(billing): Convert CreditType to dynamic type union by @dashed in [#103815](https://github.com/getsentry/sentry/pull/103815)
- ref(ui): Refactor EmptyMessage to use core components and simplify API by @evanpurkhiser in [#103798](https://github.com/getsentry/sentry/pull/103798)
- chore(ACI): Pop actions off of conditions by @ceorourke in [#103755](https://github.com/getsentry/sentry/pull/103755)
- ref(releases): Migrate release actions off deprecated route props by @scttcper in [#103705](https://github.com/getsentry/sentry/pull/103705)
- ref(detectors): Hide environment selector for cron monitors by @evanpurkhiser in [#103841](https://github.com/getsentry/sentry/pull/103841)
- chore(replay): Remove an extra wrapper in the Replay List page header by @ryan953 in [#103847](https://github.com/getsentry/sentry/pull/103847)
- ref(aci): decouple detector from workflowfirehistory in API by @cathteng in [#102918](https://github.com/getsentry/sentry/pull/102918)
- ref(explorer): support start/end for table and timeseries rpcs by @aliu39 in [#103779](https://github.com/getsentry/sentry/pull/103779)
- ref(explore): Increase trace explorer visualization limit from 4 to 8 by @JoshFerge in [#103769](https://github.com/getsentry/sentry/pull/103769)
- ref(seer): Update add-on enum by @isabellaenriquez in [#103695](https://github.com/getsentry/sentry/pull/103695)
- ref(explorer): add copy for log details tool by @aliu39 in [#103765](https://github.com/getsentry/sentry/pull/103765)
- ref(billing): Convert InvoiceItemType to dynamic type union by @dashed in [#103664](https://github.com/getsentry/sentry/pull/103664)
- ref(seer): Introduce legacy add-on by @isabellaenriquez in [#103724](https://github.com/getsentry/sentry/pull/103724)
- ref(compactSelect): improve clearing values by @TkDodo in [#103720](https://github.com/getsentry/sentry/pull/103720)
- ref: short circuit post_upgrade hook for migrations-drift by @joshuarli in [#103337](https://github.com/getsentry/sentry/pull/103337)
- ref(eap): Create a constant for the EAP insert items endpoint path by @shashjar in [#103780](https://github.com/getsentry/sentry/pull/103780)
- ref(billing): Remove QUOTA_PREVENT_USERS notification by @brendanhsentry in [#103587](https://github.com/getsentry/sentry/pull/103587)
- chore(replay): add new feature flag for new UI by @jerryzhou196 in [#103762](https://github.com/getsentry/sentry/pull/103762)
- ref: bump sentry-relay to 0.9.22 by @srest2021 in [#103736](https://github.com/getsentry/sentry/pull/103736)
- ref(feedback): move feedback empty state to /feedback by @michellewzhang in [#103763](https://github.com/getsentry/sentry/pull/103763)
- ref(preprod): convert missing_dsym_binaries to bool by @trevor-e in [#103733](https://github.com/getsentry/sentry/pull/103733)
- ref(crons): Simplify is_muted logic using all() instead of double negative by @evanpurkhiser in [#103732](https://github.com/getsentry/sentry/pull/103732)
- chore(integrations): make project_ids not required by @liuirene256 in [#103747](https://github.com/getsentry/sentry/pull/103747)
- chore(insights): Remove beta badge from Web Vitals seer suggestions by @edwardgou-sentry in [#103722](https://github.com/getsentry/sentry/pull/103722)
- chore(issues): Remove old reference to performance category when building alert message by @malwilley in [#103580](https://github.com/getsentry/sentry/pull/103580)
- chore(migrations): Fix up failed deletes by @wedamija in [#103703](https://github.com/getsentry/sentry/pull/103703)
- ref(admin): Migrate ChangeDatesModal away from deprecated form by @scttcper in [#103499](https://github.com/getsentry/sentry/pull/103499)
- ref(crons): Fix N+1 query in MonitorSerializer by removing is_muted property by @evanpurkhiser in [#103693](https://github.com/getsentry/sentry/pull/103693)
- ref(crons): Delete Monitor.is_muted database column (stage 4) by @evanpurkhiser in [#103677](https://github.com/getsentry/sentry/pull/103677)
- ref(aci): remove passing in detector to action.trigger attempt 2 by @cathteng in [#103099](https://github.com/getsentry/sentry/pull/103099)
- chore(aci): create DetectorGroup with null detector if we can't find event by @cathteng in [#103700](https://github.com/getsentry/sentry/pull/103700)
- ref: compositeSelect gets a required trigger by @TkDodo in [#103713](https://github.com/getsentry/sentry/pull/103713)
- ref(checkout): Update route by @isabellaenriquez in [#103665](https://github.com/getsentry/sentry/pull/103665)
- ref(eu_data_export): return list of jobs by @viglia in [#103717](https://github.com/getsentry/sentry/pull/103717)
- chore(preprod): Use nonblocked project_id tag for other e2e metric by @NicoHinderling in [#103710](https://github.com/getsentry/sentry/pull/103710)
- chore(deletions): Drop `sentry_incidentseen` and `sentry_incidentsubscription` leftover tables by @yuvmen in [#103559](https://github.com/getsentry/sentry/pull/103559)
- ref(crons): Invalidate monitor query after environment muting by @evanpurkhiser in [#103692](https://github.com/getsentry/sentry/pull/103692)
- ref(crons): Allow unmuting monitor envs when monitor "muted" by @evanpurkhiser in [#103689](https://github.com/getsentry/sentry/pull/103689)
- ref(crons): Disable mute button when monitor has no environments (stage 5) by @evanpurkhiser in [#103568](https://github.com/getsentry/sentry/pull/103568)
- chore(aci): Actually delete WorkflowFireHistory.is_single_written by @kcons in [#103683](https://github.com/getsentry/sentry/pull/103683)
- ref(stats): Remove estimation logic for continuous profiling by @brendanhsentry in [#103658](https://github.com/getsentry/sentry/pull/103658)
- ref(admin): Migrate change contract away from deprecated form by @scttcper in [#103503](https://github.com/getsentry/sentry/pull/103503)
- ref(admin): Migrate end immediate action from deprecated forms by @scttcper in [#103501](https://github.com/getsentry/sentry/pull/103501)
- chore(eco): default comment bots to off by @cathteng in [#103525](https://github.com/getsentry/sentry/pull/103525)
- chore(insights): Removes free seer runs on Web Vitals issues by @edwardgou-sentry in [#103675](https://github.com/getsentry/sentry/pull/103675)
- ref(dashboards): Remove spread from tags reduce by @scttcper in [#103670](https://github.com/getsentry/sentry/pull/103670)
- ref(crons): Remove Monitor.is_muted field, make it computed (stage 3) by @evanpurkhiser in [#103567](https://github.com/getsentry/sentry/pull/103567)
- chore(aci): update product links for LA by @ameliahsu in [#103671](https://github.com/getsentry/sentry/pull/103671)
- chore(checkout): Add path pattern by @isabellaenriquez in [#103668](https://github.com/getsentry/sentry/pull/103668)
- chore(aci): Remove WorkflowFireHistory.is_single_written by @kcons in [#103502](https://github.com/getsentry/sentry/pull/103502)
- ref(scraps): make value and onChange required on compactSelect by @TkDodo in [#103654](https://github.com/getsentry/sentry/pull/103654)
- ref: type reduce by @TkDodo in [#103631](https://github.com/getsentry/sentry/pull/103631)
- ref(workflow_engine): Further reduce debug log size by @saponifi3d in [#103505](https://github.com/getsentry/sentry/pull/103505)
- chore(issues): Remove reference to performance category in group has_replay by @malwilley in [#103585](https://github.com/getsentry/sentry/pull/103585)
- chore: Tag extrapolation mode by @shruthilayaj in [#103540](https://github.com/getsentry/sentry/pull/103540)
- ref: do not allow uncontrolled compactSelect by @TkDodo in [#103637](https://github.com/getsentry/sentry/pull/103637)
- chore(explorer): add more debug logs for profiling by @roaga in [#103640](https://github.com/getsentry/sentry/pull/103640)
- chore(ACI): Clean up metric issue by @ceorourke in [#103569](https://github.com/getsentry/sentry/pull/103569)
- chore(Replay): Update EAP Flag Condition by @cliffordxing in [#103556](https://github.com/getsentry/sentry/pull/103556)
- ref(reprocessing): Update documentation for reprocessing flow by @shashjar in [#102961](https://github.com/getsentry/sentry/pull/102961)
- ref(ui): Use Stack over custom FormStack by @evanpurkhiser in [#103558](https://github.com/getsentry/sentry/pull/103558)
- ref(crons): Add migration to backfill MonitorEnvironment.is_muted by @evanpurkhiser in [#103324](https://github.com/getsentry/sentry/pull/103324)
- chore: Update API owners for Data Browsing by @gggritso in [#103542](https://github.com/getsentry/sentry/pull/103542)
- ref(crons): Show processing errors on cron detectors list by @evanpurkhiser in [#103527](https://github.com/getsentry/sentry/pull/103527)
- ref(insights): Refactor Seer Analysis sidebar component in the Web Vitals page overview by @edwardgou-sentry in [#103459](https://github.com/getsentry/sentry/pull/103459)
- ref: bump sentry-relay to 0.9.21 by @brendanhsentry in [#103474](https://github.com/getsentry/sentry/pull/103474)
- ref(performance): Improve web vitals issue check using occurrence type instead by @edwardgou-sentry in [#103471](https://github.com/getsentry/sentry/pull/103471)
- chore(codeowners): adds data-browsing as owner by @alexjillard in [#102998](https://github.com/getsentry/sentry/pull/102998)
- ref(replay): filter out events before replay start for log messages by @michellewzhang in [#102931](https://github.com/getsentry/sentry/pull/102931)
- chore(aci): backfill detectorgroup for metric issues by @cathteng in [#103399](https://github.com/getsentry/sentry/pull/103399)
- ref: cleanup intent-preloading feature flag by @TkDodo in [#103517](https://github.com/getsentry/sentry/pull/103517)
- ref: bump objectstore-client to 0.0.11 by @getsentry-bot in [#103510](https://github.com/getsentry/sentry/pull/103510)
- chore: disable flakey test by @JoshFerge in [#103497](https://github.com/getsentry/sentry/pull/103497)
- ref(explorer): clean up old trace rpcs and auto-select sort field by @aliu39 in [#103491](https://github.com/getsentry/sentry/pull/103491)
- ref(explorer): useSessionStorage to persist current run id by @aliu39 in [#103467](https://github.com/getsentry/sentry/pull/103467)
- chore(explorer): add logs to profile tool by @roaga in [#103479](https://github.com/getsentry/sentry/pull/103479)
- ref(conduit): Adjust permissions for conduit demo by @IanWoodard in [#103475](https://github.com/getsentry/sentry/pull/103475)
- chore(preprod): abstract metric cards for build comparison by @mtopo27 in [#103469](https://github.com/getsentry/sentry/pull/103469)
- ref(autofix): Reuse existing prism language map by @scttcper in [#103476](https://github.com/getsentry/sentry/pull/103476)
- chore(preprod): fix casing by @mtopo27 in [#103472](https://github.com/getsentry/sentry/pull/103472)
- ref(issues): Clarify markdown copy button label and show line count by @evanpurkhiser in [#103448](https://github.com/getsentry/sentry/pull/103448)
- ref(workflow_engine): Make logs not insanely expensive by @saponifi3d in [#103464](https://github.com/getsentry/sentry/pull/103464)
- ref(seer): Rename billing flag by @isabellaenriquez in [#103447](https://github.com/getsentry/sentry/pull/103447)
- ref(checkout): Cleanup file structure by @isabellaenriquez in [#103378](https://github.com/getsentry/sentry/pull/103378)
- ref(objectstore): Upgrade client to 0.0.10 by @lcian in [#103365](https://github.com/getsentry/sentry/pull/103365)
- ref(profiling): remove flamegraph chunked query strategy feature flag by @viglia in [#103284](https://github.com/getsentry/sentry/pull/103284)

### Documentation 📚

- docs: Add update-migration script to AGENTS.md by @kcons in [#103770](https://github.com/getsentry/sentry/pull/103770)

### Other

- typing: Remove organization_events_meta from soft list by @armenzg in [#104102](https://github.com/getsentry/sentry/pull/104102)
- feat(explore-attr-breakdowns): Removing hovering CTA by @Abdkhan14 in [#104144](https://github.com/getsentry/sentry/pull/104144)
- Revert setting extrapolation mode to sample weighted by @shruthilayaj in [#104136](https://github.com/getsentry/sentry/pull/104136)
- ref(redis) Don't use redis-blaster for snowflake ids v3 by @markstory in [#104114](https://github.com/getsentry/sentry/pull/104114)
- fix(mcp-onboarding): Support fullstack JS platforms by @ArthurKnaus in [#104153](https://github.com/getsentry/sentry/pull/104153)
- add copy as markdown to user feedback by @mtopo27 in [#103954](https://github.com/getsentry/sentry/pull/103954)
- ref(✂️): update knip and address new findings by @TkDodo in [#104151](https://github.com/getsentry/sentry/pull/104151)
- flags(size): Add new flag to gate size issue reporting by @chromy in [#104122](https://github.com/getsentry/sentry/pull/104122)
- ref(dynamic-sampling): simplify bias combination logic by @shellmayr in [#104119](https://github.com/getsentry/sentry/pull/104119)
- deps(js): Upgrade sentry js sdk deps to `10.27.0` by @AbhiPrasad in [#104110](https://github.com/getsentry/sentry/pull/104110)
- fix(date-page-filter): Fallback to max pickable days when absolute ra… by @Zylphrex in [#104111](https://github.com/getsentry/sentry/pull/104111)
- feat(cells) Add date_updated to organizationmapping v2 by @markstory in [#103915](https://github.com/getsentry/sentry/pull/103915)
- Icon SlashForward Replacing Chevron in Breadcrumbs by @Jesse-Box in [#104120](https://github.com/getsentry/sentry/pull/104120)
- typing(tests): Minor changes by @armenzg in [#104105](https://github.com/getsentry/sentry/pull/104105)
- feat(explore-attr-breakdowns): Adding error and empty search state UI by @Abdkhan14 in [#104012](https://github.com/getsentry/sentry/pull/104012)
-  feature(explore-attr-breakdowns): Removing yAxis heuristic from selection hint by @Abdkhan14 in [#104087](https://github.com/getsentry/sentry/pull/104087)
- fix(uptime) Add a missing task import for uptime by @markstory in [#104104](https://github.com/getsentry/sentry/pull/104104)
- chore(search-query-builder): Add metric for invalids and warnings by @Zylphrex in [#104076](https://github.com/getsentry/sentry/pull/104076)
- chore(hybridcloud) Align keys used for organization snowflakeids by @markstory in [#104075](https://github.com/getsentry/sentry/pull/104075)
- feat(cells) Add silo annotations to email, debug, and plugin views by @markstory in [#104034](https://github.com/getsentry/sentry/pull/104034)
- ref(llm-detection): Send enhanced span data to support improved Seer analysis by @nora-shap in [#103871](https://github.com/getsentry/sentry/pull/103871)
- chore(llm-detector): Add GenAI Consent Check  by @roggenkemper in [#104060](https://github.com/getsentry/sentry/pull/104060)
- feat(cursor-agent): include email and key name by @jennmueng in [#103989](https://github.com/getsentry/sentry/pull/103989)
- fix(cursor-agent): ui handling of when you have more than 1 integration by @jennmueng in [#104007](https://github.com/getsentry/sentry/pull/104007)

_Plus 134 more_

25.11.0
-------

### Various fixes & improvements

- feat(explorer): custom copy and navigation for get_profile_flamegraph tool (#103314) by @roaga
- feat(explorer): add rpc for profile flamegraph tool (#103293) by @roaga
- feat(explorer): support generic table and timeseries rpcs and migrate existing tools to them (#103413) by @aliu39
- fix(aci): Make associate_new_group_with_detector more robust (#103418) by @kcons
- feat(aci): redirect alerts nav to monitors (#103325) by @ameliahsu
- fix(aci): Display correct resolution threshold (#103409) by @scttcper
- Wire up frontend for new multiple architectures insight (#103415) by @rbro112
- chore(performance): remove trace-view-load-more (#103011) by @cvxluo
- fix(preprod): update dyld label (#103408) by @trevor-e
- fix(ui2): dropdown button overlap (#103404) by @natemoo-re
- fix(typing): add some types to tagstore (#103405) by @thetruecpaul
- chore(events): Clean up preprocess option (3/3) (#103194) by @thetruecpaul
- chore(aci): set DetectorGroup detector to null when it's deleted (#103348) by @cathteng
- fix(replay): Add fallback ordering to replay index page (#103328) by @srest2021
- feat(ai): Check gen-ai feature flag before org-level flags in Prevent AI (#103386) by @JoshFerge
- fix(insights): Fix issues table link (#103401) by @scttcper
- chore(preprod): Use nonblocked project_id tag for e2e metric (#103390) by @NicoHinderling
- chore(tracemetrics): Remove unneeded trace metric from queries (#103391) by @Zylphrex
- feat(performance): Updates Web Vitals issue detection to consolidate lcp, fcp, and ttfb into a single issue (#103272) by @edwardgou-sentry
- fix(aci): Fix QuerySubscription deletion (#103398) by @kcons
- feat(ACI): Send updated data to Seer on all snuba query changes (#103332) by @ceorourke
- perf(dashboards): Fix slow re-render of ECharts objects (#103375) by @gggritso
- fix(ui2): check `organization is not None` (#103372) by @natemoo-re
- test(tracemetrics): Re-enable skipped trace metrics tests (#103396) by @Zylphrex

_Plus 1563 more_

25.10.0
-------

### Various fixes & improvements

- fix(sub v3): Rework usage and reserved columns (#101514) by @isabellaenriquez
- feat(ai_grouping): Send token length metrics on stacktraces sent to Seer (#101477) by @yuvmen
- fix(aci): conditionally show trigger logic type selector on automation edit (#100711) by @ameliahsu
- feat(aci): Hide transactions dataset option (#101497) by @scttcper
- perf(replays): Optimize memory usage and deserialization performance (#101195) by @cmanallen
- fix(aci): Return empty list from open periods endpoint when detector has no linked group  (#101046) by @malwilley
- fix(spans-migration): changed type and wording of dropped fields warnings (#101479) by @nikkikapadia
- fix(tracemetrics): Switch experimental backend to kwarg rate (#101520) by @k-fish
- fix(alert): Delete IncidentTrigger as child of AlertRuleTrigger (#101460) by @kcons
- fix(replay) - fix use fetch parallel pages (#101462) by @jerryzhou196
- feat(tracemetrics): Add extrapolation warning iff we scan partial data (#101517) by @narsaynorath
- fix(inc-1453): Do not crash hard if end_timestamp violates the schema (#101512) by @untitaker
- chore(timeseries): Mark `TimeSeries` meta property as optional (#101463) by @gggritso
- fix(ai-insights): llm calls count (#101509) by @obostjancic
- feat(tracemetrics): Update UX to separate query builder from charts (#101465) by @narsaynorath
- fix(spans-migration): changed reason format (#101466) by @nikkikapadia
- chore(sub v3): prep for EA (#101437) by @isabellaenriquez
- fix(ui): Make build details more like release details (#101348) by @chromy
- fix(sub v3): Misc feedback + bugs (#101474) by @isabellaenriquez
- fix(sub v3): Make row clickability more obvious (#101467) by @isabellaenriquez
- feat(agent-spans): Display used tools (#101506) by @ArthurKnaus
- feat(sdk): Enable HTTP request source (#101502) by @alexander-alderman-webb
- feat(auto_source): Use consistent stack trace granularity (#101432) by @armenzg
- chore(search-bar): Default to contains for filtering strings (#101450) by @nsdeschenes

_Plus 1679 more_

25.9.0
------

### Various fixes & improvements

- ref(feedback): simplify categories test coverage to be more efficient (#99451) by @aliu39
- fix(checkout v3): Keep customers on current tiers (#99423) by @isabellaenriquez
- fix(billing): Use ff for prevent notification (#99489) by @brendanhsentry
- feat(aci): Allow specific detector types to be passed to fetching hooks (#99486) by @malwilley
- perf(aci): Avoid unnecessary organization db load (#99487) by @kcons
- chore(detectors): Reset noise config limit for query injection issues  (#99427) by @roggenkemper
- feat(on-demand): Add feature flag check before cardinality check (#98726) by @narsaynorath
- chore(issue-details): Add `num_exceptions` to issue details viewed analytics event (#99436) by @roggenkemper
- perf(aci): Cache Group lookup for process_workflows/trigger_action (#99449) by @kcons
- ref(search): Remove spaces from wildcard operators (#99399) by @nsdeschenes
- feat: add explore equation to dashboards (#99404) by @shruthilayaj
- ref(billing): remove cross-project selection upsells (#99444) by @cvxluo
- feat(flamegraph): Cycle through flamegraph search results with enter (#99424) by @Zylphrex
- ref: use pickle protocol 5 (#99119) by @asottile-sentry
- ref: upgrade django-stubs and move cache hax to plugin (#99482) by @asottile-sentry
- fix(js): Directly access process.env.NODE_ENV (#99481) by @evanpurkhiser
- feat(tasks) Enable taskworkers by default in self-hosted (#99374) by @markstory
- feat(analytics): log an error when an Event class was instantiated that lacks the eventclass decorator (#98922) by @constantinius
- feat: Add taskbroker mode that doesn't start workers (#99474) by @markstory
- ci(jest): regenerate jest-balance.json (#99453) by @getsentry-bot
- feat(dashboards): Remove PlanFeature feature flag workaround (#99372) by @narsaynorath
- feat(performance): Add beta badge to web vitals seer suggestions (#99476) by @edwardgou-sentry
- chore(feedback) remove `Feedback` model (#99380) by @jerryzhou196
- ref: upgrade pydantic (#99473) by @asottile-sentry

_Plus 1112 more_

25.8.0
------

### Various fixes & improvements

- fix(ci): Push docker image on release branches (#97936) by @hubertdeng123
- fix(explore): Insert group bys before visualizes if possible (#97923) by @Zylphrex
- feat(logs): Support multiple visualizes and groupbys in logs (#97912) by @Zylphrex
- ref(dashboards): make `WidgetCardChart` functional (#97885) by @lzhao-sentry
- feat(summarization): Route s4s traffic to new pod (#97926) by @Mihir-Mavalankar
- aci(feat): Use propagated timestamp to track triggering latency (#97612) by @kcons
- feat(detectors): Update detection algorithm for MN+1 Experimental Detector (#97533) by @roggenkemper
- fix(aci): Make rule/workflow redis buffer interactions non-transactional (#97917) by @kcons
- ref: remove coreapi, use ParseError in sentry_app logic (#97913) by @JoshFerge
- chore(cell-actions): use popper strategy fixed instead of portalling (#97593) by @lzhao-sentry
- ref(replay): Refactor how we refresh bulk delete notifications (#97893) by @ryan953
- feat(replay): Add a dropdown to make it easier to select replays inside stories (#97713) by @ryan953
- feat(otlp): Collapse Trace Waterfall spans based on span name (#97706) by @gggritso
- feat(otlp): Use `name` attribute in more spaces in the span waterfall (#97704) by @gggritso
- ref: move codeowners endpoints into issues module (#97916) by @JoshFerge
- ref(groupingInfo): Hide client fingerprint in Contributing Values view if it doesn't contribute (#97904) by @shayna-ch
- ref(groupingInfo): add highlight to contributing values when All Values is set (#97812) by @shayna-ch
- ref(issues): improve similar issues stacktrace diff (#97645) by @shayna-ch
- chore: add good example of `SENTRY_DISALLOWED_IPS` (#97847) by @oioki
- feat(trace-eap-waterfall): Exclude missing instrumentation nodes from FE traces (#97879) by @Abdkhan14
- ref(cell-actions): better interactions for ID and clearer menu indication (#97888) by @lzhao-sentry
- :running: perf(aci): measure trigger action execution time (#97918) by @iamrajjoshi
- chore(autofix): add more copy button content (#97891) by @roaga
- feat(autofix): Show error message when drafting PR (#97867) by @roaga

_Plus 1946 more_

25.7.0
------

### Various fixes & improvements

- ref(deletions): Remove unnecessary Seer calls in endpoint (#93541) by @armenzg
- chore(detectors): Clean up detection settings  (#95561) by @roggenkemper
- ref(stories): rename sections (to core + product) (#95562) by @natemoo-re
- fix(Jira-Server): Adds halts, better exceptions for failed syncs (#95281) by @GabeVillalobos
- fix(stories): adjust routing (#95442) by @natemoo-re
- feat(taskworker): Zstd compress process profile task (#95545) by @enochtangg
- chore(relay): update VALID_PLATFORMS from relay location comment (#95510) by @cvxluo
- ref(ecosystem): refactor link_all_repos to bulk update repositories (#95494) by @cathteng
- build: fix storybook types (#95556) by @JonasBa
- feat(replay): Unify the tooltips into one for replay details os/browser (#95558) by @ryan953
- feat(otlp): Parse JSON-looking attributes in span attributes panel (#95544) by @gggritso
- chore(aci): setup single processing flag for issue alerts in workflow engine (#95178) by @cathteng
- feat(otlp): Register flag for displaying span links in the trace view UI (#95549) by @gggritso
- ref(ui): make "md" the new buttonBar gap default (#95551) by @TkDodo
- feat: Add dashboard widget snapshot model (#95236) by @shruthilayaj
- [ft] Add a enable PR review + test gen setting at an org level (#95456) by @rohitvinnakota-codecov
- fix(explore): Only permit span.duration for eap count (#95480) by @Zylphrex
- ref: replace space function with p.theme.space in core/button (#95414) by @TkDodo
- chore(nextjs-insights): remove feature flag registration (#95543) by @shellmayr
- fix(taskworker) Add a short backoff when fetching tasks (#95346) by @markstory
- chore(ui): Increase contrast on issues chart (#95349) by @leeandher
- feat(tours): re-implement tour with inverse theme (#95530) by @TkDodo
- fix(explore): Prettify aggregation in saved queries (#95479) by @Zylphrex
- :wrench: chore(aci): update `send_activity_notification` to not send notifications for metric alert resolutions (#95476) by @iamrajjoshi

_Plus 670 more_

25.6.2
------

### Various fixes & improvements

- feat(feedback): enable feedback category option for org stats page (#94649) by @aliu39
- fix(anomaly detection): turn processing back on for dynamic rules (#94652) by @mifu67
- chore(sentry apps): Add SLO for updating servicehooks (#94489) by @Christinarlong
- feat(prevent): Initial RepoTokenTable (#94381) by @ajay-sentry
- feat(aci): automation edit scaffolding (#94595) by @ameliahsu
- feat(replay): add feedback to LLM context (#94315) by @michellewzhang
- chore(opsgenie): instrument opsgenie installation slos (#94587) by @Christinarlong
- chore(detectors): Add google API filtering for Consecutive HTTP detector  (#94634) by @roggenkemper
- chore(launchpad): add dev check to skip ff logic on artifact upload path (#94638) by @NicoHinderling
- profiling: allow session expanding (#94633) by @JonasBa
- feat(aci): Add uptime detector form (#94617) by @malwilley
- feat(preprod) Add file id for install file (#94642) by @noahsmartin
- fix(ui): Silence additional AbortErrors (#94644) by @scttcper
- fix(reports): Significantly increase the schedule_organizations deadline (#94596) by @kcons
- feat(aci): add subfilters list to remaining frequency conditions (#94621) by @ameliahsu
- :wrench: chore: add ecosystem to codeowners for sentry apps utils (#94620) by @iamrajjoshi
- fix(ui): Throw error if response is undefined in api client (#94631) by @scttcper
- :wrench: chore: fix and add a couple open pr comment logs (#94614) by @iamrajjoshi
- :wrench: chore: sample sentry app client error slo logs (#94618) by @iamrajjoshi
- feat(launchpad): Create size analysis upload (assemble) endpoint (#94353) by @NicoHinderling
- fix(billing): update conditions for orgStatsBanner to appear (#94493) by @brendanhsentry
- docs(replay): Iterate on bulk delete blueprint (#94494) by @ryan953
- ref(issues): add rate limits to tagkey details (#94626) by @JoshFerge
- feat(simpleTable): Allow `<SimpleTable>` to accept any Div props (#94619) by @ryan953

_Plus 519 more_

25.6.1
------

### Various fixes & improvements

- feat(issues): Add hex parameterization experiment (#93970) by @mrduncan
- feat(feedback): Split feedback tags into tags+context with collapsable sections (#93397) by @ryan953
- ref(grouping): Small changes to grouping tests (#93960) by @lobsterkatie
- ref(replay): adjust timestamps in replay ai summary UI (#93992) by @michellewzhang
- fix(replay): Add handling for null max_segment_id (#93989) by @cmanallen
- chore(issues): Remove traceparent experiment (#93942) by @mrduncan
- ref(trace-items): Pull useGetTraceItemAttributeKeys into hook (#93739) by @Zylphrex
- ref(explore): Visualize should only have 1 y axis (#93938) by @Zylphrex
- feat(preprod): Add analytics to the assemble endpoint (#93871) by @trevor-e
- feat(trace-eap-waterfall): Hiding some attrs (#93964) by @Abdkhan14
- fix(aci): Fix accidental over-logging (#93971) by @kcons
- feat(detectors): Add noise config to DB Query Injection Issue Type (#93943) by @roggenkemper
- ref(dashboards): add a new table widget visualization component (#93902) by @lzhao-sentry
- ref(issues): Remove redundant Type row from Event Grouping Information table (#93892) by @nora-shap
- fix(taskworker) Extend deadlines for check_auth (#93961) by @markstory
- flex: cleanup Flex* custom styling in favor of Flex primitive (#93809) by @JonasBa
- ✨ feat(scm): add environment infomation to suspect commit prs (#93025) by @iamrajjoshi
- ref(feedback): better summarization prompt (#93962) by @vishnupsatish
- ref(replay): include error context in breadcrumb summary (#93669) by @michellewzhang
- chore(issues): Remove regex parameterization experiment (#93958) by @mrduncan
- fix(aci): Ensure slow conditions are consistent (#93895) by @kcons
- feat(feedback): frontend to display summary (#93567) by @vishnupsatish
- feat(devservices): Add tracing mode (#93759) by @hubertdeng123
- ref(profiling): Move flamegraphFrameFilter types around for tsgo (#93948) by @scttcper

_Plus 105 more_

25.6.0
------

### Various fixes & improvements

- fix(release): Run self-hosted image push on release branches (#93827) by @hubertdeng123
- fixing(trace-eap-waterfall): Not implemented error (#93820) by @Abdkhan14
- Remove `File`-based `EventAttachment` code (#93804) by @Swatinem
- fix(aci): Change open period range boundary to inclusive (#93535) by @snigdhas
- fix(ourlogs): Expand the menu automatically when you change the function (#93821) by @colin-sentry
- fix(dashboards-comparison): Add proper handling for environment filters (#93822) by @nikkikapadia
- feat(sentryapps): Display sentry apps token usage as app rather than proxy user  (#93763) by @leeandher
- fix(issues): Handle breadcrumb item as array (#93784) by @scttcper
- fix(issues): Move sentry attachment exception (#93783) by @scttcper
- fix(ui): restore height for pageFilterBar (#93800) by @TkDodo
- :wrench: chore: add logging for project transfers (#93779) by @iamrajjoshi
- flex: add support for inline flex (#93813) by @JonasBa
- ref(replays): Remove unused flag (#93805) by @cmanallen
- releases: fix button overflow (#92344) by @JonasBa
- chore(detectors): Normalize evidence data for query injection issues  (#93760) by @roggenkemper
- ref(ci): Remove unused matrix (#93815) by @untitaker
- fix(browser-reports): Support the correct media type (#93814) by @armenzg
- chore(taskworker): Update put child multiprocessing queue metric (#93744) by @enochtangg
- ref: growing input is no more (#86553) by @JonasBa
- ref(replays): Clean up RRWeb event parsing logic (#93517) by @cmanallen
- fix(spans): Do not shut down the flusher at the beginning of rebalancing (#93807) by @untitaker
- fix(release): Publish image on release branches (#93757) by @hubertdeng123
- ref: enable strict types on sentry.utils.github (#93710) by @asottile-sentry
- Reapply "ref: match pipeline arg name in auth views (#93722) by @asottile-sentry

_Plus 1454 more_

25.5.1
------

### Various fixes & improvements

- :wrench: chore(integrations): use `IntegrationProviderSlug` for Integration `key` (#91465) by @iamrajjoshi
- ref: fix types for group_integration_details (#92026) by @asottile-sentry
- Bump `devenv`/`devservices` to make Python SDK 3 compatible (#92028) by @antonpirker
- build(ui): Remove react prod sourcemaps (#92006) by @scttcper
- feat(spans): Produce items from process-segments (#91714) by @untitaker
- feat(explore): Add attribute description throughout explore (#91829) by @Zylphrex
- fix(symbolicator): check source credentials and not the credential token (#92024) by @Litarnus
- feat(replay): Start bringing in new replay context wrappers to test (#91982) by @ryan953
- feat(agents-insights): dashboard placeholder (#92021) by @obostjancic
- ref: remove remote_subscriptions migrations (#92004) by @asottile-sentry
- fix(apps): disallow Manager to rotate an app secret with org:admin scope (#92019) by @oioki
- issues: remove custom save button styling (#91974) by @JonasBa
- replay: replace colors for tokens on timeline (#91933) by @JonasBa
- trace: fix buttons in chonk (#91878) by @JonasBa
- tag: fix bad tag change and flickering text (#91927) by @JonasBa
- chore(sdk): Use add_full_stack by default (#91939) by @armenzg
- fix(codeowners): move demomode upwards in codewards to stop matching everything (#92020) by @shellmayr
- fix(nextjs-insight): Filter spans without component type from tree view (#92017) by @ArthurKnaus
- Add directory for preprod (#91961) by @chromy
- fix(span-buffer): Fix crashing behavior in flusher (#91949) by @untitaker
- feat(agents-insights): feature flag registration (#92014) by @obostjancic
- fix(codeowners): add owner to demomode line (#92012) by @shellmayr
- ref: add flags to migrations lockfile (#91991) by @asottile-sentry
- feat(source-maps): Do not render source maps wizard if platform is react native (#91860) by @priscilawebdev

_Plus 231 more_

25.5.0
------

### Various fixes & improvements

- chore(perf-issues): Add a flag and check it to allow customer to disable detectors (#91734) by @leeandher
- feat(trace-tabs-ui): Adding ops to search on click and hiding trace level ops breakdown (#91684) by @Abdkhan14
- build(ui): Add rspack as webpack alternative (#77077) by @scttcper
- fix(taskworker) Fix async notification parameter serialization (#91720) by @markstory
- fix(profiles): Set the proper span entity to insert data to in tests (#91736) by @phacops
- fix(insights): line of code not working with db module on eap (#91654) by @DominikB2014
- ref(reserved budgets): Update types + constants (#91606) by @isabellaenriquez
- feat(taskworker) Check 2% of tasks for pickle (#91624) by @markstory
- chore(github): Only support pagination for getting labels (#91570) by @armenzg
- Skip test_queries_profile_candidates_from_spans (#91724) by @armenzg
- fix(issue-details): Avoid persisting stacktrace folding behaviour (#91719) by @leeandher
- feat(dashboards): Newly added widgets should scroll into view (#91721) by @narsaynorath
- ref(crons): Use dateAdded over dateCreated (#91667) by @evanpurkhiser
- fix(utils): return 0% for null and undefined values in formatpercentage (#91710) by @shellmayr
- ref: fix nullability of requires_org_level_access (#91694) by @asottile-sentry
- feat(explore): Flatten visualize yaxes into multiple (#91664) by @Zylphrex
- fix(widget-library): Hide filters at top of panel if not small screen (#91716) by @narsaynorath
- feat(attachments): Include all attachment with screenshot in name (#91602) by @armenzg
- fix(insights): show - instead of null when metric value is null (#91656) by @DominikB2014
- feat(ourlogs): Add a "new" badge for logs in the sidebar (#91674) by @colin-sentry
- fix(nextjs-insights): remove project icon from rage/dead click widget (#91711) by @shellmayr
- fix(nextjs-insights): show 0% for failure_rate()==0 instead of <0% (#91709) by @shellmayr
- feat(nextjs-insights): add avg & p95 duration to navigations table (#91708) by @shellmayr
- fix(sandbox): for debugging add telex org to exclude from redirect (#91704) by @constantinius

_Plus 1819 more_

25.4.0
------

### Automate Code Mappings & In-App Stack Trace Rules for Java projects (ongoing)

Currently, we ask developers to set up their Java code mappings manually (because the SDK cannot determine it):
https://docs.sentry.io/platforms/java/source-context/&#35;setting-up-code-mappings

Unfortunately, many stack traces do not contain in-app frames, thus, many Sentry features are not available (e.g. SCM linking, suspect commit).

This tracks using the code mappings derivation system to automatically add the code mappings and stack trace rules to mark in-app frames as such.

This will automatically enable the following Sentry features :
- Suspect Commits
- GitHub pull request comments
- Auto-assignments (if Codeowners imported)
- Stack trace linking
- Code coverage (if the customer also has an account)

This will only be available to customers with the GitHub integration installed.

You can read more about the system here:
https://blog.sentry.io/code-mappings-and-why-they-matter/

By: @armenzg (#89389, #89302, #89211, #88952, #88787, #88676, #88673, #88557, #88475, #88440, #88372, #88251, #88087, #88073, #87842, #87915, #87912, #87776, #87630, #87581, #87437, #87498, #87399, #86598)

### Various fixes & improvements

- :wrench: chore: fix slack webhook commands endpoint typing (#89579) by @iamrajjoshi
- chore(issue-platform): Clean up issue platform feature flags now that we're using flagpole (#89451) by @wedamija
- fix(issues): Open drawers without resetting scroll (#89574) by @scttcper
- feat(ourlogs): Strip ANSI escape codes (#89619) by @colin-sentry
- fix(schema-hints): Replace user tag with an available `user.*` tags (#89509) by @nikkikapadia
- feat(explore): Remove feature flag for get traces rpc (#89621) by @Zylphrex
- styles(explore): Reorganization explore for tours (#89616) by @Zylphrex
- feat(logs): minor accordion cleanup (#89531) by @doralchan
- ref: the first arg of prep_search is unused (#89611) by @asottile-sentry
- ref: fix types for sentry.api.base (#89601) by @asottile-sentry
- :wrench: chore: update msteams notifications typing (#89577) by @iamrajjoshi
- ref(profiling): rename filestore profiles options (#89608) by @viglia
- :wrench: chore: fix slack notifications typing (#89578) by @iamrajjoshi
- fix(ui): make sure hovering disabled buttons doesn't change their textColor (#89588) by @TkDodo
- feat(explore): Add support for count_unique in eap (#89558) by @Zylphrex
- feat(demo-mode): issues tour (#89399) by @obostjancic
- fix(dashboards-eap): Pass along sampled flag for disabling message (#89528) by @narsaynorath
- fix(taskworker) Increase timeouts for deletion tasks (#89541) by @markstory
- feat(explore): Switch trace samples over to rpc (#89575) by @Zylphrex
- fix(dashboards): Fix typo in code comment (#89606) by @gggritso
- Revert "feat(features) Add testing feature flag for region condition (#89405)" (12c54bb3) by @getsentry-bot
- feat(profiling): Detect chunks without client sdk (#89195) by @Zylphrex
- ref(laravel-insights): Move components (#89600) by @ArthurKnaus
- feat(ui): chonkify segmentedControl (#89589) by @TkDodo

_Plus 2007 more_

25.3.0
------

### Automate Code Mappings & In-App Stack Trace Rules for Java projects (ongoing)

Currently, we ask developers to set up their Java code mappings manually (because the SDK cannot determine it):
https://docs.sentry.io/platforms/java/source-context/&#35;setting-up-code-mappings

Unfortunately, many stack traces do not contain in-app frames, thus, many Sentry features are not available (e.g. SCM linking, suspect commit).

This tracks using the code mappings derivation system to automatically add the code mappings and stack trace rules to mark in-app frames as such.

This will automatically enable the following Sentry features :
- Suspect Commits
- GitHub pull request comments
- Auto-assignments (if Codeowners imported)
- Stack trace linking
- Code coverage (if the customer also has an account)

This will only be available to customers with the GitHub integration installed.

You can read more about the system here:
https://blog.sentry.io/code-mappings-and-why-they-matter/

By: @armenzg (#86283, #86327, #86280, #86196, #86188, #86189, #86109, #86026, #85981, #85976, #85931, #85742)

### Various fixes & improvements

- Revert "chore(sentry apps): add SLO context manager for send alert event (issue alerts) (#86356)" (fa6491f2) by @getsentry-bot
- fix(autofix): Fix running autofix after all issue summaries (#87134) by @jennmueng
- fix(data-consent): Fix non touch customers seeing msa prompt (#87133) by @jennmueng
- fix(eap-spans): count_op should use `score.total` (#87132) by @DominikB2014
- chore(sentry apps): Add context manager for comment webhook SLOs (#86739) by @Christinarlong
- feat(devenv): Skip `devenv sync` call when we have FE changes and env var is set (#87112) by @wedamija
- feat(insights): make score easier to query (#87129) by @DominikB2014
- chore(issue-details): Fix a few things about issue guide (#87122) by @leeandher
- feat(issue-views): Improve drag handle and safari interactions (#87119) by @MichaelSun48
- :recycle: ref(aci): remove alert rule from metric alert chart building logic (#87103) by @iamrajjoshi
- fix(jira): Add a 'key_id' block list for JIRA installed webhook endpoint (#87086) by @Christinarlong
- fix(event_manager): Resolve TypeError while recording first insight span (#87123) by @jan-auer
- chore(sentry apps): add SLO context manager for send alert event (issue alerts) (#86356) by @Christinarlong
- ref(feedback): add evidence test coverage and send alerts if source is none (#87121) by @aliu39
- feat(releases): Change "version" to "release" in table (#87088) by @billyvg
- feat(releases): Change release bubbles series color to match bubbles (#87109) by @billyvg
- test(react19): Wait for text in billingPlans.spec.tex (#87120) by @scttcper
- ref(tsc): convert projectPlugins details to FC (#87035) by @michellewzhang
- chore(issues): Opt more modules into stronger typing (#87117) by @mrduncan
- feat(ui): Move checkInTimeline underscan to the left (#87096) by @evanpurkhiser
- fix(aci): ANY_SHORT_CIRCUIT early exit (#87114) by @cathteng
- test(react19): Adjust widgetViewerModal for react 19 (#87110) by @scttcper
- chore(uptime): Commit test helpers for getsentry (#87115) by @wedamija
- feat(insights): add most related issues to backend (#87033) by @DominikB2014

_Plus 1390 more_

25.2.0
------

### Automate Code Mappings & In-App Stack Trace Rules for Java projects (ongoing)

Currently, we ask developers to set up their Java code mappings manually (because the SDK cannot determine it):
https://docs.sentry.io/platforms/java/source-context/&#35;setting-up-code-mappings

Unfortunately, many stack traces do not contain in-app frames, thus, many Sentry features are not available (e.g. SCM linking, suspect commit).

This tracks using the code mappings derivation system to automatically add the code mappings and stack trace rules to mark in-app frames as such.

This will automatically enable the following Sentry features :
- Suspect Commits
- GitHub pull request comments
- Auto-assignments (if Codeowners imported)
- Stack trace linking
- Code coverage (if the customer also has an account)

This will only be available to customers with the GitHub integration installed.

You can read more about the system here:
https://blog.sentry.io/code-mappings-and-why-they-matter/

By: @armenzg (#85174, #85065)

### Various fixes & improvements

- Revert "feat(autofix): Add Autofix status to sidebar button (#85287)" (b20e50ed) by @getsentry-bot
- fix(autofix): Fix flash on initial run (#85299) by @roaga
- feat(autofix): Add Autofix status to sidebar button (#85287) by @roaga
- fix(issues): Left align commit authors (#85291) by @scttcper
- :sparkles: feat(aci): add support for sentry apps for issue alerts in NOA (#85218) by @iamrajjoshi
- feat(crons): Implement an all checks page for crons (#85202) by @leeandher
- fix(apidocs): fix typo in user feedback api (#85280) by @michellewzhang
- ref(dashboards): Namespaced `Widget` components (#85238) by @gggritso
- ref(uptime): Remove config_topic from UptimeRegionConfig (#85155) by @evanpurkhiser
- ref(seer grouping): Add ability to ignore useless filenames (#85277) by @lobsterkatie
- fix(auto_source_config): Handle when the frame is None (#85235) by @armenzg
- feat(issues): Disable delete on missing permission (#85278) by @scttcper
- fix(widget-builder): Visualize field overflows on long field names (#85271) by @nikkikapadia
- feat(nav): Update rest of alert links to use new pathname builder (#85257) by @malwilley
- fix(profiling): Prevent landing page from scrolling on context menu (#85273) by @Zylphrex
- ref: remove default margin from Alert in sentry (#85128) by @michellewzhang
- feat(taskworker) Add metrics for RPC durations (#85194) by @markstory
- feat(nav): Update alert links from explore/insights/crons (#85254) by @malwilley
- feat(nav): Update replay onboarding to use drawer (#85267) by @malwilley
- ref(crons): Rename parallel field -> batched_parallel (#85261) by @evanpurkhiser
- Reapply "ref(crons): Remove parallel mode (batched-parallel replaced it)" (#85262) by @evanpurkhiser
- ref(widget-builder): Extract selection components (#85248) by @narsaynorath
- chore(apis): Publish GroupExternalIssue endpoint (#85184) by @Christinarlong
- ref: get_group_{body,title,description} to not need request (#85263) by @asottile-sentry

_Plus 1429 more_

25.1.0
------

### Various fixes & improvements

- fix(issues): inherit ShortIdLookupEndpoint from GroupEndpoint (#83502) by @oioki
- feat(widget-builder): Create blank widget preview for templates (#83509) by @nikkikapadia
- fix(eslint): Cleanup some TS cruft in the eslint.config.mjs file (#83468) by @ryan953
- feat(eap): Add has filters to eap search query builder (#83437) by @Zylphrex
- feat(explore): Add is_transaction to explore fields (#83423) by @Zylphrex
- styles(explore): Fix spacing between explore toolbar visualize (#83449) by @Zylphrex
- feat(streamline): Add an option to remove opt-out for new users (#83205) by @leeandher
- ref(issue-details): Remove all query params from legacy UI when no event is found. (#83441) by @leeandher
- Revert "ref(quick-start): Update backend enums names (#83361)" (0729289d) by @getsentry-bot
- feat(symx): Add os as a tag (#83504) by @loewenheim
- ref(quick-start): Update backend enums names (#83361) by @priscilawebdev
- ref: fix type for serializers.models.rule (#83444) by @asottile-sentry
- ref: fix typing for plugins.bases.issue{,2} (#83445) by @asottile-sentry
- ref: standardize user param as User | RpcUser | AnonymousUser in Serializers (#83436) by @asottile-sentry
- Reapply "ref: upgrade to python 3.13" (#83448) by @asottile-sentry
- feat(widget-builder): Add widget dropdown for templates (#83426) by @nikkikapadia
- ref(quick-start): Update comments in onboarding tasks model (#83496) by @priscilawebdev
- ref(quick-start): Remove unused functions (#83499) by @priscilawebdev
- ref(quick-start): Remove 'INTEGRATIONS' from onboarding task (#83488) by @priscilawebdev
- ref(quick-start): Remove 'USER_CONTEXT' from onboarding tasks (#83489) by @priscilawebdev
- ref(quick-start): Remove 'METRIC_ALERT' from onboarding task (#83487) by @priscilawebdev
- ref(quick-start): Add 'default=True' to the flag manager (#83483) by @priscilawebdev
- ref(quick-start): Remove 'USER_REPORTS' from onboarding task (#83490) by @priscilawebdev
- fix(symx): Remove log message (#83491) by @tobias-wilfert

_Plus 26 more_

24.12.2
-------

### Various fixes & improvements

- feat(devservices): Add option to setup sentry with new devservices to existing action (#83415) by @hubertdeng123
- ref(react19): Remove various styled defaultProps (#83409) by @scttcper
- feat(new-trace-issues): Updating designs for trace preview in issue details (#83430) by @Abdkhan14
- feat(metric-issues): Add "correlated issues" section  (#83353) by @snigdhas
- fix(ui): Clamp timeline zoom to the minute (#83435) by @evanpurkhiser
- fix(eslint): Enable no-constant-binary-expression and fix violations (#83273) by @ryan953
- feat(eap): Support eap autocompleting booleans (#83433) by @Zylphrex
- fix(migrations): Actually fix BoundedPositiveBigIntegerField (#83431) by @wedamija
- ref: delete dead serializer code (#83429) by @asottile-sentry
- feat(ui): List available param keys in useParams (#83428) by @scttcper
- ref: fix types for mentions serializer (#83424) by @asottile-sentry
- :recycle: feat(workflow_engine): issue alert action migration util for slack (#83123) by @iamrajjoshi
- feat(metric-issues): Hide log level indicator for non-error issues (#83354) by @snigdhas
- ref: use types-requests-oauthlib (#83418) by @asottile-sentry
- ref: use types-unidiff (#83416) by @asottile-sentry
- ref(profiling) drop drag and drop functionality (#83420) by @JonasBa
- ref: upgrade django-stubs (#83413) by @asottile-sentry
- chore(alerts): Remove lingering activated alerts code (#83342) by @ceorourke
- chore(analytics): Add experimental analytics for new streamlined orgs  (#83390) by @leeandher
- feat(dashboards): Improve duration Y axis label formatting (#83337) by @gggritso
- ref(profiling): Merge profile provider for both modes (#83338) by @Zylphrex
- fix(migrations): Set the correct internal type for BoundedPositiveBigIntegerField (#83412) by @wedamija
- fix: check user in helper (#83407) by @oioki
- fix(widget-builder): Aggregates with no column not wiped (#83410) by @narsaynorath

_Plus 775 more_

24.12.1
-------

### Various fixes & improvements

- fix: fixes KeyError when running with stale topic dlq (#82512) by @lynnagara
- chore(issue-views): Add analytics back to tab actions (#82504) by @MichaelSun48
- chore(sentry apps): Introduce new error types for sentry apps (#82507) by @Christinarlong
- fix timezone normalization (#82496) by @kneeyo1
- ref(tsc): convert teamAccessRequestModal to FC (#82470) by @michellewzhang
- ref(tsc): convert dashboardWidgetQuerySelectorModal to FC (#82466) by @michellewzhang
- ref(issue-views): Overhaul issue views state and logic to a new context  (#82429) by @MichaelSun48
- ref: strptime -> fromisoformat in tests (#82488) by @asottile-sentry
- chore(various): Fix linter warnings (#82494) by @lobsterkatie
- ref(insights): Split out `getAxisMaxForPercentageSeries` (#82493) by @gggritso
- fix(ecosystem): Track metrics for issue detail ticket creation (#82436) by @GabeVillalobos
- ref(aci): pass WorkflowJob into process_workflows (#82489) by @cathteng
- fix(group-events): Fix typo and error text (#82490) by @leeandher
- fix(web): Add react_config context on auth pages take 2 (#82480) by @BYK
- feat(alerts): ACI dual write alert rule helpers (#82400) by @ceorourke
- feat(dashboards): Pass `LineChart` series meta alongside the data (#82047) by @gggritso
- fix(eap): Numeric attribute filtering in snql eap (#82472) by @Zylphrex
- chore(issues): Opt in a few more endpoint tests to stronger types (#82382) by @mrduncan
- ref: remove calls to iso_format in testutils (#82461) by @asottile-sentry
- feat(dashboards): enable sorting by column in table view (#82239) by @harshithadurai
- ref(workflow_engine): remove remaining references to condition in validators (#82438) by @mifu67
- fix(flags): separate permission class (#82463) by @oioki
- feat(new-trace): Fixing scroll on trace drawer (#82475) by @Abdkhan14
- support routing stale messages to lowpri topic (#82322) by @lynnagara

_Plus 240 more_

24.12.0
-------

### Various fixes & improvements

- chore(utils): allow duplicate values in registry by making reverse lookup optional (#82114) by @cathteng
- feat(workflow_engine): Add `process_data_packets` method (#82002) by @saponifi3d
- ref(workflow_engine): Remove DetectorType (#82111) by @saponifi3d
- chore(aci milestone 3): move aggregation value helpers to incidents directory (#82103) by @mifu67
- ref(feedback): remove spam detection logs - replaced by redash (#82071) by @aliu39
- fix(activity): Update activity message for linked issues (#82064) by @snigdhas
- ref(replay): improve error messages for invalid searches that raise CouldNotParseValue (#82048) by @aliu39
- fix(toolbar): Include credentials with fetch requests (#82108) by @ryan953
- feat(autofix): Add support for streamed output (#82024) by @roaga
- :sparkles: feat(discord): add button to redirect for user linking (#82104) by @iamrajjoshi
- feat(workflow_engine): Adding support for `process_workflows` in the IssuePlatform (#81975) by @saponifi3d
- ref: remove skip_for_relay_store (#82106) by @asottile-sentry
- feat(metric-issues): Configure workflow notifications by group type (#81609) by @snigdhas
- fix(iphone-codes): update frontend definitions (#82100) by @armcknight
- ref: improve grouphash_metadata test (#82101) by @asottile-sentry
- fix(iphone-codes): update BE mapping; remove unused method (#82094) by @armcknight
- ref: remove xfail_if_not_postgres (#82097) by @asottile-sentry
- ref: fix typing for endpoints.project_rule_preview (#82089) by @asottile-sentry
- ref: fix types for test_event_attachment_details (#82091) by @asottile-sentry
- ref: remove requires_not_arm64 (#82093) by @asottile-sentry
- chore(aci): enforce config schema without subclassing (#81979) by @cathteng
- ref: fix types for eventstore.test_base (#82092) by @asottile-sentry
- chore(stacktrace): Make source map tooltip aligned (#82016) by @MichaelSun48
- ref: delete unused GroupEnvironmentWithStatsSerializer (#82090) by @asottile-sentry

_Plus 93 more_

24.11.2
-------

### Various fixes & improvements

- fix(dashboards): Abbreviate `LineChartWidget` Y axis integers (#81937) by @gggritso
- Revert "chore(profiling): remove profiling.stack_trace_rules.allowed_project_ids option (#81903)" (d0bea1aa) by @getsentry-bot
- feat(widget-builder): Add limit field to widget builder hook (#81944) by @nikkikapadia
- fix(alerts): Fix EAP alert filter bar to behave more like explore (#81946) by @edwardgou-sentry
- feat(alerts): Renames eap metrics in ui to spans (#81917) by @edwardgou-sentry
- feat(alerts): Limits eap alert time windows and periods (#81916) by @edwardgou-sentry
- chore(insights): Remove bundle analysis UI flag (#81932) by @gggritso
- feat(widget-builder): Batch URL param changes (#81923) by @narsaynorath
- fix(merged): Always show a link for latests event of a merged group (#81947) by @leeandher
- fix(dashboards): Add missing propagated props in `LineChartWidget` (#81935) by @gggritso
- chore(profiling): remove profiling.stack_trace_rules.allowed_project_ids option (#81903) by @viglia
- feat(new-trace): remove prefix related (#81918) by @doralchan
- :mag: nit(integration slo): cleanup tests (#81943) by @iamrajjoshi
- ref(widget-builder): Split out tests (#81949) by @narsaynorath
- fix(trace-view): Web Vitals scores (#81945) by @0Calories
- ref(insights): Simplify `SpanTimeCharts` (#81931) by @gggritso
- fix(oauth): only remove the related tokens (#81677) by @sentaur-athena
- :wrench: chore(integration slo): cleaning up tests and use util method (#81936) by @iamrajjoshi
- feat(issue summary): Change 3-dot menu to dropdown (#81928) by @roaga
- feat(sdk): Upgrade @sentry SDKs to v8.43.0 (#81925) by @aliu39
- Better logging for backpressure (#81648) by @kneeyo1
- feat(dashboards): add success message when favoriting dashboards (#81887) by @harshithadurai
- feat(ui): Add dark app loading theme (#81611) by @scttcper
- ref(dashboards): Export Widget component props (#81924) by @gggritso

_Plus 442 more_

24.11.1
-------

### Various fixes & improvements

- feat(toolbar): Make the login-success page have styles that blend with the login flow (#81230) by @ryan953
- fix(issues): Revert to app external issue name (#81277) by @scttcper
- Revert "chore(similarity): Do not send > 30 system frames to seer (#81259)" (104352cb) by @getsentry-bot
- :wrench: chore(slos): Update Halt to Success for Bot Commands (#81271) by @iamrajjoshi
- fix(auth): Adding scoping_organization_id to replica (#81213) by @sentaur-athena
- chore(similarity): Do not send > 30 system frames to seer (#81259) by @jangjodi
- fix(issues): Animate dropdown chevrons, button sizes (#81262) by @scttcper
- feat(eap): Add missing profile.id column to EAP (#81263) by @Zylphrex
- ref(dashboards): Modify how permissions are handled for editing/deleting dashboards (#80684) by @harshithadurai
- feat(explore): Format numeric tags nicely in explore (#81255) by @Zylphrex
- fix(explore): Preserve sort when adding group by (#81258) by @Zylphrex
- ref(insights): remove insights-domain-view flag part 1 (#81241) by @DominikB2014
- chore(alerts): Drop included and excluded projects (#81250) by @ceorourke
- ref: fix flaky digests test (#81256) by @asottile-sentry
- chore(sentryapps) Remove option for sentryapp RPC transition (#81245) by @markstory
- fix(grouping): Only collect metadata timing metric when actually getting metadata (#81252) by @lobsterkatie
- chore(performance): Remove old anomaly detection backend (#80696) by @gggritso
- Revert "chore(similarity): Add logging for over 30 system frames (#81130)" (7b7e7955) by @getsentry-bot
- ♻️ chore(slo): SLOs for CommitContextIntegration (#81225) by @iamrajjoshi
- chore(widget-builder): Remove organization props (#81248) by @narsaynorath
- chore(integrations): SourceCodeSearchEndpoint metrics (#80956) by @mifu67
- chore(vsts): vsts installation step metrics (#80789) by @cathteng
- Remove excluded_projects & include_all_projects columns (#81204) by @ceorourke
- fix(issues): Wrap solutions in error boundary (#81244) by @scttcper

_Plus 338 more_

24.11.0
-------

### Various fixes & improvements

- feat(issue-details): Add support link to dropdown (#80804) by @roggenkemper
- fix(issues): Show 50+ Replays whenever the count is maxed out like that (#80809) by @ryan953
- ref(replay): Refactor extractDomNodes stepper strategy into extractDomNodes.tsx (#80810) by @ryan953
- ref: make condition_data / action_data param names match for create_project_rule (#80781) by @asottile-sentry
- ref: explicitly install libexpat1 (#80742) by @asottile-sentry
- ref(dashboards): Fixes and refactoring for edit access selector button (#80633) by @harshithadurai
- feat(flamegraphs): Support functions flamegraphs for continuous profi… (#80822) by @Zylphrex
- feature(dashboards): added grid icon (#80806) by @doralchan
- fix(charts): Respect stacked prop in area chart (#80824) by @Zylphrex
- fix(insights): filter out ui.action in backend, and add to mobile (#80823) by @DominikB2014
- chore(flamegraph): Remove transactions from differential flamegraphs (#80807) by @Zylphrex
- feat(functions): Use flamegraph as data source for slowest functions (#80791) by @Zylphrex
- feat(dashboards): Dashboards landing page layout toggle (#80790) by @nikkikapadia
- ref(grouping): Rename `GroupingComponent` to `BaseGroupingComponent` (#80725) by @lobsterkatie
- feat(dynamic-sampling): Show project as active if not 100 percent (#80819) by @ArthurKnaus
- feat(dynamic-sampling): Copy changes and doc links (#80818) by @ArthurKnaus
- fix(releases): For semver releases, get latest release as the resolving one (#80737) by @armenzg
- feat(dynamic-sampling): Use new span count endpoint (#80732) by @ArthurKnaus
- feat(dynamic-sampling): Show stored span per sub-project (#80816) by @ArthurKnaus
- fix(dynamic-sampling): set dynamic sampling project span count mql query limit (#80812) by @shellmayr
- chore(codeowners): update telemetry experience ownership (#80813) by @shellmayr
- fix(crons): Move limit back onto QuerySet for incident detection (#80805) by @evanpurkhiser
- fix(grouping): Small types fixes (#80724) by @lobsterkatie
- feat(backup): Add export checkpointer (#80711) by @azaslavsky

_Plus 1276 more_

24.10.0
-------

### Various fixes & improvements

- feat(releases): Split release commit from shared component (#78538) by @scttcper
- chore(alerts): Add info log when sending subscription update data to Seer (#79049) by @ceorourke
- feat(anomaly detection): add preview chart to new alert form (#78238) by @natemoo-re
- feat(issue-stream): Use stacked primary secondary counts designs (#79070) by @MichaelSun48
- feat(alerts): Add new feature flag to enable EAP alerts (#78985) by @edwardgou-sentry
- feat(discover): Update EAP dataset and entity key for discover builders (#78967) by @edwardgou-sentry
- fix: add info to post process TypeErrors for debugging (#79099) by @mjq
- ref(ingest): annotate transaction consumer with spans (#79101) by @mjq
- ref(rr6): Replace many useRouter's with useNavigate's (#78804) by @evanpurkhiser
- chore(feedback): Analytics for error rendering feedback item (#78978) by @c298lee
- feat(explore): Linking to spans in traceview from all tables (#78984) by @Abdkhan14
- fix(eap): Count takes arg (#79066) by @Zylphrex
- feat(quick-start): Add analytics code to the backend to track quick start completion (#79089) by @priscilawebdev
- feat(quick-start): Add new feature flag for the new updates (#79094) by @priscilawebdev
- fix(dashboard): OnDemand widget creation also includes transaction type (#79059) by @narsaynorath
- fix(dashboard): OnDemand extraction for Transaction widgets (#79055) by @narsaynorath
- feat(quick-start): Add analytics code to the frontend to track quick start completion (#79092) by @priscilawebdev
- ref(quick-start): Update 'project to set up' logic to default to the first project (#78460) by @priscilawebdev
- ref(onboarding): Add pnpm to express js install step (#79093) by @priscilawebdev
- feat(dynamic-sampling): add feature flag (#79084) by @constantinius
- fix(loader): Catch errors in `sentryOnLoad` separately (#78993) by @mydea
- ref(feedback): 401 for unauth'd POSTs to projectUserReports (#79069) by @aliu39
- fix(issue-stream): reduce font size of events and user counts (#79028) by @MichaelSun48
- fix(issue-stream): Fix bug where replay divider was shown despite no replays (#79068) by @MichaelSun48

_Plus 1020 more_

24.9.0
------

### Various fixes & improvements

- fix(custom-views): Align hover state of overflow menu with add view button (#77526) by @MichaelSun48
- fix(issues): Align streamlined event id (#77529) by @scttcper
- fix(similarity): Return failure reason from multithread seer call (#77522) by @jangjodi
- test(performance): Rearrange trace keyboard test (#77519) by @scttcper
- fix(anomaly detection): get aggregation key from snuba data (#77498) by @mifu67
- fix(ui): Remove team slug from settings search (#77520) by @scttcper
- fix(issues): Fix incorrect API docs for statsPeriod (#77523) by @mrduncan
- analytics(flags): add initial analytics (#77489) by @michellewzhang
- chore(users): Move User base endpoint file to users directory (#77501) by @Christinarlong
- chore(apidocs): Fix inconsistencies in replay docs (#77506) by @isabellaenriquez
- chore(apidocs): id -> ID (#77505) by @isabellaenriquez
- fix(onboarding): Open replay panel in quick start action (#77516) by @scttcper
- fix(anomaly detection): update alert list status to be the same as details page (#77500) by @mifu67
- ref(js): Remove default export of DateTime (#77493) by @evanpurkhiser
- chore(similarity): Increase seer delay and add to log (#77474) by @jangjodi
- chore(apidocs): Make UserRole related endpoints private (#77504) by @isabellaenriquez
- fix(custom-views): Change cursor for tab to pointer everywhere (#77513) by @MichaelSun48
- ref: fix test pollution integrity errors due to cache leaks between tests (#77476) by @asottile-sentry
- chore(crons): Remove sentry monitor decorator from run_escalating_forcast job (#77499) by @MichaelSun48
- ref(js): Missed one DateTime defualt export (#77497) by @evanpurkhiser
- feat(flags): hide flags from context and add feedback button (#77488) by @michellewzhang
- publish api endpoints (#77179) by @nhsiehgit
- ref(js): Remove usage of DateTime default export (#77494) by @evanpurkhiser
- fix(ui): Inmprove spacing on code snippet header (#77492) by @evanpurkhiser

_Plus 853 more_

24.8.0
------

### Various fixes & improvements

- style(toolbar): adjust alert indicator css (#76189) by @michellewzhang
- fix(issue-summary): Word break on code (#76217) by @jennmueng
- fix(issue-details): Prevent event error section from showing up if no errors (#76235) by @roggenkemper
- nit(scm): group functions by class they come from in main integration class (#76240) by @cathteng
- chore(migrations): Generalize the migrations_added file filter (#76244) by @wedamija
- chore(explore): Add new referrer for explore in events (#76256) by @Zylphrex
- ref(explore): Use sort type from discover (#76220) by @Zylphrex
- misc(deps): Bump the versions of a few google packages (#76257) by @colin-sentry
- chore(slack): temporarily track snuba user count queries round 2 (#76216) by @cathteng
- feat(breadcrumbs): Fix breadcrumbs styles + navigation (#76207) by @leeandher
- feat(features) Use dataclasses for flagpole instead of pydantic (#75859) by @markstory
- ref(similarity): Manually filter times seen in backfill query (#76188) by @jangjodi
- feat(insights): implement geo region selector in web vitals and assets (#76185) by @DominikB2014
- chore(dashboards): Register feature for auto sized Big Number widgets (#76205) by @gggritso
- feat(profiling) add function metrics table (#76110) by @JonasBa
- fix(self-hosted): SOURCE_COMMIT (#76139) by @joshuarli
- Don't emit Sentry warnings for throttled queries to Snuba (#75879) by @xurui-c
- chore(uptime): Switch result consumer duration/delay stats to use distribition (#76237) by @wedamija
- chore: Bump React error codes cache TTL to 3 days (#76243) by @dashed
- chore(uptime): Bump ACTIVE_FAILURE_THRESHOLD to 3 (#76218) by @wedamija
- fix(alert): Correct url (#76236) by @schew2381
- fix(uptime): Always pass span_id from check result to occurrence (#76227) by @evanpurkhiser
- ref(replay): update missing replay alert to include ad blocker note (#76215) by @michellewzhang
- Revert "fix(breadcrumbs): Use subgrid to align log levels (#76148)" (d08c8050) by @getsentry-bot

_Plus 1113 more_

24.7.1
------

### Hierarchical grouping deprecation (ongoing)

This project will move any projects using the mobile grouping configuration as defined here:
https://github.com/getsentry/sentry/blob/44d816f0b9a9450fdf47136313b3a4b955ceab84/src/sentry/grouping/strategies/configurations.py&#35;L160-L188

By: @armenzg (#74203)

### Various fixes & improvements

- chore(data-secrecy): FF for Data Secrecy (#74749) by @iamrajjoshi
- feat(utils): Add core `CircuitBreaker` functionality (#74560) by @lobsterkatie
- fix(replay): fix new banner check for hydration errors (#74755) by @aliu39
- fix: split samples by threadid (#74738) by @JonasBa
- Allow AI to be nullable (#74746) by @colin-sentry
- Fix creating crash free session alerts (#74750) by @saponifi3d
- feat(utils): Add helpers for circuit breaker and circuit breaker tests (#74559) by @lobsterkatie
- chore(typing): stricter decorator type checking for leaky bucket (#74687) by @vartec
- feat(uptime): Bump default timeout for onboarding monitors to 10s (#74739) by @wedamija
- chore(similarity): Add seer failure reason to backfill log (#74735) by @jangjodi
- fix(insights): Cache page alert re-rendering (#74737) by @narsaynorath
- chore(saml2): Add flag for Single-Logout (#74736) by @leedongwei
- chore(seer): Add timing metric to requests to Seer (#74688) by @lobsterkatie
- feat(utils): Add stub for rate-limit-based `CircuitBreaker` class (#74557) by @lobsterkatie
- Separates rejecting policy and throttling policy in Sentry tags and spans (#74733) by @xurui-c
- feat(tracing): reparent ssr spans under pageload txn and under browser request span (#74675) by @JonasBa
- ref(toolbar): add feature flag search (#74697) by @michellewzhang
- remove temporary flagpole option (#74597) by @nhsiehgit
- chore(issues): cleanup old issue annotations (#74684) by @oioki
- ref: improve signatures of tsdb (#74725) by @asottile-sentry
- feat(performance): enable long animation frame support for internal t… (#74637) by @KevinL10
- fix(metrics): Introduce new styles to alias field (#74722) by @priscilawebdev
- feat(dashboards): Add split source field to API response (#74717) by @narsaynorath
- ref: fix Future types for sentry_metrics routing_producer (#74682) by @asottile-sentry

_Plus 296 more_

24.7.0
------

### Hierarchical grouping deprecation (ongoing)

This project will move any projects using the mobile grouping configuration as defined here:
https://github.com/getsentry/sentry/blob/44d816f0b9a9450fdf47136313b3a4b955ceab84/src/sentry/grouping/strategies/configurations.py&#35;L160-L188

By: @armenzg (#74144)

### Various fixes & improvements

- chore(api): Rewrite Org Details docs (#73293) by @isabellaenriquez
- metrics(replay): log rrweb_event_count to slow clicks table (#74277) by @aliu39
- fix(slack): Fix error handling when fetching slack channel information (#74267) by @dashed
- chore(replay): alpha -> beta (#74279) by @michellewzhang
- feat(trace-view): Add UI fallback to old view for STs (#73684) by @k-fish
- chore(similarity): Add killswitches for each feature flag (#74274) by @jangjodi
- feat(prompts): support a visible status for un-hiding components (#74228) by @aliu39
- nit(opsgenie): add config access requirement to error text (#74111) by @mifu67
- ref(similarity): Add killswitch to delete record task (#74212) by @jangjodi
- ref(profiling) battery usage chart (#74273) by @JonasBa
- ref(discover): Use snake case for dataset variable (#74215) by @narsaynorath
- ref(proguard): Deobfuscate view hierarchies as part of symbolication (#74196) by @loewenheim
- feat(profiling) construct profile from continuous chunk (#74171) by @JonasBa
- ref(profiling) store unit on profile chart (#74152) by @JonasBa
- ref(metrics): Update copies (#74270) by @priscilawebdev
- ref(proguard): Remove separate queue (#74269) by @loewenheim
- ref(metrics): Update copies (#74268) by @priscilawebdev
- Revert "ref(proguard): Remove separate queue (#74198)" (a1ab12d0) by @getsentry-bot
- ref(proguard): Remove separate queue (#74198) by @loewenheim
- feat(metrics): numeric span attribute extraction (#74190) by @obostjancic
- feat(metrics): update extraction rule tag description (#74118) by @obostjancic
- fix(minimetrics): skip span attribute attach if there is no span (#74193) by @obostjancic
- feat(auto-import): Enable default vscode auto-import for Sentry BE (#74197) by @MichaelSun48
- fix: fix broken links to Performance docs pages (#74235) by @mjq

_Plus 911 more_

24.6.0
------

### Various fixes & improvements

- ref: upgrade boto3 (#72935) by @asottile-sentry
- feat(related_issues): Free tier support for trace timeline and related issues (#72933) by @armenzg
- ref(keyvaluedata): Change names and exports for better autocomplete (#72939) by @leeandher
- feat(issues): adds backend for "resolve in upcoming release" (#70990) by @roggenkemper
- feat(breadcrumbs): Implement shared timeline component (#72874) by @leeandher
- ref(slack): Refactor Link Identity View (#72792) by @iamrajjoshi
- chore(rules): Remove metric alert ignore archived flag (#72833) by @ceorourke
- feat(query-builder): Add loading state and improved menu styles/positioning (#72940) by @malwilley
- fix: Improve trimming of Swift function names (#72335) by @Steelskin
- fix(query-builder): Remove [me,my_teams,none] suggestion from assigned (#72915) by @malwilley
- feat(query-builder): Make date filters more user friendly (#72911) by @malwilley
- fix(compact-select): Prevent CompactSelect from stealing focus back to itself after clicking into another element (#72883) by @malwilley
- fix(spans): Return all queried span tags (#72937) by @Zylphrex
- chore(rrweb): bump rrweb ver to 2.23.0 (#72936) by @michellewzhang
- fix(replay): Fix error state quickly flashing when loading replay (#72823) by @billyvg
- feat(am2): Add project to the blended sample rate function (#72900) by @wmak
- Revert "perf(trace-explorer): Service Entry spans always have group 0 (#72817)" (9ebd80d3) by @getsentry-bot
- feat(insights): add has_insights_xx span project flags (#72904) by @KevinL10
- chore(hybridcloud) Merge frontend-domains feature into multi-region (#72714) by @markstory
- fix(ui) Fix broken redirect on org rename (#72906) by @markstory
- ref: fix types for integrations tasks (#72898) by @asottile-sentry
- ref: fix types for various tasks (#72899) by @asottile-sentry
- ref: remove unused utils.canonical (#72774) by @asottile-sentry
- ref: fix types in org provisioning (#72896) by @asottile-sentry

_Plus 659 more_

24.5.1
------

### Various fixes & improvements

- ref(messaging): Removing Integration Namespace Imports (#72033) by @iamrajjoshi
- ref(js): Fix a few biome warnings (#72048) by @evanpurkhiser
- feat(insights): show update SDK banner cache module (#72015) by @DominikB2014
- fix(spanMetrics): Don't mark avg as a percentile (#72046) by @wmak
- fix(new-trace): Fixing scrollbar offset. (#72029) by @Abdkhan14
- ref: fix types for sentry.utils.snowflake (#72019) by @asottile-sentry
- fix(contexts): Fix casing for known context (#72045) by @leeandher
- fix(related_issues): Prevent race condition (#72036) by @armenzg
- fix(traceview): Allow raw text on additional data when set (#72038) by @leeandher
- fix(insights): Fix flag name in Spans tab UI (#72039) by @0Calories
- ref(test): Remove location from context (#72028) by @evanpurkhiser
- feat(traces): Use new slice quantization from backend (#72034) by @k-fish
- fix(context): Address a few small context bugs (#72013) by @leeandher
- feat(self-hosted): Errors only self-hosted sidebar (#72012) by @hubertdeng123
- fix(relocation): Clean up relocation serializer (#71930) by @azaslavsky
- ref: remove wrapping RawEvent payload with CanonicalKeyView (#72010) by @asottile-sentry
- feat(similarity): Add read only flag to NN endpoint (#72021) by @jangjodi
- feat(remote-config): Add proxy endpoint for configurations (#71773) by @cmanallen
- chore(login): update the login banners (#72027) by @pevensentry
- fix(similarity): use get_primary_hash in backfill (#72022) by @JoshFerge
- feat(empty-states): Update arcade for issue stream empty state (#72024) by @roggenkemper
- Revert "ref(replays): update videoReplayer code to match new rrweb logic & bump rrweb version (#71875)" (7ed3a135) by @getsentry-bot
- feat(profileHours): Add profile hours to org stats (#71882) by @scttcper
- feat(contexts): Add laravel as known platform context (#72008) by @leeandher

_Plus 786 more_

24.5.0
------

### Various fixes & improvements

- Revert "fix(staff): Prevent fetching authenticators before preloading (#70938)" (2d7dcff0) by @getsentry-bot
- feat(metrics): Add custom metrics banner (#70946) by @matejminar
- feat(metrics): Register guide (#70948) by @matejminar
- chore(issues): Add flag for resolve in upcoming release (#70898) by @roggenkemper
- chore(generic-metrics): Add new options to toggle dropping percentiles (#70889) by @ayirr7
- fix(slack): don't raise RuntimeError if unable to fetch property in slack request (#67798) by @cathteng
- Revert "nit: Remove authenticators from state (#70365)" (c946f52a) by @getsentry-bot
- feat(performance): Adds error rate to queues module (#70883) by @edwardgou-sentry
- feat(related_issues): Support passing an event_id to the endpoint (#70878) by @armenzg
- dev(similarity): add more telemetry to backfill (#70947) by @JoshFerge
- fix(issues): Fix missing retries configuration (#70907) by @mrduncan
- chore(metrics): rollout feature flag (#70940) by @obostjancic
- feat(trace-explorer): Supports metrics min/max (#70920) by @Zylphrex
- feat(performance): queues module table sorting (#70817) by @edwardgou-sentry
- feat(metrics): Default custom metric + dismiss empty state (#70936) by @matejminar
- ref: improve devimports test (#70926) by @asottile-sentry
- ref(insights): abstract ScreenLoadSpanSamples side panel for mobile modules (#70890) by @KevinL10
- fix(staff): Prevent fetching authenticators before preloading (#70938) by @schew2381
- fix(api): Update Endpoint so it Returns 404 as a `status_code` (#70918) by @iamrajjoshi
- Hook up `peanutbutter` as an LPQ backend (#69187) by @Swatinem
- ref(insights): Declare module base URLs as constants (#70861) by @gggritso
- fix(metrics): copy code location (#70932) by @obostjancic
- chore(metrics): remove meta datetime param (#70928) by @obostjancic
- ci: reduce time running codecov (#70885) by @giovanni-guidini

_Plus 747 more_

24.4.2
------

### Related Issues - V1 (ongoing)

This will include same-root and trace-connected issues.

By: @armenzg (#69670, #69693, #69237)

### Various fixes & improvements

- feat(traces): Add multiple queries for trace search (#69929) by @k-fish
- feat(api-idorslug): Rename Path paramaters to `project_id_or_slug` (#69716) by @iamrajjoshi
- ref(rules): Handle action match in delayed rule processor (#69797) by @ceorourke
- ref(crons): Improve typing on MONITOR_CODEC (#69919) by @evanpurkhiser
- reF(ui): Use Link component for performance/cache/tables/transactionCell (#69906) by @evanpurkhiser
- feat(replay): Refetch the viewed-by data after an update to it (#69357) by @ryan953
- fix: no attribute error (#69908) by @nhsiehgit
- feat(user): Add option to only return verified emails from verify_user_emails (#69812) by @davidenwang
- ref(py): Update monitor_consumer to handle FilteredPayload (#69904) by @evanpurkhiser
- ref: fix BytesWarning in last_seen_updater (#69909) by @asottile-sentry
- ref(crons): Remove decode compat code (#69905) by @evanpurkhiser
- ref(app-starts): Generalize screen table component (#69839) by @narsaynorath
- ref(profiling): preserve colors when highlighting (#69912) by @JonasBa
- fix(trace): track data quality from frontend (#69907) by @JonasBa
- fix(project-release): POST should not call Snuba (#69831) by @sentaur-athena
- fix(trace): use the same resize icon (#69869) by @JonasBa
- feat(ui): Remove lazy renderer component prop (#69823) by @scttcper
- ref(js): Use Link component in spanDescriptionLink (#69897) by @evanpurkhiser
- feat(ui): Tag sentry events with concurrent mode (#69819) by @scttcper
- ref: maxminddb module is always available, GEOIP_PATH_MMDB attr always present (#69902) by @asottile-sentry
- fix(trace): remove click outside (#69862) by @JonasBa
- ref(ui): Use Link component in performance http/tables/transactionCell (#69891) by @evanpurkhiser
- ref(ui): Use Button for "Change Photo" (#69901) by @evanpurkhiser
- feat(crons): Add ability dispatch clock ticks to kafka (#69896) by @evanpurkhiser

_Plus 478 more_

24.4.1
------

### Various fixes & improvements

- ref(search): normalize parsed values (#69198) by @JonasBa
- deps(ui): Upgrade webpack dev server, terser (#69150) by @scttcper
- chore(hc): Handles sentry app permission check where org is not found (#69175) by @GabeVillalobos
- chore(feature): Clean up released features that use `OptionBackedRolloutFeatureHandler` in getsentry (#69168) by @wedamija
- feat(crons): Send assignee to issue platform (#69160) by @wedamija
- ref(profiling): add deny list check when ingesting function metrics for a given project (#69180) by @viglia
- ref(replays): show network tab under ff (#69171) by @michellewzhang
- feat: Add Activated Alert Rules to alert rule index (#69124) by @nhsiehgit
- Feat: Enable activated alert creation via alert rule form (#68959) by @nhsiehgit
- test(ui): Add test for GH-69143 (#69149) by @evanpurkhiser
- fix(issues): Fix title of unlabeled errors (#69195) by @matejminar
- feat(trace): add shortcuts button (#69188) by @JonasBa
- ref(trace): fix formatter (#69185) by @JonasBa
- fix(grid-editable): adjust resizer height (#69190) by @obostjancic
- ref(search) case insensitive grammar (#69146) by @JonasBa
- fix(consumers): Handle passed in cluster overrides (#69112) by @rgibert
- ref(related_issues): Minor code refactoring before feature work (#69137) by @armenzg
- Enable queries using project slug as filter and groupby in Metrics API (#69111) by @shellmayr
- feat(perf): Minor fixes to Requests view I (#69156) by @gggritso
- fix(ddm): Add message to the block metric confirm modal (#69184) by @matejminar
- feat(combo-box): Make it feel more like a select (#69087) by @ArthurKnaus
- chore(replay): add ff for enabling network tab for mobile replays (#69166) by @michellewzhang
- ref(replay): Cleanup old session-replay-trace-table experiment (backend) (#68822) by @ryan953
- feat: improved user auth tokens (#68148) by @mdtro

_Plus 182 more_

24.4.0
------

### Various fixes & improvements

- Revert "ref(stories): Collapse `app` root (#68939)" (13dcc607) by @getsentry-bot
- feat(ui): Add `actor` to delegating Avatar component (#68933) by @evanpurkhiser
- ref(ui): Consolidate TeamBadge (#68927) by @evanpurkhiser
- ref(stories): Improve types on TreeMapping (#68940) by @evanpurkhiser
- ref(stories): Collapse `app` root (#68939) by @evanpurkhiser
- feat(perf): Use `@sentry/status-page-list` for domain status link (#68899) by @gggritso
- deps(ui): Update react-router to latest v3, create-react-class (#68926) by @scttcper
- fix(trace): fix drawer bg color (#68934) by @JonasBa
- feat(issue-details): Revise Context UI behind feature flag (#68081) by @leeandher
- Revert "feat(replay): Persist has-viewed state to the server when replays are seen (#68743)" (ad312261) by @getsentry-bot
- feat(perf): Bump "Requests" module from "Alpha" to "Beta" (#68930) by @gggritso
- feat(perf): Adjust HTTP sample table column widths (#68901) by @gggritso
- chore(self-hosted): 24.3.0 release tests (#67091) by @hubertdeng123
- deps(ui): Remove react-test-renderer (#68929) by @scttcper
- fix(trace): fix text overlaps (#68928) by @JonasBa
- fix(replay): Fix canvas replays when seeking without actively playing (#68646) by @billyvg
- fix(perf): Link Response module domains to a specific project (#68905) by @gggritso
-  chore(issues): Remove legacy browser flag from BE  (#67717) by @leeandher
- ref(uI): Cleanup unused ts-ignore after update (#68924) by @scttcper
- fix(replay): Fixes type error if same param is in url (#68851) by @c298lee
- fix(bug): logging bug (#68919) by @ykamo001
- fix(crons): Update slug in quotas when deleting monitors (#68917) by @evanpurkhiser
- chore(relocation): Add server-side Sentry capture logging (#68906) by @azaslavsky
- feat(replays): Delete videos on replay delete request (#68463) by @cmanallen

_Plus 1311 more_

24.3.0
------

### Various fixes & improvements

- ref(rules): Translate int minutes to words (#67021) by @ceorourke
- fix(rate_limits): Remove special rate limits for group_index (#66730) by @volokluev
- fix(replays): Drop and log click events with negative node-ids (#66993) by @cmanallen
- ref: fix typing in sentry.testutils.factories (#67046) by @asottile-sentry
- fix(discord): Add more unactionable status codes to ignore from slo (#66903) by @17hogeju
- fix(hybridcloud) Deliver payloads concurrently (#66870) by @markstory
- fix(tests): skip flaky test (#67047) by @scefali
- ref(escalating): Remove TODOs from forecast task (#66889) by @jangjodi
- feat(replays): move full replay button (#67014) by @scefali
- fix(webvitals): drop fid column from page overview samples table (#66998) by @edwardgou-sentry
- ref: remove unused strip_toplevel from safe_extract_zip (#67011) by @asottile-sentry
- chore(hybridcloud) Remove outbox based webhooks (#66158) by @markstory
- chore(processing) remove unused settings (#66967) by @markstory
- feat(metric-stats): Add metric_stats generic metrics namespace (#66955) by @Dav1dde
- feat(metrics): Add React Native onboarding (#66960) by @krystofwoldrich
- feat(metrics): Add metrics onboarding for Android and Java (#67033) by @markushi
- perf: add tracing to nodestore (#67002) by @anonrig
- ref(projconfig): Fix typo in instrumentation in span op (#67035) by @iker-barriocanal
- fix: disallow inviting Admin user if team-level roles are enabled (#66836) by @oioki
- ref(projconfigs): Add more instrumentation (#66957) by @iker-barriocanal
- feat(ddm): Add custom_metrics_access organization flag (#66953) by @iambriccardo
- chore(ddm): add sidebar item flag (#66951) by @obostjancic
- fix(issue-priority): Remove box shadow from priority dropdown (#67031) by @malwilley
- ref(replay/issues): link full replay to errors tab from rage click issue (#67030) by @michellewzhang

_Plus 1307 more_

24.2.0
------

### Various fixes & improvements

- Revert "build: update redis and remove redis-py-cluster (#64711)" (c699781d) by @getsentry-bot
- rename issue_alert creators (#65207) by @nhsiehgit
- ref(similarity-embedding): Move log (#65243) by @jangjodi
- build: update redis and remove redis-py-cluster (#64711) by @anonrig
- feat(metrics_extraction): user_misery to fall back to Discover (#65232) by @armenzg
- build: optimize extract-ios-device-names command (#65112) by @anonrig
- feat(trace): prevent back forward navigation (#65244) by @JonasBa
- feat(metrics): Support basic spans metrics examples (#65119) by @Zylphrex
- ref(similar-embeddings): Add shouldBeGrouped to diff analytics (#65235) by @jangjodi
- chore(issues): Revert-revert of deleting streamline-targeting-context (#65160) by @leeandher
- ref: use decode_responses=False for raw=True redis cache (#64885) by @asottile-sentry
- fix(profiling): fix measurement chart messaging (#65237) by @JonasBa
- ref: replace trivial uses of utcnow with tz-aware now (#65085) by @asottile-sentry
- feat(hybridcloud) Add a metric for webhook saves (#65185) by @markstory
- feat(ddm): sample tooltip prefix (#65230) by @obostjancic
- fix(relay): Increase project config timeout (#65229) by @jjbayer
- fix(ddm): Add op to series name (#65231) by @ArthurKnaus
- chore(dashboards): remove inline widget editor (#65166) by @obostjancic
- feat(ddm): Prefix multi query series names (#65222) by @ArthurKnaus
- fix(ddm): Remove connected nulls (#65221) by @ArthurKnaus
- chore(stats): remove metrics (#65220) by @obostjancic
- feat(platforms): Add platform deno in BE (#65218) by @ArthurKnaus
- feat(ddm): Multi query chart (#65217) by @ArthurKnaus
- chore(dashboards): remove custom metrics from widget builder (#65156) by @obostjancic

_Plus 207 more_

24.1.2
------

### Various fixes & improvements

- ref(api): Make processing team endpoints private (#63939) by @loewenheim
- feat(issue-priority): Add priority column to issue stream (#64820) by @malwilley
- Revert "ref: upgrade hiredis  (#64789)" (782b0f44) by @getsentry-bot
- feat(issue-details): Show static replay when error is not within the replay (#64827) by @malwilley
- ref(sdk): Remove excessive json.loads spans (#64883) by @k-fish
- fix(integrations): phabricator host validation (#64882) by @oioki
- feat(integrations): Autofill project in selector after project creation modal (#64791) by @roggenkemper
- ref(replay): remove 'new' badge from selector widgets & tab (#64848) by @michellewzhang
- fix(replays): check before attempting to load in onboarding doc (#64842) by @michellewzhang
- fix(ddm): Handle all and my projects (#64877) by @ArthurKnaus
- ref: upgrade hiredis  (#64789) by @asottile-sentry
- fix(replays): Move code requiring exception-prone variables into try block (#64658) by @cmanallen
- Sprinkle some tracing around more `save_event` functions (#64869) by @Swatinem
- fix(ddm): Focused series backwards compatibility (#64868) by @ArthurKnaus
- ref: Add option to throttle proguard processing (#64866) by @loewenheim
- ref(similarity-embeddings): Remove unused organization level flag (#64815) by @jangjodi
- ref: upgrade psycopg2-binary (#64809) by @asottile-sentry
- fix(ddm): Global loading state on zoom (#64861) by @ArthurKnaus
- fix(ddm): project param rename (#64860) by @obostjancic
- fix(ddm): Clicking chart hides tooltip (#64859) by @ArthurKnaus
- feat(ddm): Multiple focused series (#64855) by @ArthurKnaus
- feat(ddm): Add new metrics/query endpoint base code (#64785) by @iambriccardo
- feat(stats): metrics stats (#64790) by @obostjancic
- ref(feedback): add analytics for mark as spam buttons (#64850) by @michellewzhang

_Plus 606 more_

24.1.1
------

### Various fixes & improvements

- feat(issue-details): Add URL and breadcrumbs sidebar to issue replay when in fullscreen mode (#63920) by @malwilley
- ref(open-pr-comments): include affected users in javascript comments (#63909) by @cathteng
- fix(ai-ml): Fix ai feature PII check for isStaff users (#63958) by @jennmueng
- fix(self-hosted): Try dynamically setting CSRF_TRUSTED_ORIGINS (#63908) by @hubertdeng123
- fix(ai-autofix): Fix ai autofix release lookup (#63926) by @jennmueng
- fix(feedback): update comments signal tooltip (#63953) by @michellewzhang
- ref(feedback): expand `sentryAppIssues`  instead of endpoint call (#63952) by @michellewzhang
- chore(api): Remove mocks from API helper invite tests (#63892) by @leeandher
- fix(perf): Generate instrumentation gap spans before spans groups (#63531) by @gggritso
- ref(api): Delete unnecessary `start_transaction` call in `project_configs.py` (#63948) by @szokeasaurusrex
- feat(sdks): update js sdk to 7.98.0 (#63891) by @edwardgou-sentry
- ref/tests(metrics_extraction): Reduce changes when adjusting spec versions (#63947) by @armenzg
- fix(hybridcloud) Use record deletion to clear delivered outbox (#63890) by @markstory
- feat(replay): Allow clicking on the circles in the replay timeline (#63887) by @ryan953
- feat(feedback): Add comments icon to feedback list items (#63903) by @ryan953
- fix(feedback): Only show URL when crash reports have a value, or its a feedback from the widget (#63901) by @ryan953
- ref(ddm): replace types with interfaces (#63944) by @obostjancic
- chore(cardinality): Add cardinality limiter mode option (#63942) by @Dav1dde
- feat(issues/feedback): allow `sentryAppIssues` to be expanded (#63905) by @michellewzhang
- chore(spans): Option for span usage metric (#63934) by @jjbayer
- ref(ddm): Split utils (#63933) by @ArthurKnaus
- ref(ddm): Adapt metadata to new folder structure (#63938) by @iambriccardo
- fix(ddm): useNewMetricsLayer param (#63937) by @obostjancic
- ref(ddm): Rename the files for metrics metadata (#63931) by @iambriccardo

_Plus 517 more_

24.1.0
------

### Various fixes & improvements

- feat(ddm-onboarding): Add dotnet instructions (#63194) by @ArthurKnaus
- fix(hybridcloud) Add org slug route for prompts-activity (#63122) by @markstory
- Fix typo in symx metrics (#63201) by @Swatinem
- chore(app-start): Add screen total referrer (#63192) by @narsaynorath
- ref(metrics_extraction): Metric spec versioning preparation (#63114) by @armenzg
- feat(ds): Only show Get Samples if org is dynamically sampled (#63193) by @matejminar
- feat(ddm-onboarding): Add js server instructions (#63189) by @ArthurKnaus
- chore(ddm): remove addWidgets functionality (#63188) by @obostjancic
- feat(ddm): new query default (#63187) by @obostjancic
- feat(ddm-onboarding): Add electron instructions (#63186) by @ArthurKnaus
- ref(ddm): Disable DDM via env var (#63178) by @jan-auer
- profiling(ref): specify int type for profiling.flamegraph.profile-set.size option (#63175) by @viglia
- feat(ddm): Move settings out of metrics selector (#63104) by @matejminar
- fix(flutter-web): hide unactionable missing source context errors (#62998) by @buenaflor
- ref(profiling): add option to handle the size of the profiles set to compute the flamegraph (#63112) by @viglia
- fix(self-hosted): Superuser can set options in self-hosted (#63068) by @hubertdeng123
- feat(partnerships): adding org slug to agreement component (#63156) by @sentaur-athena
- feat: apitoken last characters option (#62972) by @mdtro
- fix: remove lodash/find usages (#63150) by @anonrig
- fix(performance): simplify `extractSpanURLString` method (#63153) by @anonrig
- ref(escalating issues): Remove backend feature flag references (#63036) by @ceorourke
- fix: remove lodash/flatmap usages (#63149) by @anonrig
- fix(events): remove lodash/assign usage (#63148) by @anonrig
- fix(webVitals): remove lodash/toUpper usage (#63146) by @anonrig

_Plus 677 more_

23.12.1
-------

### Various fixes & improvements

- migrations(crons): Add is_muted to MonitorEnvironment (#62115) by @rjo100
- chore(logs): Remove logging for entire response object (#62123) by @leeandher
- ref: factor out our remaining pkg_resources usages (#62084) by @asottile-sentry
- ref: upgrade jsonschema (#62087) by @asottile-sentry
- Revert "ref: upgrade to python 3.11 (#59730)" (f3ad67ad) by @getsentry-bot
- fix(integrations) Make social auth user update silo safe (#62092) by @markstory
- fix(hybridcloud) Return early when we can't find organizations (#62126) by @markstory
- profiling: test idle callback finish strategy (#62171) by @JonasBa
- Revert "test(backup): Remove @targets decorator and improve assert message (#61719)" (2f81e776) by @getsentry-bot
- ref(tests): Remove TestStubs from contextPickerModal, customResolutionModal, debugMeta (#62132) by @billyvg
- chore: remove lodash usages (#61593) by @anonrig
- ref: upgrade to python 3.11 (#59730) by @asottile-sentry
- Revert "feat(replays): Remove scalar query optimization (#61815)" (08821e13) by @getsentry-bot
- feat(ddm): Handle dashboard naming collision (#62163) by @ArthurKnaus
- feat(ddm): Explicitly pass codeLocations to the ddm/meta endopint (#62155) by @iambriccardo
- fix(ddm): Metrics meta stale time (#62162) by @ArthurKnaus
- feat(ddm): Update PHP onboarding docs link (#62159) by @ArthurKnaus
- fix(ddm): Grouped chart crashing without data (#62158) by @ArthurKnaus
- feat(ddm): Add PHP onboarding (#62156) by @ArthurKnaus
- fix(onboarding-docs): Prism console warning language text (#62154) by @ArthurKnaus
- feat(setting): Add audit log to add team (#62129) by @ykamo001
- fix(open-pr-comments): template nits (#62130) by @cathteng
- fix(suspect-commits): Fix code mapping for files without a slash (#61896) by @malwilley
- feat(replays): Add click.react_component_name as searchable field (#62027) by @cmanallen

_Plus 100 more_

23.12.0
-------

### Various fixes & improvements

- fix(craft): Set craft artifact provider to none (#62001) by @hubertdeng123
- fix(starfish): Obey `utc` URL parameter (#61963) by @gggritso
- ref(stats-detectors): Move classes for better imports (#61959) by @Zylphrex
- feat(devserver) Bake in options to streamline devserver + ngrok (#61953) by @markstory
- feat(replays): Remove scalar query optimization (#61815) by @cmanallen
- fix(ddm): display all code locations (#61994) by @obostjancic
- ref: upgrade to python 3.9 (#36860) by @asottile-sentry
- feat(ddm): Move feedback button to header (#61997) by @ArthurKnaus
- feat(inbound-filters): Relax pattern for matching ChunkLoadError(s) (#61988) by @iambriccardo
- feat(discover): Add support for p90 in discover (#61990) by @iambriccardo
- feat(ddm): Rename ddm to metrics (#61993) by @matejminar
- fix(ddm): code location copy event propagation (#61987) by @obostjancic
- feat(alerts): fade out custom percentiles (#61926) by @obostjancic
- Fix Craft publish (#61982) by @chadwhitacre
- ref(crons): Move tolerance fields out in monitor form (#61807) by @davidenwang
- fix(replay): Fix alignment of FeatureBadge in Replay Details tabs (#61970) by @ryan953
- feat(backup): Add creator/owner email/username to GET /relocations/ (#61969) by @azaslavsky
- feat(crons): Sort DISABLED monitors to the end (#61950) by @evanpurkhiser
- nit: Allow skipping scope_list argument in util func (#61967) by @schew2381
- feat(staff): Create initial staff class for _admin mode (#61653) by @schew2381
- Revert "ref: remove self-hosted cloudbuild (#61727)" (ae39b423) by @getsentry-bot
- feat(spans): Groundwork for indexed spans tests (#61766) by @wmak
- fix(user token): Stop leaking API token (#61941) by @ykamo001
- fix(slack); Check for existence of org_context (#61966) by @ceorourke

_Plus 934 more_

23.11.2
-------

### Various fixes & improvements

- feat(notifications): replace logic for bulk settings update (#60502) by @scefali
- ref(notifications): remove some unused hybrid cloud service methods (#60488) by @scefali
- fix(backup): Fix various small import and comparison bugs (#60593) by @azaslavsky
- fix(alerts): Chart query overflowing container in alert details (#60597) by @ArthurKnaus
- fix(perf): Allow `null` size fields in span waterfall (#60601) by @gggritso
- ref(notifications): remove unused notification manager methods (#60493) by @scefali
- ref(notifications): stop using update settings tests p2 (#60500) by @scefali
- ref(notifications): modify legacy option code (#60437) by @scefali
- ref(notifications): stop using update settings in unsubscribe context (#60445) by @scefali
- fix(ddm): invalid mri message (#60599) by @obostjancic
- feat(resources): Add link to resource summary from waterfall (#60557) by @AbhiPrasad
- chore(perf-web-vitals-widget): Updated description. (#60598) by @Abdkhan14
- ref(webvitals): Support for using stored performance scores (#60397) by @edwardgou-sentry
- chore(codeowners): add ddm owners (#60588) by @obostjancic
- ref(charts): Use `GranularityLadder` class to get chart intervals (#60374) by @gggritso
- feat(starfish): Fetch better releases in the selector (#60563) by @shruthilayaj
- feat(profiling): add copy function source button (#60468) by @JonasBa
- fix(hybrid-cloud): Fix cross-silo access on issue creation (#60595) by @leeandher
- chore(hybridcloud) Move email reply tasks to a dedicated queue (#60560) by @markstory
- fix(hybridcloud) Remove externalactor.actor_id (#60548) by @markstory
- perf(charts): refactor baseChart (#60411) by @JonasBa
- fix(metrics): Refine text contents for investigation rule notification (#60590) by @RaduW
- ref(profiling): remove old call tree table (#60052) by @JonasBa
- feat(ddm): spans use case (#60587) by @obostjancic

_Plus 111 more_

23.11.1
-------

### Various fixes & improvements

- chore(stats-detectors): Remove feature flag from root cause analysis … (#60408) by @Zylphrex
- ref(hybrid-cloud): Removes unused onboarding task handling (#60337) by @GabeVillalobos
- ref(notifications): remove UserNotificationSettingsDetailsEndpoint (#60302) by @scefali
- fix(browser-starfish): fix query main graphs on resource module (#60409) by @DominikB2014
- chore(stats-detector): Remove feature flag checks in regression issues (#60406) by @Zylphrex
- fix(backup): Handle multiple emails per user (#60404) by @azaslavsky
- test(hc): Stabilize ProjectUserFeedbackDocs (#60405) by @RyanSkonnord
- feat(open-source): Set feature flags for Open Source users (#59956) by @NisanthanNanthakumar
- fix(ci): Reduce the amount of test data that's stored (#60197) by @evanh
- feat(integrations): make sure stacktrace-link feature is set (#60326) by @scefali
- ref(stacktrace): Remove references to frame.errors (#60393) by @malwilley
- ref(feedback): update empty state illustration (#60399) by @michellewzhang
- ref(crons): Add project_id to monitor_validation_failed log (#60402) by @evanpurkhiser
- fix(browser-starfish): domain-filter not working (#60398) by @DominikB2014
- ref(notifications): stop providing organization_id_for_team argument (#60296) by @scefali
- test(hc): Fix bug in snapshot comparison with altered test class name (#60325) by @RyanSkonnord
- fix(browser-starifish): remove alpha badge resource module (#60392) by @DominikB2014
- ref: fix typing for avatar endpoints (#60319) by @asottile-sentry
- test(hc): Change inheritance from AlertRuleDetailsPutEndpointTest (#60331) by @RyanSkonnord
- ref(hc): Handle LazyObjects in serialize_generic_user (#60120) by @RyanSkonnord
- feat(open-pr-comments): comment template (#60317) by @cathteng
- fix(browser-starfish): cursor persisting when navigating between pages/filters (#60378) by @DominikB2014
- ref(codeowners): Adding wildcard to groupEventDetails (#60361) by @k-fish
- fix(recommended-event): Use event ID as tie breaker to match latest event (#60323) by @malwilley

_Plus 227 more_

23.11.0
-------

### Notification Settings 2.0 (ongoing)

By: @scttcper (#58638, #58615)

### Resource Module Internal (ongoing)

By: @DominikB2014 (#58939, #58937, #58891, #58785, #58768, #58792, #58770)

### Various fixes & improvements

- fix(wizard) Fix possibly unbound variable in setup wizard (#59934) by @markstory
- fix(starfish): Primary release can be undefined, check for it (#59993) by @shruthilayaj
- feat(webvitals): Check if ttfb exists to determine proper no data state (#59912) by @edwardgou-sentry
- feat(starfish): Highlight TTFD and link to docs when 0 (#59997) by @narsaynorath
- fix(stafish): Fix typo in variable name (#59988) by @gggritso
- feat(spans): Record resource spans for clustering (#58689) by @jjbayer
- feat(metric-extraction): validate specs (#59981) by @obostjancic
- ref(browser-starfish): use the shared domain selector in resource module (#59950) by @DominikB2014
- feat(database): "View Query Summary" links in span waterfall (#59785) by @gggritso
- chore(starfish): Rename breadcrumb, remove duplicate sidebar item (#59980) by @shruthilayaj
- feat(profiling): add differential flamegraph boilerplate to statistical issue (#59905) by @JonasBa
- feat(starfish): Use short release version and truncate (#59936) by @shruthilayaj
- Unrevert "fix(metrics-extraction): Explicitly set metric type for metrics querying (#59931)" (#59960) by @k-fish
- fix(email): alerts migration email text (#59975) by @obostjancic
- feat(metrics) Check max orgs per project limit when creating investigation rules (#59852) by @RaduW
- feat(ddm-alerts): Add force metrics layer params (#59974) by @ArthurKnaus
- fix(project-create): Use large icon variant in framework suggestion (#59969) by @ArthurKnaus
- ref: upgrade mypy to 1.7.0 (#59937) by @asottile-sentry
- Move metadata from `File` to `EventAttachment` (#59845) by @Swatinem
- Revert "feat(metric-extraction): validate specs (#59894)" (dc20e27c) by @getsentry-bot
- feat(metric-extraction): validate specs (#59894) by @obostjancic
- feat(ddm): Add option to forcefully use the new metrics layer (#59898) by @iambriccardo
- feat(open-pr-comments): get PR files (#59933) by @cathteng
- fix(feedback): Remove feedback item update on feedback list change (#59947) by @c298lee

_Plus 1016 more_

23.10.1
-------

### Various fixes & improvements

- fix(hybridcloud) Fix a queue silo assignment (#58386) by @markstory
- feat(migrations): Add new index to `IncidentTrigger` model (#58467) by @isabellaenriquez
- feat(suspect-commits): Remove suspect commit recalculation period (when all-frames is enabled) (#58415) by @malwilley
- fix(starfish): Pass webvital to charts in Webvitals module (#58517) by @edwardgou-sentry
- feat(hc): Add __str__ implementation for RpcUser (#58485) by @mrduncan
- Revert "feat(replays): Replay layout move start time (#58488)" (80e576dd) by @getsentry-bot
- Revert "feat(replays): Replay layout add breadcrumbs to fullscreen mode (#58466)" (7f6fe452) by @getsentry-bot
- feat(replays): Replay layout move start time (#58488) by @c298lee
- feat(replays): Replay layout add breadcrumbs to fullscreen mode (#58466) by @c298lee
- fix(alerts): use generic metrics dataset for on demand (#58510) by @obostjancic
- fix(on-demand): Fix p100 and percentiles (#58511) by @iambriccardo
- feat(dynamic-sampling):Add raw_query and user relation to custom_rules model (second try) (#58447) by @RaduW
- fix(alerts): on demand migration ui (#58508) by @obostjancic
- Revert "fix(alerts): Fix dataset selector width (#58499)" (#58501) by @ArthurKnaus
- fix(on-demand): p100 support (#58500) by @obostjancic
- fix(alerts): Fix dataset selector width (#58499) by @ArthurKnaus
- fix(on-demand): remove p90 (#58496) by @obostjancic
- feat(on-demand): conditionally show on-demand UI (#58330) by @obostjancic
- ref(escalating-issues): Change batch size to 100 (#58489) by @NisanthanNanthakumar
- Add Papercut label (ff80fbb5) by @chadwhitacre
- chore(replay): Cleanup DOM Tab test, before we remove the tab itself (#58486) by @ryan953
- feat(replay): Add Jump up|down buttons to all the Replay Details tables & lists (#58359) by @ryan953
- chore(agg-spans): Update language on span frequency (#58484) by @shruthilayaj
- fix(statistical-detectors): Feature flags in wrong place (#58483) by @Zylphrex

_Plus 209 more_

23.10.0
-------

### Discord Integration (ongoing)

By: @17hogeju (#57522)

### Notification Analytics Milestone 2 (ongoing)

By: @scttcper (#56700)

### Notification Settings 2.0 (ongoing)

By: @snigdhas (#57053, #56717, #56621)

### Various fixes & improvements

- feat(crons): Add cron monitor created metric (#58017) by @davidenwang
- ref(participants): Check for group list (#58204) by @ceorourke
- feat(hybridcloud) Fix silo issues in shared issue HTML view (#57978) by @markstory
- feat(sdk): Upgrade `@sentry` SDKs to v7.74.0 (#58198) by @billyvg
- test(backup): Create backup version snapshot tests (#58173) by @azaslavsky
- fix(hc): Silo fixes for alert rule actions (#58185) by @RyanSkonnord
- meta(crons): Update API help text (#58048) by @rjo100
- fix(ci): fix rate limit test (#58184) by @volokluev
- feat(ui): Throw error on non-json api responses (#58129) by @scttcper
- ref(bug reports): display name and email in list and details (#58087) by @michellewzhang
- chore(actionable-items): remove feature flag backend (#57934) by @roggenkemper
- update release threshold api routes (#58177) by @nhsiehgit
- feat(backup): Support import decryption (#58128) by @azaslavsky
- chore(alert-rule): Add jira server action to frontend enum (#58186) by @schew2381
- feat(metrics): Add new option to toggle reading from new cache schema for indexer (#58170) by @john-z-yang
- fix(hybridcloud) Assign control silo tasks to correct queues (#58112) by @markstory
- fix(feedback): Improve spacing between feedback list items (#58182) by @ryan953
- ref(bug reports): modify blueprint name and contact_email to reflect BE (#58083) by @michellewzhang
- fix(hc): Fix silo availability error in send_alert_event (#58044) by @RyanSkonnord
- ref(replay): Improve accessibility type names, and compat with replay frames (#58179) by @ryan953
- feat(notifications): adds backfill for weekly report settings (#58168) by @scefali
- feat(notifications): remove notification double write feature flag (#57863) by @scefali
- feat(discord): adds logging of discord errors (#58176) by @scefali
- fix(stat-detectors): Use 7 days for span analysis (#58096) by @narsaynorath

_Plus 1060 more_

23.9.1
------

### Various fixes & improvements

- fix(fly): return user with correct auth (#56523) by @sentaur-athena
- chore(api): Delete acceptance test for user tokens (#56537) by @schew2381
- fix(backup): Suppress verbose SQL error reporting (#56583) by @azaslavsky
- chore(github-growth): remove auto repo linking feature flag (#56581) by @cathteng
- docs: Create some stories for PageBanner (#56519) by @ryan953
- docs: Create a story for FeatureBadge (#56510) by @ryan953
- ref(ui): Refine featureDisabled prop type (#56538) by @scttcper
- migration(crons): Add MonitorIncident table (#56435) by @rjo100
- ref(escalating-issues): Auto-transition tasks should update up to 500_000 groups per minute (#56168) by @NisanthanNanthakumar
- chore(notifications): rename approval notifications to nudges in the UI (#56505) by @cathteng
- feat(trace-view-load-more): Added ui for loading longer traces. (#56476) by @Abdkhan14
- feat(starfish): add span domain array (#56494) by @wmak
- chore(profiling): Track accepted profile outcomes (#56575) by @Zylphrex
- feat(replay): Link page breadcrumb on Replay Details to the list page, filtered by project (#56574) by @ryan953
- feat(crons): Add mark_environment_missed task (#56528) by @rjo100
- fix(notifications): fixes bug for commited_only settings (#56518) by @scefali
- ref(ddm): datetime params (#56567) by @obostjancic
- chore(github-growth): stop writing to commitfilechange language column (#56491) by @cathteng
- chore(github-growth): more FE analytics (#56507) by @cathteng
- chore(hybrid-cloud): Mark extract_user_ids_from_mentions to be a region silo function (#56441) by @dashed
- feat(statistical-detectors): Integrate detector with breakpoint detection (#56384) by @Zylphrex
- feat(trace-view-load-more): Fixed bug that loads an extra row of orphans. (#56561) by @Abdkhan14
- fix(dashboards): Use loading indicator to avoid multiple requests (#56558) by @narsaynorath
- chore(hybrid-cloud): Stabilize issue integration defaults for split silo (#56297) by @dashed

_Plus 46 more_

23.9.0
------

### Notify on Disabled Integration  (ongoing)

https://www.notion.so/sentry/Tech-Spec-Notify-on-Disabled-Integration-Spec-e7ea0f86ccd6419cb3e564067cf4a2ef?pvs=4

By: @chloeho7 (#54286)

### save_event improvements (ongoing)

With the new 2023 grouping config, we started incurring a higher processing cost per saved event.
In order to bring it back under controlled a series of code changes will be perform to improve the understandability of the code and its performance.

By: @armenzg (#53643)

### Notification Analytics Milestone 2 (ongoing)

By: @scttcper (#56280, #56151, #56141, #55937, #55479, #55366, #54891, #54809)

### Various fixes & improvements

- feat(crons): Fan out `check_missing` task to each `monitor_environment` (#55924) by @rjo100
- fix(severity): Prevent skipping severity score when equal to zero (#56225) by @lobsterkatie
- docs(api): Clarify how to use id param in bulk delete issue endpoint (#56422) by @malwilley
- feat(perf): Add link to Database view to sidebar (#56341) by @gggritso
- chore(codeowners): update enterprise codeowners (#56487) by @cathteng
- fix(commits): use externalId in filechange and project release commits FE (#56146) by @cathteng
- fix(github-growth): improve performance of missing members API (#56477) by @cathteng
- fix(api): test symbol sources in DetailedProjectSerializer (#56473) by @cathteng
- feat(replay): Upgrade rrweb packages to v2 (#56088) by @billyvg
- fix(backup): Handle UserRole name collisions (#56479) by @azaslavsky
- logging(apis): better logging for api failures (#56432) by @scefali
- Release threshold folder imports nit (#56400) by @nhsiehgit
- docs: Document our loadingTriangle component (#56438) by @ryan953
- ref(tests): Split error event tests into classes (#56448) by @lobsterkatie
- fix(jira-server): try a second project for jira server if the first one fails (#56439) by @scefali
- ref(snuba-sdk): Update snuba-sdk version to latest 2.0.1 (#56419) by @enochtangg
- fix(actionable-items): Remove source map debug from actionable items (#56405) by @roggenkemper
- feat(save_event): Always use cache for stacktrace processing (#56413) by @armenzg
- feat(stat-detectors): Add param to fetch all tags (#56434) by @narsaynorath
- feat(ddm): support for 1m interval (#56467) by @obostjancic
- fix(minimetrics): Fix broken recursion detection (#56466) by @mitsuhiko
- ref(typing): Few typing changes for sentry.snuba.metrics (#56397) by @armenzg
- ref(sentry-sdk): Upgrade SDK (#56461) by @mitsuhiko
- feat(ddm): Add metrics explorer from getsentry (#56460) by @matejminar

_Plus 1078 more_

23.8.0
------

### Notify on Disabled Integration  (ongoing)

https://www.notion.so/sentry/Tech-Spec-Notify-on-Disabled-Integration-Spec-e7ea0f86ccd6419cb3e564067cf4a2ef?pvs=4

By: @chloeho7 (#54734, #54655, #54589, #54640, #54466, #54348, #54339, #53522, #54234)

### Notification Analytics Milestone 2 (ongoing)

By: @scttcper (#54744)

### Various fixes & improvements

- (fix): user creation for self-hosted clean installs (#54776) by @hubertdeng123
- fix(replays): remove replay from desktop and mobile projects (#54749) by @michellewzhang
- ref: add mypy stubs for django-csp (#54786) by @asottile-sentry
- chore(hybrid-cloud): Update OrganizationAuditLogsEndpoint to be a control silo endpoint (#54755) by @dashed
- fix: ensure PYTEST_DEBUG_TEMPROOT exists (#54725) by @joshuarli
- ref(replays): Update replay pages to show project name (#54728) by @c298lee
- chore(codeowners): Update codeowners with project creation files (#54774) by @schew2381
- feat(commit-context): Do not create if older than 1 year (#54624) by @NisanthanNanthakumar
- feat(backup): Support foreign key remapping (#54610) by @azaslavsky
- feat(tracing-without-performance): Replay compatibility and ui improvements. (#54700) by @Abdkhan14
- fix(crons): Add border back to non-sticky timeline header (#54770) by @davidenwang
- ref: upgrade datadog to a typed version (#54758) by @asottile-sentry
- ref(crons): Remove temp_task_dispatcher (#54768) by @evanpurkhiser
- fix(metrics-layer): Add xfailing metrics layer sort test (#54712) by @wmak
- ref(query-builder): Cleanup query_framework code (#54586) by @wmak
- ref(statistical-detectors): Clean up statistical detectors calculation (#54694) by @Zylphrex
- fix(crons): Add className parameter to timeline components (#54769) by @davidenwang
- ref(ui): Enhance Carousel component (#54747) by @evanpurkhiser
- Feat/opt automator add region (#54631) by @kneeyo1
- sample-event: try synchronous kafka producing (#54748) by @JoshFerge
- ref(alerts): Don't pass "name" field (#54739) by @ceorourke
- chore(issues): Cleanup apply_rule logs and add some more for regressions (#54455) by @snigdhas
- feat(crons): Implement fallback clock pulse task (#54647) by @evanpurkhiser
- fix(actionable-items): Add scraping as hidden error (#54648) by @roggenkemper

_Plus 424 more_

23.7.2
------

### Notify on Disabled Integration  (ongoing)

https://www.notion.so/sentry/Tech-Spec-Notify-on-Disabled-Integration-Spec-e7ea0f86ccd6419cb3e564067cf4a2ef?pvs=4

By: @chloeho7 (#54001)

### save_event improvements (ongoing)

With the new 2023 grouping config, we started incurring a higher processing cost per saved event.
In order to bring it back under controlled a series of code changes will be perform to improve the understandability of the code and its performance.

By: @armenzg (#53645, #53541)

### Various fixes & improvements

- feat(tracing-without-performance): Returned orphan errors with trace … (#54103) by @Abdkhan14
- feat(profiling): use color pallete on chart (#54101) by @JonasBa
- feat(issue-platform): Add an experimental frame drop issue type (#54028) by @phacops
- feat(backup): Add DateAddedComparator (#54009) by @azaslavsky
- feat(opsgenie): refactor validation (#53996) by @mifu67
- Declare events.save_event_highcpu queue (#54041) by @hubertsentry
- fix(escalating): Add reason to feedback analytic (#54082) by @scttcper
- deps(ui): Update jest dependencies (#54065) by @scttcper
- feat(discord): Add metrics (#54072) by @spalmurray
- fix(starfish): Handle free text search (#54060) by @wmak
- fix(github-comments): update comment copy (#54104) by @cathteng
- fix(most-helpful-event): One event dropdown disabled (#54070) by @17hogeju
- feat(most-helpful-event): Add option in user settings to change default issue event (#54048) by @17hogeju
- ref(metrics-layer): Test the span metric charts too (#54045) by @wmak
- fix(metrics-layer): Incorrect metrics layer tests (#54046) by @wmak
- fix(notification-actions): allow org and team admins to modify (#53797) by @cathteng
- ref(starfish): Show 3 significant digits for queries per minute try 2 (#54100) by @AbhiPrasad
- ref(hc): Mark silo stable tests stable (#54074) by @mrduncan
- feat(profiling): add react native onboarding wizard (#54096) by @JonasBa
- fix(mypy): fix mypy errors for src/sentry/api/serializers/models (part 1) (#53905) by @hubertsentry
- Revert "ref(starfish): Show 3 significant digits for queries per minute (#54033)" (dd75a2cb) by @getsentry-bot
- ref(starfish): Show 3 significant digits for queries per minute (#54033) by @AbhiPrasad
- chore(grouping): Kill grouping levels endpoints (#54073) by @lobsterkatie
- xfail flakey test (#54081) by @JoshFerge

_Plus 400 more_

23.7.1
------

### Escalating Issues V1 (ongoing)

This will allow marking an issue as archived until escalating.

By: @scttcper (#53011)

### Escalating Issues V2 (EA) (ongoing)

This is a placeholder milestone for tracking post-v1 work for escalating issues.
See the RFC: https://github.com/getsentry/rfcs/blob/main/text/0078-escalating-issues.md
There's also discussions about escalation in here:
https://github.com/getsentry/sentry/discussions/43039

V2 will focus on moving ongoing issues (upcoming) into the state archived-until-escalating after an issue being in the `ongoing` state for 14 days.


By: @snigdhas (#52774)

### Various fixes & improvements

- chore(replay): Remove unicode from slack View Replays link (#53518) by @ryan953
- feat(starfish): Replaces usage of p95 in the Database Module with avg (#53515) by @edwardgou-sentry
- Revert "feat(profiling): Deobfuscate Android methods' signature (#53427)" (af3ae3b7) by @getsentry-bot
- feat(integration-slack): store request error counts and disable on broken (#52994) by @chloeho7
- ref(grouping): Clean up message normalization (#53479) by @lobsterkatie
- ref(projects): Redirect after project transfer (#53466) by @ceorourke
- feat(secrecy): enable data secrecy for organizations (#53322) by @cathteng
- feat(perf-detector-threshold-configuration) Added option for new Cons… (#53461) by @Abdkhan14
- fix(ci): Increase codecov `comment.after_n_builds` value (#53488) by @lobsterkatie
- test(ui): Reset api mocks between EventDetails tests (#53497) by @scttcper
- ref(hybrid-cloud): Fix a few tests in split silo mode (#53482) by @mikejihbe
- feat(profiling): Deobfuscate Android methods' signature (#53427) by @phacops
- feat(perf-detector-threshold-configuration) Added new thresholds and … (#53460) by @Abdkhan14
- fix(starfish): clicking endpoint in span summary replaces groupId with 'db' in url (#53517) by @DominikB2014
- feat(starfish): add transaction.op:http.server to webservice queries (#53355) by @DominikB2014
- fix(starfish): add quotes around transaction name (#53516) by @DominikB2014
- ref(redis): Configure default 3s socket timeout (#53513) by @beezz
- feat(dynamic-sampling): Add project slug to response of AM2 check (#53514) by @iambriccardo
- feat(dnd-worldmap-removal) Added null checks for columns and fields. (#53475) by @Abdkhan14
- Implement ArtifactBundle flat file indexing (#53505) by @Swatinem
- chore(ts): Improve Starfish span metrics typing (#53453) by @gggritso
- ref(feature): Remove no longer used heartbeat feature flag (#53510) by @priscilawebdev
- ref(feature): Remove heartbeat feature (#53509) by @priscilawebdev
- feat(dynamic-sampling): Improve check am2 compatibility (#53414) by @iambriccardo

_Plus 399 more_

23.7.0
------

### Escalating Issues V2 (EA) (ongoing)

This is a placeholder milestone for tracking post-v1 work for escalating issues.
See the RFC: https://github.com/getsentry/rfcs/blob/main/text/0078-escalating-issues.md
There's also discussions about escalation in here:
https://github.com/getsentry/sentry/discussions/43039

V2 will focus on moving ongoing issues (upcoming) into the state archived-until-escalating after an issue being in the `ongoing` state for 14 days.


By: @snigdhas (#52360)

### Search Shortcuts (ongoing)

Make common searches more accessible and discoverable for users. [notion page](https://www.notion.so/sentry/Search-Shortcuts-fka-Assignee-Filter-on-Issue-Stream-648954e782d04805bc64f1983e5cbd16?pvs=4)

By: @scttcper (#52414, #52348)

### Various fixes & improvements

- test(hybrid-cloud): Stabilizes sentry app install tests (#53004) by @GabeVillalobos
- ref(saved search): Migrate betterPriority to priority (#52909) by @ceorourke
- ref(sort): Change betterPriority to priority (#52910) by @ceorourke
- feat(crons): Use timeout_at for timed out check-ins (#52570) by @rjo100
- ref(event_manager): Fix typing issues for event_manager (#52974) by @armenzg
- test(backup): Add more model tests (#52923) by @azaslavsky
- fix(replays): fix bin/mock-replays script (#52927) by @michellewzhang
- ref(crons): Change to uuid validator for trace (#52561) by @rjo100
- fix(crons): Properly checks for environment name lengths (#52820) by @rjo100
- feat(grouping): Add metrics for issue merging and unmerging (#52919) by @lobsterkatie
- chore(starfish): Adding referrers to starfish (#52749) by @wmak
- chore(starfish): Add starfish referrers to the backend (#52754) by @wmak
- ref(tsc): usageChart utils to tsx (#52935) by @IanWoodard
- chore(hybrid-cloud): Add tags to debug Identity service (#52997) by @dashed
- feat(starfish): Add unit and types for rates (#52991) by @wmak
- ref(replay): Refactor the "Next Breadcrumb" button to use *Frame types (#52931) by @ryan953
- fix(group-attributes): log metric when post_save.send(update_fields=["status", "subs"]) is called for group (#52996) by @barkbarkimashark
- fix(releases): Use query parameter when switching filters (#52937) by @scttcper
- fix(discord): Change log level from error to info for unauthorized interactions (#52946) by @spalmurray
- ref: fix typing for sentry.models.__init__ (#52992) by @asottile-sentry
- feat(replay): Render the replay currentTime & hoverTime inside the performance waterfall (#52890) by @ryan953
- feat(perf): Hide timing metrics on http (#52993) by @k-fish
- fix(issue-details): Fix react warning (#52907) by @roggenkemper
- fix(hybrid-cloud): Fixes tests for split DB mode app installs using transaction routing and silo annotations (#52932) by @GabeVillalobos

_Plus 434 more_

23.6.2
------

### Escalating Issues V1 (ongoing)

This will allow marking an issue as archived until escalating.

By: @scttcper (#51765, #51852, #52048, #51766, #51735, #51671, #51158, #51185, #51187)

### Grouping Release (2023-01-01 config)

Added new language/platform specific stack trace grouping enhancements rules that should make the default grouping experience better. This includes JavaScript, Python, PHP, Go, Java and Kotlin.

By: @armenzg (#51040)

### Search Shortcuts (ongoing)

Make common searches more accessible and discoverable for users. [notion page](https://www.notion.so/sentry/Search-Shortcuts-fka-Assignee-Filter-on-Issue-Stream-648954e782d04805bc64f1983e5cbd16?pvs=4)

By: @scttcper (#51564, #51565, #51194)

### Various fixes & improvements

- meta(routing) Sync with product-owners.yml in security-as-code@4447d434 (#52367) by @getsantry
- fix(ui): Set lazy calendar component type (#52381) by @scttcper
- chore(gh-comments): Drop pr window to 7 days for rollout (#51837) by @AniketDas-Tekky
- ref(autocomplete): convert test to tsx (#52357) by @JonasBa
- feat(functions): Tune function trends default threshold (#52346) by @Zylphrex
- fix(starfish): Time spent local was always querying light time spent (#52374) by @shruthilayaj
- ref(tests): convert test to tsx (#52368) by @JonasBa
- feat(slack): slack channel lookup via schedule message (#52034) by @chloeho7
- feat(crons): Change crons groupcategory name (#52037) by @rjo100
- feat(perf-detector-threshold-configuration) Added frontend changes for more threshold configurations. (#52262) by @Abdkhan14
- fix(hc): Prevent exception from siloed_atomic (#52326) by @RyanSkonnord
- feat(escalating-issues): Update MsTeams integration to use Group substates (#51756) by @NisanthanNanthakumar
- ref(crons): Remove references to crons-issue-platform flag (#52036) by @rjo100
- Ref(generic-metrics): set default for index-tag-values to False (#52370) by @john-z-yang
- feat(github-comments): use internal feature flag (#52002) by @cathteng
- fix(ui): Export named constants from forms (#52361) by @scttcper
- fix(mute-metric-alerts): Use incident link in metric alert emails for muting (#52363) by @roggenkemper
- feat(starfish): API module consistency and continuity updaes (#52347) by @edwardgou-sentry
- fix(mute-metric-alerts): Add query params to incident redirect (#52362) by @roggenkemper
- fix(github-comments): update option toggle copy (#52354) by @cathteng
- nit: Update fly build config (#52301) by @nhsiehgit
- ref: django 3.x does not pass None groups to views any more (#52341) by @asottile-sentry
- meta(routing) Sync with product-owners.yml in security-as-code@3d4fceac (#52355) by @getsantry
- ref: make app label an identifier (#52342) by @asottile-sentry

_Plus 790 more_

23.6.1
------

### Various fixes & improvements

- chore(hybrid-cloud): Fix get_webhook_payload_from_outbox classmethod (#51113) by @dashed
- ref(js): Convert access.spec to tsx (#51106) by @evanpurkhiser
- ref(js): Convert feature.spec to tsx (#51107) by @evanpurkhiser
- ref(js): Convert breadcrumbs.spec to tsx (#51109) by @evanpurkhiser
- ref(js): Convert dateTime.spec to tsx (#51111) by @evanpurkhiser
- fix(crons): Properly send fingerprint array through issue platform (#51103) by @rjo100
- ref(hc): Updates org deletion code to queue an org mapping outbox update (#51004) by @GabeVillalobos
- meta: Snuba team owns the post process forwarder (#51090) by @lynnagara
- ref: Remove dead code from post process forwarder (#51079) by @lynnagara
- ref: Remove spammy debug logs (#51001) by @untitaker
- fix: Use unified CLI for metrics indexer in devserver (#51046) by @untitaker
- feat(mute-metric-alerts): Add mute button to metric alerts page (#50967) by @roggenkemper
- fix(hc):  Serialize the organization via RPC to json (#51078) by @corps
- fix(compactSelect): Escape quotes inside option values (#51007) by @vuluongj20
- fix(hybridcloud) Drain outbox after transaction completes (#51059) by @markstory
- feat(gh-comments): Queuing Logic (#50865) by @AniketDas-Tekky
- Added pretty printing to dump command (#51065) by @kneeyo1
- chore(ui): Upgrade to typescript 5.1 (#51073) by @scttcper
- feat(crons): Add hover to rows (#51012) by @evanpurkhiser
- feat(ts): Add LinkButton alias (#51013) by @evanpurkhiser
- feat(starfish): Changes the web service view throughput chart to be a line chart (#51053) by @edwardgou-sentry
- fix(starfish): use span.self_time instead of span.duration (#51051) by @DominikB2014
- feat(debug): Add Metric Alert Trigger (#51060) by @roggenkemper
- fix(ui): Remove xAxis boundaryGap from profilingMeasurements (#51008) by @scttcper

_Plus 14 more_

23.6.0
------

### Escalating Issues V1 (ongoing)

This will allow marking an issue as archived until escalating.

By: @scttcper (#50456)

### Escalating Issues V2 (EA) (ongoing)

This is a placeholder milestone for tracking post-v1 work for escalating issues.
See the RFC: https://github.com/getsentry/rfcs/blob/main/text/0078-escalating-issues.md
There's also discussions about escalation in here:
https://github.com/getsentry/sentry/discussions/43039

V2 will focus on moving ongoing issues (upcoming) into the state archived-until-escalating after an issue being in the `ongoing` state for 14 days.


By: @scttcper (#50896)

### JS Project Cleanup (ongoing)

By: @scttcper (#50684, #50682, #50670)

### Various fixes & improvements

- fix(issues): Switch to item kind on search autocomplete (#51045) by @scttcper
- feat(consumer): Make max poll time configurable  (#51020) by @ayirr7
- fix(api) Don't fail on invalid queries to organization_teams endpoint (#51042) by @markstory
- feat(starfish): Cleanup (#50957) by @DominikB2014
- feat(hybridcloud) Run celery workers for each silo  (#50821) by @markstory
- fix(hybrid-cloud): Allow enums to serialize in RPC calls (#50913) by @mikejihbe
- ref: Make model cache replica db preference configurable (#51027) by @beezz
- fix(crons): Properly specify occurrence data (#50974) by @rjo100
- ref(starfish): Remove all references to scraped data SQL (#51033) by @gggritso
- feat(graphql): Add has_graphql_request analytics property to issue/event (#50949) by @malwilley
- fix(perf-issues): Require space in N+1 ext span description (#50994) by @mjq-sentry
- fix(starfish): issues table reloads when span type changes (#50970) by @DominikB2014
- feat(dynamic-sampling): Improve AM2 compatibility check (#51039) by @iambriccardo
- ref(replay): Deduplicate components used in Replay Details>Error & Network tabs (#50884) by @ryan953
- fix(traces): Return empty array when accessing offender span ids (#51037) by @narsaynorath
- feat(discover-tags): Add page_size and cursor to endpoint (#50971) by @narsaynorath
- fix(hybrid-cloud): Fix normalizeUrl (#51014) by @dashed
- feat(starfish): Switch use_case_id for spans (#50757) by @wmak
- fix(mocks) Fix load-mocks usage or OrganizationMember (#50942) by @markstory
- fix(profiling): Ensure there are symbolicated frames for profile (#50999) by @Zylphrex
- fix(starfish): Special cursor name for span table cursor (#50966) by @shruthilayaj
- feat(starfish): Span category chart error and loading status (#50946) by @shruthilayaj
- ref(starfish): Remove scraped data query fallbacks (#50972) by @gggritso
- fix(native/unreal): Don't overwrite a previously set event level (#50717) by @bitsandfoxes

_Plus 669 more_

23.5.2
------

### Escalating Issues V1 (ongoing)

This will allow marking an issue as archived until escalating.

By: @scttcper (#50020), @armenzg (#49907)

### Issue States and Filters (ongoing)

By: @scttcper (#49642, #49626, #49517, #49587, #49582)

### Various fixes & improvements

- feat(replay): Change min version in replay onboarding (#50072) by @billyvg
- bug(replays): Fix Replay Search box overflow/wrapping (#50074) by @ryan953
- feat(replays): add replay clicks field to replay index endpoint (#49873) by @JoshFerge
- fix(analytics): Change actor_id to user_id in slack status analytic (#49966) by @jangjodi
- dep(relay): Upgrade librelay to 0.8.25 (#50063) by @iker-barriocanal
- chore(HC): Remove org mapping write paths in preparation of organization mapping updates (#50015) by @GabeVillalobos
- feat(escalating-issues): Define analytic for escalating feedback (#50000) by @jangjodi
- chore(profiling): Add referrers to profiling queries frontend (#49923) by @Zylphrex
- feat(starfish) Hook up span view filter selectors to production data (#49987) by @gggritso
- fix(hybridcloud) Fix serialization errors in RPC responses (#49922) by @markstory
- feat(dashboar-widget-description) Added description field to Widget model (#49992) by @Abdkhan14
- fix(starfish) Small fixes to spans table (#50001) by @gggritso
- chore(profiling) Add referrers to profiling queries backend (#49924) by @Zylphrex
- Revert "ref(project_creation): Add project deletion to the go back button (#49844)" (fda9548a) by @getsentry-bot
- ref(sessionstorage): use wrapper (#50051) by @JonasBa
- ref(project_creation): Add project deletion to the go back button (#49844) by @priscilawebdev
- feat: Return how an artifact was resolved (#49959) by @loewenheim
- fix(clusterer): Fix clusterer datasource in test endpoint (#50040) by @iker-barriocanal
- ref(spans): Sample all discovered rules (#49970) by @iker-barriocanal
- ref(js): Remove unnecessary AsyncComponent props (#50034) by @evanpurkhiser
- ref(js): Remove unnecessary extends AsyncComponentProps (#50031) by @evanpurkhiser
- fix(dynamic-sampling): Fix logging with missing parameter (#50038) by @iambriccardo
- fix(js): Avoid anchor nesting in monitor edit page (#50026) by @evanpurkhiser
- ref(js): Add IGNORED_SPANS_BY_DESCRIPTION in initializeSdk (#50025) by @evanpurkhiser

_Plus 268 more_

23.5.1
------

### Issue States and Filters (ongoing)

By: @scttcper (#49578, #49157)

### JS Project Cleanup (ongoing)

By: @scttcper (#49381, #49255, #49210, #49159)

### Various fixes & improvements

- fix(hc): Change integration search endpoint to control silo (#49589) by @RyanSkonnord
- fix(starfish): Zerofill round up (#49598) by @shruthilayaj
- feat(starfish): Update endpoint overview to be consistent (#49607) by @shruthilayaj
- ref(performance): Move metrics histogram outlier filtering (#48731) by @mjq-sentry
- feat(starfish): Add top endpoints chart to web service view (#49603) by @shruthilayaj
- feat(starfish): Fix span summary chart styling (#49463) by @0Calories
- feat(starfish): Updated WSV span group chart (#49499) by @shruthilayaj
- ref(perf): Mark long-task with sentry-tracing-init (#49481) by @k-fish
- chore(profiling): Add flags for more profiling features (#49461) by @Zylphrex
- feat(starfish): Switch top graph to p50 (#49510) by @wmak
- feat(starfish): adds synchronized axis markers to starfish charts (#49504) by @edwardgou-sentry
- deps: bump profiling to alpha.6 (#49127) by @JonasBa
- feat(create-project): Add framework selection modal tests (#49305) by @priscilawebdev
- chore(discover-transactions-cell-action): Removed go to summary cell … (#49406) by @Abdkhan14
- Add index on sentry_monitorchecking.date_added to avoid seq scans during cleanup (#49310) by @beezz
- Add a utility to query the memory usage percentage of a configured redis cluster (#49459) by @Swatinem
- ref(createProject): convert test from jsx to tsx (#49304) by @priscilawebdev
- ref(project-creation): Convert overview from class to func (#49303) by @priscilawebdev
- feat(project-creation): Add framework selection modal (#49300) by @priscilawebdev
- chore(js): Use FormFieldProps vs FormField['props'] (#49591) by @evanpurkhiser
- feat(hybrid-cloud): Update api invite helper (#48829) by @dashed
- chore(js): Convert Form to a FC (#49525) by @evanpurkhiser
- ref(js): Convert SentryAppExternalIssueForm for a FC (#49581) by @evanpurkhiser
- feat(issue-states): auto transition new and regressed issues to ongoing (#49522) by @barkbarkimashark

_Plus 306 more_

23.5.0
------

### Escalating Issues V1 (ongoing)

This will allow marking an issue as archived until escalating.

By: @scttcper (#48498, #47408), @armenzg (#48257, #48369, #48332, #48272, #48247, #48102, #48104, #47626, #47822, #47625), @jangjodi (#47954, #47843, #47716, #47601, #47593, #47586, #47578, #47496, #47419), @snigdhas (#47789, #47681, #47437), @NisanthanNanthakumar (#47799, #47749)

### Issue States and Filters (ongoing)

By: @scttcper (#48047), @barkbarkimashark (#47691, #48042, #47881, #48043, #47753, #47720), @snigdhas (#48289, #47909, #48164, #47785, #47832, #47689, #47687, #47604, #47603, #47420)

### JS Project Cleanup (ongoing)

By: @lobsterkatie (#49060, #49045), @scttcper (#48873, #48883, #48841, #48825, #48379)

### Various fixes & improvements

- fix(onboarding): Add missing `useEffect` dependency (#49105) by @lobsterkatie
- ref(api): Rename `handleXhrErrorResponse` to `getXhrErrorResponseHandler` (#49100) by @lobsterkatie
- chore(starfish): Remove the count if query (#49097) by @shruthilayaj
- fix(issue-platform): Fix `get_event_by_id` to correctly return occurrence information for transactions (#49059) by @wedamija
- feat(starfish): Compare span samples to p50 baseline in table column (#48959) by @0Calories
- feat(source-maps): adds new case for source map debugging (#49061) by @scefali
- feat(starfish): Add releases to db module (#48782) by @wmak
- ref(trends): Impose strict top event limit (#49098) by @udameli
- feat(replays): Log to stdout when a slow click event is detected (#48775) by @cmanallen
- fix(txnames): Revert high threshold for running the clusterer (#49087) by @jjbayer
- instr(txnames): Count number of discovered rules (#49085) by @jjbayer
- Allow defining different symbolicator for JS LPQ (#49072) by @Swatinem
- feat(transaction-summary): Add analytics to track biases sufficiency assessment (#48865) by @priscilawebdev
- chore(hybrid-cloud): save outbox messages when creating them for org members (#49055) by @dashed
- feat(api): Allow overriding default pagination limits for testing (#49056) by @evanpurkhiser
- feat(js): Add useMembers hook (#49043) by @evanpurkhiser
- feat(issues): Add archived issue tag (#49044) by @scttcper
- fix(issues): Remove resolve/archive/ignore action icons (#49058) by @scttcper
- ref(pageFilters): Add ability to disable persistence (#49048) by @vuluongj20
- ref(js): Export useTeams as a named export (#49052) by @evanpurkhiser
- chore(roles): Pixel Matters for Project/Team Settings Pages (#49042) by @leedongwei
- ref(hc): Create ControlOption to support cross silo options (#48833) by @corps
- chore(issue-platform): Remove project level option for creating issues via platform (#48911) by @wedamija
- fix(issue-states): increase time limits for auto transitioning to ongoing issues (#49033) by @barkbarkimashark

_Plus 1059 more_

23.4.0
------

### Codecov Integration V2

This is the work post-MVP release for the Codecov Integration, with UI and performance improvements and a new CTA.

By: @snigdhas (#46523, #46463, #46460, #46420, #46421, #46416, #46414, #46401, #46294), @scttcper (#46234), @armenzg (#46257)

### JavaScript SDK Dynamic Loader (ongoing)

By: @mydea (#46996, #46995, #46994)

### Escalating Issues V1 (ongoing)

This will allow marking an issue as archived until escalating.

By: @jangjodi (#47333, #46636), @snigdhas (#47129, #47039, #46845), @barkbarkimashark (#47101, #47100, #47094, #47058, #47053), @armenzg (#46517), @scttcper (#46705, #46639), @NisanthanNanthakumar (#46205, #45971)

### Various fixes & improvements

- fix(crons): Pass environment to edit monitor page (#47435) by @davidenwang
- chore(js): Convert PackageLink to a FC (#47299) by @evanpurkhiser
- chore(deps): bump cronstrue from 2.23.0 to 2.26.0 (#47431) by @dependabot
- feat(worflow): Track unmerge issue usage (#47423) by @scttcper
- feat(rulesnooze): Update endpoint to include info about if snooze is for all (#47414) by @roggenkemper
- feat(analytics): Add user feedback info to issue analytics (#47296) by @malwilley
- fix(issue-platform): Fix bug where searching by issue shortname in discover returns too many results (#47406) by @wedamija
- feat(perf-issues): initialize giant http payload detector (#47264) by @DominikB2014
- feat(rulesnooze): Don't notify if rule is snoozed (#47197) by @roggenkemper
- feat(trends): Update the breakpoint endpoint and request shape (#47412) by @udameli
- Document 'download' query parameter (#47247) by @alyssa-glean
- feat(replays): Add replays/:id/clicks/ endpoint for searching for click node and timestamp metadata (#47332) by @cmanallen
- feat(code mapping): Derive code mappings for more distinct issues (#47345) by @lobsterkatie
- chore(profiling): End profiling beta alert (#47249) by @Zylphrex
- feat(profiling): Link from profile summary to transaction summary (#47328) by @Zylphrex
- chore(perf): Remove old feature flag (#47394) by @udameli
- feat(releasehealth): Switch mget to get for Redis Cluster compatibility (#46210) by @ayirr7
- fix(breadcrumbs): Resize breadcrumb rows when expanding object properties (#47369) by @malwilley
- ref(escalating-issues): Add logs and increase freq of cron job (#47403) by @jangjodi
- deps(ui): Upgrade to TypeScript v5 (#47405) by @scttcper
- feat(email): Add X-SMTPAPI category to email headers (#47352) by @mbauer404
- chore(js): Add comment to js-sdk-loader eslint config (#47340) by @evanpurkhiser
- fix(ui): Check type is number when using `>` `<` (#47360) by @scttcper
- feat(hc): Send and receive RPCs over network (#47046) by @RyanSkonnord

_Plus 745 more_

23.3.1
------

### Various fixes & improvements

- fix(dynamic-sampling):Set low volume transaction boost default to True (#46179) by @RaduW
- feat(replays): Add backend support for `session-replay-network-details` feature (#46200) by @ryan953
- fix(roles): check for existence of org roles from team (#46197) by @cathteng
- feat(escalating-issues): Add escalating group status (#45965) by @NisanthanNanthakumar
- feat: Add a simple endpoint to lookup artifacts (#45757) by @Swatinem
- fix(profiling): fix profiling timeout (#46193) by @JonasBa
- fix(db-issue): Add db detector (#46154) by @wmak
- chore(hybrid-cloud): Add outbox_runner to outbox tests (#46155) by @dashed
- chore(hybrid-cloud): Update user type for sync_assignee_outbound (#46160) by @dashed
- ref(profiling): Replace DataDog metric by a Sentry tag (#46156) by @phacops
- fix(dashboards): Clear GroupStore when unmounting dashboard (#46189) by @edwardgou-sentry
- fix(profiling): Show p75 only for suspect functions table (#46140) by @Zylphrex
- feat(flag): Add flag for onboarding product selection - (#46184) by @priscilawebdev
- ref(sourcemaps): Add date_uploaded field to bundle (#46172) by @iambriccardo
- fix(sourcemaps): Change reverse sql type (#46180) by @iambriccardo
- ref(sourcemaps): Remove date_last_accessed field from db (#46118) by @iambriccardo
- chore(oss): add license to api docs spectacular ports (#46164) by @JoshFerge
- fix(test): fix flake when time rolls to the next day (#46166) by @barkbarkimashark
- feat(issue-platform): Hook up noise reduction config to occurrence ingestion (#46159) by @wedamija
- chore(issue-platform): Remove unused features (#46161) by @wedamija
- fix(codecov): Change endpoint for has_integration check (#46127) by @snigdhas
- fix(profiling): Typo in format name sampled vs sample (#46150) by @Zylphrex
- chore: Add missing license for jsonfield (#46148) by @markstory
- fix(workflow): Add `ref_fallback` to issue details analytics (#46125) by @scttcper

_Plus 233 more_

23.3.0
------

### Stacktrace Codecov V2 (ongoing)

This is the work post-MVP release.

By: @armenzg (#44827)

### JavaScript SDK Dynamic Loader (ongoing)

By: @AbhiPrasad (#44496)

### Various fixes & improvements

- fix(ecosystem): Preserve codeowners filters on update (#45810) by @scttcper
- chore(trace_view): Add perf issues to the mock trace (#45794) by @wmak
- feat(dynamic-sampling): Add prioritise low volume transaction rules [TET-736] (#45635) by @RaduW
- ref(onboarding): Update experiment segments (#45843) by @priscilawebdev
- ref(onboarding): Update copy (#45830) by @priscilawebdev
- ref(dynamic-sampling): Update Health Check copy (#45826) by @ale-cota
- chore(commit-context): Flag cleanup (#45804) by @snigdhas
- ref(compactSelect): Maintain menu width while searching (#45356) by @vuluongj20
- ref(outcomes) Add methods to build outcomes queries without django (#45730) by @markstory
- feat(compactSelect): Add optional menu footer (#45339) by @vuluongj20
- ref(dynamic-sampling): Add onboarding experiement to the ds page (temp test) -  (#45827) by @priscilawebdev
- chore(view-hierarchy): Remove frontend feature flags (#45761) by @narsaynorath
- chore(dashboards): Reintroduce release widget feature flag (#45791) by @shruthilayaj
- fix (dyn-sampling): Change schedule interval for prioritise by project task [TET-788] (#45821) by @andriisoldatenko
- chore(hybrid-cloud): Deprecate mediator destroyers (#45656) by @corps
- feat(onboarding): Add view sample error button new design - (#45820) by @priscilawebdev
- feat(onboarding): Add feature flag to control the View Sample Error button - (#45818) by @priscilawebdev
- fix(onboarding): Fix issue when first error sent (#45817) by @priscilawebdev
-  feat(source-maps): Add debug ids UI - (#45711) by @priscilawebdev
- feat(sourcemaps): Add endpoint for listing all artifact bundles of a project (#45751) by @iambriccardo
- chore(hybrid-cloud): Backfill installation_id to service hooks (#45800) by @corps
- fix(issue-platform): Explicitly pass `culprit` as part of the occurrence, and store `subtitle` correctly (#45809) by @wedamija
- feat(crons): Explain crontab syntax in monitor form (#45801) by @davidenwang
- ref(hybrid-cloud): Denormalize user avatars 1/3 (#45685) by @mikejihbe

_Plus 792 more_

23.2.0
------

### Stacktrace Codecov MVP

Related to https://github.com/getsentry/sentry/discussions/42399

By: @snigdhas (#43819, #43667, #43675), @jangjodi (#43746)

### JavaScript SDK Dynamic Loader (ongoing)

By: @AbhiPrasad (#44492, #44346, #44228)

### Various fixes & improvements

- perf(sentry): Add optional referrer to query.search for granularity (#44585) by @k-fish
- bug(replay): Do not render the list page until project data has loaded (#44623) by @ryan953
- fix(ui) Fix navigation between customer-domain accounts (#44625) by @markstory
- feat(codeowners): [BE] Allow project members to edit project owner rules (#44508) by @jangjodi
- ref(heartbeat): Update modal copy (#44658) by @priscilawebdev
- Reverts for INC-307 (#44654) by @beezz
- bump(dynamic-sampling): Bump sentry-relay to 0.8.18 (#44648) by @iambriccardo
- feat(contexts): Add OpenTelemetry context (#44605) by @AbhiPrasad
- fix: Avoid logging a `bad_report` for .NET events (#44291) by @Swatinem
- chore(hybrid-cloud): Api* => Rpc* (#44646) by @corps
- ref(hybrid-cloud): Isolate alert rules functionality by silo (#44644) by @mikejihbe
- fix(api): Don't try and convert_args when http_method_not_allowed (#44635) by @evanpurkhiser
- ref(api): Consistent relative endpoints import (#44640) by @evanpurkhiser
- feat(profile-issues): Add profile category/type to search autocomplete (#44548) by @malwilley
- fix(ui): Bring back Australia timezone (#44634) by @evanpurkhiser
- feat: Deprecate legacy post process forwarder (#44631) by @lynnagara
- fix(api): Remove inclusion of CHECKIN_ID in monitor check-in POST (#44630) by @evanpurkhiser
- fix(source-maps): fixes too many values to unpack error in ArtifactSource (#44624) by @roggenkemper
- ref(rules): Catch environment not existing (#44553) by @ceorourke
- feat(analytics): improve analytics for soure map debugging (#44626) by @scefali
- ref(tabs): Export `Item` as property of `TabList` & `TabPanels` (#44620) by @vuluongj20
- feat(ui): Switch translate tct return type to react element (#44610) by @scttcper
- feat: adds tracking for setup wizard (#44619) by @scefali
- feat(team-roles): Amend PUT on OrganizationMemberDetailsEndpoint (#44599) by @leedongwei

_Plus 637 more_

23.1.1
------

### Post-GA fixes and improvements for derived code mappings

This will track work that are known issues that will be handled after the GA.

See related RFC: https://github.com/getsentry/rfcs/blob/main/text/0016-auto-code-mappings.md

By: @armenzg (#43323, #43325, #43310)

### Stacktrace Codecov MVP (ongoing)

Related to https://github.com/getsentry/sentry/discussions/42399

By: @snigdhas (#43650, #43649, #43404, #43353, #43201), @jangjodi (#43032, #43517, #43407, #43116)

### Various fixes & improvements

- ci(acceptance): Replace selenium finalizer with yield (#43711) by @mattgauntseo-sentry
- test(profiles): test sample stats and raw weights across formats (#43685) by @JonasBa
- fix(release_health) : bad granularity was causing limit validation error in MetricsLayer (#43729) by @RaduW
- ref: upgrade structlog (#43680) by @asottile-sentry
- ref(ui) Remove error for missing router context (#43693) by @markstory
- ref(perf-issues): Increase unc asset duration threshold (#43722) by @k-fish
- hotfix: handle empty series returns from get_series. (#43721) by @RaduW
- Revert "feat(codecov): Get commit sha from Git blame  (#42978)" (7d918eb7) by @getsentry-bot
- feat(perf-issues) Add project options for consecutive db (#43701) by @DominikB2014
- fix(perf-issues): ensure php is not allowed to detect issues (#43694) by @DominikB2014
- feat(codecov): Get commit sha from Git blame  (#42978) by @jangjodi
- ref(mep): Allow up to 10 custom measurements (#43719) by @jan-auer
- (perf-issues) Add detection rate project option to UI (#43698) by @DominikB2014
- fix(txnames): Skip deleted projects (#43716) by @jjbayer
- feat(release-health): Switch release health backend to MetricsLayer (#43545) by @RaduW
- chore(hybrid-cloud): remove region to control, use outbox (#43361) by @corps
- feat(hc): Use hybrid cloud services in AuthIdentityHandler (#43035) by @RyanSkonnord
- fix(sourcemaps): ease check on valid url and add data for invalid url issue (#43709) by @roggenkemper
- test(acceptance): Reduce flakiness by waiting for requests to complete (#43486) by @mattgauntseo-sentry
- ref(hybrid-cloud): test for both urls in MonitorCheckinDetails (#43690) by @cathyteng17
- ui(codecov): Fix codecov legend border (#43704) by @snigdhas
- fix(tasks): Do not ignore exception by default (#43696) by @Zylphrex
- ref: retry on 500s in docker pulls (#43700) by @asottile-sentry
- Revert "CI(dispatch): Switch to merge commit sha where possible (#43570)" (f2dd50ad) by @getsentry-bot

_Plus 285 more_

23.1.0
------

### Derived Code Mappings (GA Release - JS and Python)

Python is in EA already. We will first add JS to EA and then GA both of them.

For JS, this will only apply to stacktraces that have source maps applied, otherwise, it is not possible to derive code mappings.

Read https://github.com/getsentry/rfcs/pull/16 for more details.

By: @armenzg (#42302)

### Stacktrace linking and code mapping improvements (ongoing)

Various improvements to configuring Code Mappings by a customer.

This milestones is simply to track the various related PRs.

By: @armenzg (#43105, #43104, #42810)

### Post-GA fixes and improvements for derived code mappings (ongoing)

This will track work that are known issues that will be handled after the GA.

See related RFC: https://github.com/getsentry/rfcs/blob/main/text/0016-auto-code-mappings.md

By: @armenzg (#43265, #43199, #42554, #42510, #42544, #42540, #42511, #42487)

### Stacktrace Codecov Integration (ongoing)

Related to https://github.com/getsentry/sentry/discussions/42399

By: @snigdhas (#43114, #43025, #43024, #43015)

### Various fixes & improvements

- Revert "fix(domains) Remove usage or params.orgId in search (#43205)" (2fc1398b) by @getsentry-bot
- ref(js): Convert events/userFeedback to a FC (#43283) by @evanpurkhiser
- feat(replays): Remove calendar icon from Replays list table (#43252) by @ryan953
- feat(replays): Remove the icon from the "Open Replay" preview in Issues (#43251) by @ryan953
- ref(ui): Visually improve PageHeadingQuestionTooltip (#43277) by @evanpurkhiser
- chore(ui): Upgrade babel, babel-loader, core-ui (#43286) by @scttcper
- ref(scim): Use transaction instead of span (#43287) by @AniketDas-Tekky
- feat(modal) Consolidate close prevention props (#43258) by @malwilley
- fix(integrations): Use services to get organization data (#43284) by @leeandher
- fix(useOverlay): Only enable maxSize modifier when open (#43193) by @vuluongj20
- fix(domains) Use routing params in join-request route (#43271) by @markstory
- fix(integrations): Use organization_id for finding the integration (#43279) by @leeandher
- ref(js): Remove default Button export (#43280) by @evanpurkhiser
- ref(js): Consistent spacing in eventEntry (#43230) by @evanpurkhiser
- ref(replays): Rename Replay API fields to be snake_case and new names (#43206) by @ryan953
- feat(replays): Convert fields to snake-case and add additional query aliases (#43194) by @cmanallen
- feat(anr-rate): Update ANR rate defaults on project details (#43248) by @shruthilayaj
- bug: Fix import of button (#43272) by @ryan953
- Revert "ref(js): Remove default Button export (#43254)" (9f77d654) by @getsentry-bot
- ci: Skip pip install when we have a cache hit in venv action (#43267) by @mattgauntseo-sentry
- security(codeql): set codeql to weekly scans, on prs, and on master b… (#43213) by @mdtro
- revert-revert: feat(hybrid-cloud): Move Integration/OrgIntegration to Control and implement IntegrationService (#43183) by @leeandher
- chore: Add $schema to package.json + tsconfig.json (#43235) by @evanpurkhiser
- ref(js): Export named Alert (#43255) by @evanpurkhiser

_Plus 621 more_

22.12.0
-------

### Derived Code Mappings (EA release - Python only)

This adds the ability of deriving code mappings automatically for all orgs using Python and Github at first.

See RFC for details: https://github.com/getsentry/rfcs/blob/main/text/0016-auto-code-mappings.md

By: @armenzg (#41562, #41523, #41466, #41464, #41384)

### Derived Code Mappings (GA Release - JS and Python) (ongoing)

Python is in EA already. We will first add JS to EA and then GA both of them.

For JS, this will only apply to stacktraces that have source maps applied, otherwise, it is not possible to derive code mappings.

Read https://github.com/getsentry/rfcs/pull/16 for more details.

By: @armenzg (#42293, #42249, #42155, #42161, #42147, #42130, #42082, #42069, #41777, #41933, #41909, #41794, #41771, #41733, #41706, #41718, #41639, #41671, #41648), @jangjodi (#42192)

### Stacktrace linking and code mapping improvements (ongoing)

Various improvements to configuring Code Mappings by a customer.

This milestones is simply to track the various related PRs.

By: @scttcper (#41582, #41585, #41529, #41512, #41474, #41299, #41403, #41372), @snigdhas (#41465), @armenzg (#41409)

### Post-GA fixes and improvements for derived code mappings (ongoing)

This will track work that are known issues that will be handled after the GA.

See related RFC: https://github.com/getsentry/rfcs/blob/main/text/0016-auto-code-mappings.md

By: @armenzg (#42348, #41857)

### Stacktrace linking: Mobile Support (ongoing)

By: @jangjodi (#42117, #41936)

### Various fixes & improvements

- ref(js): Remove enforceActOnUseLegacyStoreHook hack (#42370) by @evanpurkhiser
- feat(java): Add feature flag for deobfuscating java exception values (#42353) by @edwardgou-sentry
- feat(profiling): add profiling-flamechart-spans flag (#42357) by @eliashussary
- feat(node): fix package for windows path (#42325) by @JonasBa
- feat(profiling): add transaction context (#42347) by @JonasBa
- ref(replays): Move replay-events-meta test into correct folder (#42324) by @ryan953
- Revert "chore(routes): Remove support for deprecated pre-Sentry 10 routes" (#42374) by @dashed
- chore(anr-rate): Add option for abnormal_mechanism extraction flag (#42367) by @shruthilayaj
- chore(hybrid-cloud): test model decorators and fk breakage (#42254) by @corps
- chore(transactions): Set the entity argument to default "false" (#42371) by @olksdr
- ref(contexts): Convert chunck from class to function (#42246) by @priscilawebdev
- feat(txnames): Sort rules in project options (#42372) by @jjbayer
- chore(js): useApi in groupEventDetails (#42355) by @evanpurkhiser
- fix(profiling): remove wasteful rect  (#42351) by @JonasBa
- feat(issues): Add frontend typings for issue occurrence data (#42329) by @malwilley
- ref(hybrid-cloud): use organization_slug in MonitorCheckIns (#42356) by @cathyteng17
- ref(replays): Create NetworkHeaderCell for Replay Details (#42240) by @ryan953
- ref(profiling): rm profiling-onboarding-checklist feature flag (#42354) by @eliashussary
- ref(replays): Refactor Replay network table sorting (#42235) by @ryan953
- fix(profiling): fix zoom when frame is in view (#42350) by @JonasBa
- feat(discover-quick-context): Added issue title (#42343) by @Abdkhan14
- chore(hybrid-cloud): use organization_slug in MonitorDetails (#42300) by @cathyteng17
- (perf-issues) add fingerprinting to consecutive db detector (#42339) by @DominikB2014
- frontend(invite): update invite link helper text (#42344) by @mdtro

_Plus 731 more_

22.11.0
-------

### Derived code mappings (Internal Release) (ongoing)

This milestones add support for creating Python code mappings automatically for orgs with the Github integration installed.

This milestone initially focuses on Python projects.

Future work described in this RFC: https://github.com/getsentry/rfcs/blob/main/text/0016-auto-code-mappings.md

By: @snigdhas (#41147, #41036, #40882, #40973, #40934, #40881, #40717, #40528, #40465, #40271), @armenzg (#41131, #41067, #40892, #40781, #40764, #40729, #40671, #40461, #40190, #40101), @scttcper (#40593)

### Derived code mappings (EA release - Python only) (ongoing)

This adds the ability of deriving code mappings automatically for all orgs using Python and Github at first.

See RFC for details: https://github.com/getsentry/rfcs/blob/main/text/0016-auto-code-mappings.md

By: @armenzg (#41313, #41199, #41132, #41125, #41083), @snigdhas (#41097, #41038, #41080, #41003, #41000, #40991, #40979)

### Various fixes & improvements

- feat(profiling): Add release to profile payload (#41282) by @Zylphrex
- fix(tests): escape `.` in regex passed to findByText (#41391) by @mdtro
- test(js): Convert DashboardList to RTL (#41375) by @malwilley
- test(js): Convert SentryApplicationDetails to RTL (#41378) by @evanpurkhiser
- feat(profiling): profiling onboarding sidebar (#41322) by @eliashussary
- feat(useStacktraceLink): add hook to fetch stack trace link (#41269) by @JonasBa
- dep(profiling): Bump sentry sdk for updated profiler (#41324) by @Zylphrex
- feat(analytics): Record analytics for first profile sent (#41315) by @Zylphrex
- perf(users-endpoint): Improve users endpoint performance more (#41347) by @Zylphrex
- fix(metrics): Use parameterize instead of for loop in test (#41316) by @iambriccardo
- ref(perf-issues): Add projectoption for enabling individual detector (#41328) by @k-fish
- ref(contexts): Prettify only known contexts - (#41379) by @priscilawebdev
- ci(jest): regenerate jest-balance.json (#41377) by @getsentry-bot
- fix(code-mappings): Always add a trailing backslash for codemappings (#41330) by @snigdhas
- fix(replays): Adjust Replay Details layout(s) dimensions (#41331) by @jesus4497
- test(js): Convert ManageDashboards test to RTL (#41352) by @malwilley
- feat(monitors): Tag error events with monitor id (#41291) by @davidenwang
- ref(access): Dataclass to represent (requires_sso, sso_is_valid) pairs (#41239) by @RyanSkonnord
- test(js): Convert organizationAuthList to RTL (#41309) by @evanpurkhiser
- feat(hybrid-cloud): Add /user-feedback/* Django route (#41326) by @dashed
- test(js): Convert teamKeyTransactionButton to RTL (#41308) by @evanpurkhiser
- Customize pip-compile header (#41334) by @atugushev
- ref: fix typing in sentry.integrations.slack (#41314) by @asottile-sentry
- feat(hybrid-cloud): Add /issues/* Django route (#41333) by @dashed

_Plus 1017 more_

22.10.0
-------

### Automatic code mappings for Python/Github projects (ongoing)

This milestones add support for creating Python code mappings automatically for orgs with the Github integration installed.

Future work described in this RFC: https://github.com/getsentry/rfcs/blob/main/text/0016-auto-code-mappings.md

By: @armenzg (#39975, #39750)

### Various fixes & improvements

- Revert "feat(commit-context): Refactor Issue Owner auto-assignment (#40048)" (#40081) by @wedamija
- ref(emails): Update perf issue email subject (#40072) by @ceorourke
- test(js): Convert AcceptOrganizationInvite to RTL (#39809) by @evanpurkhiser
- ref: improve pin_github_action ref matching (#40067) by @asottile-sentry
- test(ui): Convert SelectAsyncField test to RTL (#40060) by @malwilley
- test(js): Convert TableField test to RTL (#40064) by @malwilley
- deps(ui): Upgrade to jest v29 (#40070) by @scttcper
- test: Use initialProps when testing hooks with reactHooks.renderHook (#39532) by @ryan953
- feat(hybrid-cloud): Add a test for file upload (#39931) by @AniketDas-Tekky
- feat(ui): Add aria-describedby to form inputs (#40037) by @evanpurkhiser
- feat(commit-context): Refactor Issue Owner auto-assignment (#40048) by @NisanthanNanthakumar
- chore(hybrid-cloud): ORM decorators updated. (#40022) by @corps
- ref(email): Add performance issue alert email template (#39948) by @ceorourke
- test(js): Rebalance tests (#40036) by @evanpurkhiser
- fix(all-events) issue where events tab makes extra api call (#40056) by @DominikB2014
- feat(all-events) Add minidump all events (#40049) by @DominikB2014
- feat(perf_issues): Only send error issues to digests system (#40050) by @wedamija
- feat(commit-context): Support GitLab (#39381) by @NisanthanNanthakumar
- ref: Mark batching kafka consumer as deprecated (#40044) by @lynnagara
- ref(gitlab): No need to show token (#40045) by @armenzg
- Add all inclusive resources (#40047) by @0Calories
- feat(charts): Add auto-generated aria labels (#39653) by @vuluongj20
- fix(auth): Fix `device-failed` position (#40011) by @vuluongj20
- feat(replays): Add Slowest Transaction Column To Transaction Replay Table (#39930) by @danecando

_Plus 916 more_

22.9.0
------

### Various fixes & improvements

- fix(js): Avoid constructing API inside fetchOrganizationDetails (#38859) by @evanpurkhiser
- feat(codeowners): Add assignee dropdown codeowners copy (#38832) by @scttcper
- test(ui): Convert project install tests to RTL (#38866) by @scttcper
- feat(dashboards): widgets use mep setting provider to determine if requests should be metricsEnhanced or not (#38810) by @edwardgou-sentry
- feat(replays): Change replay event tags type and update UI (#38604) by @jesus4497
- ref: Continue typing eventstream (#38858) by @lynnagara
- feat(sidebar): open up broadcasts if #whats-new is the hash (#38838) by @scefali
- Added question tooltip beside processed baseline toggle. (#38875) by @Abdkhan14
- feat(perf-issues): Add analytics event to count num of perf issues on issues stream page (#38876) by @0Calories
- feat(metrics): Add `count_web_vitals` to metrics layer [TET-161] (#38873) by @ahmedetefy
- feat(dashboard): Flip top level query filter flag (#38829) by @narsaynorath
- ref(dashboards): Delete deprecated dashboard tests (#38872) by @edwardgou-sentry
- chore(perf-issues): Add issue creation rate limiter metrics (#38874) by @udameli
- ref(perf-issues): prettify test event JSON (#38871) by @mjq-sentry
- feat(perf_issues): Make `GroupTagKeyValuesEndpoint` work with perf issues (#38865) by @wedamija
- feat(profiling): add links to profiledetails (#38824) by @eliashussary
- fix(perf-issues): N+1 with odd number of potential sources missed (#38862) by @mjq-sentry
- feat(perf_issues): Default `sentry:performance_issue_creation_rate` to 1.0, and gate perf issue creation using `performance-issues-ingest` (#38864) by @wedamija
- feat(perf_issues): Explicitly hide performance issues from search if feature flag is disabled (#38863) by @wedamija
- feat(perf-issues): Add Performance Issues analytics (#38807) by @0Calories
- feat(dashboards): Flip grid layout feature flag (#38827) by @narsaynorath
- feat(metrics): Support rate for derived metric [TET-129 TET-127] (#38792) by @ahmedetefy
- feat(metrics): Register new option [sns-1660] (#38816) by @untitaker
- fix(datascrubbing): Limit sensitiveFields (#38803) by @jjbayer

_Plus 746 more_

22.8.0
------

### Various fixes & improvements

- fix(breadcrumbsFilter): Fix level tag crop issue (#37777) by @vuluongj20
- ref(dropdownMenu): Mark as deprecated (#37319) by @vuluongj20
- feat(workflow): Remove `duplicate-alert-rule` flag (#37489) by @scttcper
- fix(dashboards): Fix custom metrics not displaying with units correctly in widget viewer(#37807) by @edwardgou-sentry
- feat(replays): New column size and improve of a11y (#37765) by @jesus4497
- ref(perf): Add duplicate detection on group hash (#37787) by @k-fish
- fix(profiling): Profiling stats response for no projects (#37772) by @Zylphrex
- feat(replays): Normalize resources with client expectations (#37708) by @cmanallen
- feat(dashboard-filters): Save and expose releaseId in dashboards (#37779) by @narsaynorath
- ref: upgrade confluent-kafka to 1.9.2 (#37733) by @asottile-sentry
- pass resolution time to get_files_changed_in_releases() (#37800) by @komal-saini
- don't call flagr on this feature flag since we'll be hard-coding the handler (#37799) by @barkbarkimashark
- fix(suspect-resolutions): Get files changed in releases within 5h time-window  (#37789) by @komal-saini
- fix: explicitly define app label (#37795) by @MeredithAnya
- fix(integrations): don't remove functions before they're actually removed (#37793) by @vpandiarajan20
- ref(indexer): Add postgres, cloudspanner modules (#37771) by @MeredithAnya
- Sentry Functions: Backend Webhook Integration (#37205) by @vpandiarajan20
- ref(indexer): Deprecate DbKey (#37790) by @lynnagara
- ref(suspect-resolutions): refactor code around (#37775) by @barkbarkimashark
- fix(dashboard): Pass location to handleAddQueryToDashboard (#37785) by @shruthilayaj
- fix(releases): filter out releases with projects by project membership instead of access (#37495) by @barkbarkimashark
- feat(suspect-resolutions): track the suspect resolutions algo changes in analytics events (#37778) by @barkbarkimashark
- Revert "fix(mep): Missed a tag resolver (#37768)" (#37782) by @k-fish
- fix(ui): integrations text alignment (#37776) by @robinrendle

_Plus 789 more_

22.7.0
------

### Various fixes & improvements

- ref(replays): Refactor MouseTracking component into a react hook (#36710) by @ryan953
- feat(release-activity): backend support for tracking release activity (#36608) by @barkbarkimashark
- feat(grouping): Add support for automatic grouping updates (#36358) by @mitsuhiko
- feat(replays): add session replays endpoints, proxy logic (#36631) by @JoshFerge
- fix(dashboards): Open in Discover missing in Default Dashboard (#36728) by @narsaynorath
- chore(deps): Upgrade @sentry/* JS SDKs from 7.6.0 to 7.7.0 (#36727) by @AbhiPrasad
- fix(mep): Remove the granularity hacks (#36724) by @wmak
- chore(deps): Bump eslint-config-sentry 1.94 -> 1.95 (#36693) by @NisanthanNanthakumar
- fix(test) Allow the connection name to be defined by migration tests (#36712) by @markstory
- fix(perf) Disabled performance settings if denied access (#36675) by @DominikB2014
- fix: Remove potentially unnecessary pip installs (#36649) by @untitaker
- fix: Fix unbound variable if DEVENV_NO_REPORT=1 (#36650) by @untitaker
- test(issue-details): Fix issue details create comment test (#36715) by @Zylphrex
- ref(tags): Refactor the Tags table so the rows are independant of the styled title (#36711) by @ryan953
- fix(ci): include workdir to cache-dependency-path in setup-sentry (#36718) by @joshuarli
- bug(replays): Remove the custom replays navTabs, use core nav which supports with dark-mode (#36709) by @ryan953
- feat(replays): Cleanup unneeded tabs from the Replay Details page (#36706) by @ryan953
- feat(alert): Create metric alerts on project creation (#36582) by @Neo-Zhixing
- fix(devserver): Start both string indexers when metrics are enabled (#36682) by @untitaker
- feat(profiling): Ingest profile call trees (#36268) by @Zylphrex
- ref: replace legacy compat.map with list comprehensions (api) (#36694) by @asottile-sentry
- feat(integrations): Endpoint for SentryFunctions creation page (#36557) by @vpandiarajan20
- tests(mep): Add missing tests for entity subscription helper functions (#36689) by @wedamija
- feat(mep): Add `PerformanceMetricsEntitySubscription` for use with MEP alerts (#36653) by @wedamija

_Plus 760 more_

22.6.0
------

### Various fixes & improvements

- ref: replace `import_submodules` with explicit `*` imports (#35677) by @asottile-sentry
- ref: fix linting of fixtures namespace (#35684) by @asottile-sentry
- ref(sentry app): Rewrite Sentry App Tests (#35664) by @ceorourke
- feat(discover): Support sum function while querying metrics in discover (#35576) by @edwardgou-sentry
- ref: re-enable pyc files now that we're on python 3 (#35678) by @asottile-sentry
- ref: allow explicit relative imports `from .json` (#35676) by @asottile-sentry
- fix(replays): fix error/durations on Replays for page >1 (#35647) by @SDaian
- ref(virtualizedtree): compute startindex and avoid wasteful iterations (#35621) by @JonasBa
- feat: Thread names (#35620) by @loewenheim
- Revert "Revert "ref: simplify and type flake8 plugin (#35645)" (#35651)" (#35673) by @asottile-sentry
- fix(cra-metrics): Count all users in metrics alerts (#34957) by @jjbayer
- feat: Run csharp/il2cpp events through symbolicator (#35615) by @Swatinem
- ref: upgrade boto* packages to fix conflicts (#34524) by @asottile-sentry
- ref(stack-trace): Update header style (#35670) by @priscilawebdev
- fix(relay): Defer cache invalidation up until after DB transaction (#35523) by @untitaker
- feat(dashboard): Add field options for table cols to config (#35622) by @shruthilayaj
- fix(projectconfig): Invalidation task deals with deleted project (#35668) by @flub
- ref(stack-trace): Add new design changes - (#35617) by @priscilawebdev
- chore(deps): bump @sentry/release-parser from 1.3.0 to 1.3.1 (#35657) by @dependabot
- chore(deps): bump core-js from 3.22.7 to 3.23.1 (#35656) by @dependabot
- ref(widget-builder): Replace Feedback Button with FeatureFeedback component (#35571) by @priscilawebdev
- chore(deps): bump echarts from 5.3.1 to 5.3.3 (#35658) by @dependabot
- build(deps): bump css-what from 5.0.0 to 5.1.0 (#35623) by @dependabot
- build(deps-dev): bump @types/node from 17.0.38 to 17.0.42 (#35598) by @dependabot

_Plus 746 more_

22.5.0
------

### Replays v0 (ongoing)

By: @billyvg (#34407, #34388)

### Various fixes & improvements

- ref(js): Convert DateTime to a FC (#34628) by @evanpurkhiser
- chore: Update logo for dark or light theme (#34229) by @mattjohnsonpint
- ref(js): Convert U2fContainer to a FC (#34630) by @evanpurkhiser
- ref(js): Convert discover eventsV2 Breadcrumbs to a FC (#34629) by @evanpurkhiser
- ref(js): Convert ProjectPerformanceContainer to a FC (#34624) by @evanpurkhiser
- ref(js): Convert gridEditable/sortLink to a FC (#34615) by @evanpurkhiser
- ref(js): Convert LoadingError to a FC (#34626) by @evanpurkhiser
- ref(js): Convert UnlinkedAlert to a FC (#34632) by @evanpurkhiser
- ref(js): Convert TagDistributionMeter to a FC (#34627) by @evanpurkhiser
- style(js): Small formatting adjustment to projectSettingsLayout (#34625) by @evanpurkhiser
- ref(js): Convert TeamAvatar to a FC (#34623) by @evanpurkhiser
- ref(js): Convert ValueComponent to a FC (#34620) by @evanpurkhiser
- ref(js): Convert BreadcrumbTitle to a FC (#34619) by @evanpurkhiser
- feat(onboarding): Customized cards (#34603) by @Neo-Zhixing
- ref(js): Convert OnboardingWizardSidebar to a FC (#34609) by @evanpurkhiser
- chore(dashboard): Default RH field to crash_free_rate (#34285) by @shruthilayaj
- fix(dashboard): Remove session.status as a filter tag (#34593) by @shruthilayaj
- fix(discover): Fix bug preventing saving queries with equation (#34580) by @wmak
- feat(crash_rate_alerts): Add logic to enforce session -> metric alerts (#34534) by @wedamija
- feat(replays): Better console messages + add string formatting (#34501) by @billyvg
- fix(dev): also patch invalid escape sequences in selenium.* (#34577) by @asottile-sentry
- Revert "fix(notifications): Use `metrics_key` (#34572)" (04f013dd) by @getsentry-bot
- ref(integrations): Update GH and GL feature descriptions (#34578) by @ceorourke
- feat(alertWizard): Show My Projects in project selector in alert wizard (#34583) by @mikellykels

_Plus 732 more_

22.4.0
------

### Replays v0 (ongoing)

By: @ryan953 (#33313)

### Various fixes & improvements

- debug(tests): Added some debugging for flakey ado test (#33632) by @AniketDas-Tekky
- ref(rate limits): Tag DD metric w/ rate limit type (#33621) by @ceorourke
- ref(access log): Add Datadog metrics (#33644) by @ceorourke
- ref(reflux): remove index signature (#33407) by @JonasBa
- feat(flamechart): allow rendering the chart on arbitrary x axis (#33577) by @JonasBa
- fix(ui): typo on languages (#33628) by @23RoMax
- fix(ui): Don't show project picker for alert wizard v3 (#33634) by @taylangocmen
- JSON syntax and OpenAPI spec fixes, to silence (some) swagger/openapi codegen errors. (#28396) by @tesueret-msft
- fix(alertStatus): Handle alert details page when no project (#33635) by @mikellykels
- fix(rate limit): Format 429 response correctly (#33629) by @ceorourke
- fix(workflow): Format metric date to number from query params (#33633) by @scttcper
- fix(ui): Add % to crash free sessions tooltip (#33624) by @mikellykels
- feat(replay): Implement the View in Fullscreen button (#33566) by @ryan953
- feat(workflow): Tidy up projects page design (#33608) by @mikellykels
- fix(sudo modal): no longer trying to log superuser access on sudo (#33622) by @maxiuyuan
- feat(perf): Add MEP to transaction summary (#32773) by @k-fish
- feat(dashboards): Update Release Health dataset to use sessions v2 (#33582) by @shruthilayaj
- ref(alerts): Use Badge in team filter (#33596) by @vuluongj20
- feat(onboarding): remove welcome page experiment and use new experience (#33616) by @scefali
- feat(workflow): Add Undo to issue removal toast (#33249) by @mikellykels
- ref(page-filters): All environments -> All env (#33568) by @davidenwang
- ref(perf): Move long-tasks to app-wide (#33614) by @k-fish
- fix(new-widget-builder-experience): Unnecessary dashboard visit requests (#33619) by @narsaynorath
- ref(page-filters): Move issues sort options inside table (#33590) by @vuluongj20

_Plus 771 more_

22.3.0
------

### Various fixes & improvements

- feat(perf): Add MEP param to other landing requests (#32575) by @k-fish
- feat(devenv): set sentry SDK default off if dsn not provided and relay off (#32569) by @JoshFerge
- ref(dam): Use cols and aggregates (#32441) by @shruthilayaj
- feat(mep): Introduce p100 to the metric query builder (#32570) by @wmak
- feat(mep): Introduce the count_web_vitals functions to metrics (#32507) by @wmak
- ref(sdk): Move back to 5000ms idleTimeout (#32564) by @k-fish
- feat(dashboards): Widget Viewer beta badge and style (#32588) by @edwardgou-sentry
- chore: Add team-web-backend as CODEOWNERS of SDK (#32033) by @sl0thentr0py
- ref(ui): Improve uage of BookmarkStar (#32553) by @evanpurkhiser
- test(js): Convert organizationGroupDetails/action to RTL (#32598) by @evanpurkhiser
- chore(deps): bump pillow from 8.3.2 to 9.0.1 (#32552) by @dependabot
- chore(js): Upgrade babel from 7.15 -> 7.17 (#32016) by @evanpurkhiser
- feat(onboarding): Add onboarding welcome page experiment (#31733) by @scefali
- feat(codeowners): Decode base64 CODEOWNERS contents to utf-8 (#32582) by @NisanthanNanthakumar
- fix(projects): Use subText for project issues table's heading (#32597) by @vuluongj20
- fix(projects): Use subText for project card's score title (#32595) by @vuluongj20
- fix(ui): fixed size of open in issues button (#32573) by @robinrendle
- fix(ui): copy of alert details chart (#32587) by @robinrendle
- ref(ui): Make small UI changes to Button component (#31903) by @vuluongj20
- ref(page-filters): Add `alignDropdown` prop to environment selector (#32461) by @vuluongj20
- fix(tests): Another attempt to reduce flakiness of event frequency tests (#32580) by @wedamija
- fix(dashboards): Don't display edit button in Widget Viewer for prebuilt dashboards (#32567) by @edwardgou-sentry
- fix(design): Fix code css definition (#32589) by @dashed
- fix(discover): Add to Dashboard test from a Discover Query (#32577) by @edwardgou-sentry

_Plus 605 more_

22.2.0
------

### Various fixes & improvements

- ref(ui) Move forms out of views/settings/components (#31785) by @markstory
- feat(perf): Show link to docs when some web vitals data is missing (#31764) by @0Calories
- feat(dashboard): Add duplicate widget button in dashboard edit mode (#31776) by @edwardgou-sentry
- feat(metrics): Add metrics to series transformer (#31783) by @matejminar
- ref(new-widget-builder-experience): Add visualization & query fields  (#31786) by @priscilawebdev
- feat(profiling): add flamegraph tooltip (#31663) by @JonasBa
- ref(endpoints): SentryApp endpoints module (#31749) by @mgaeta
- feat(ui): Add empty state for for review tab (#31782) by @taylangocmen
- ref(models): Move more models to submodules (#31583) by @mgaeta
- Select weekly email template based on feature flag (#31802) by @Neo-Zhixing
- feat(workflow): Add alert-rule-status-page flag (#31796) by @scttcper
- fix(perf): Transaction is missing in perfForSentry (#31801) by @k-fish
- feat(codeowners): add api owners group to CODEOWNERS (#31739) by @JoshFerge
- meta(gha): Deploy workflow issue-routing-helper.yml (#31798) by @chadwhitacre
- chore(auth): Enable automatic IdP migration for all users (#31774) by @RyanSkonnord
- feat(ratelimits): Turn on rate limit enforcement (#31789) by @AniketDas-Tekky
- ref(perf): Switch VC component to use perf.now (#31795) by @k-fish
- ref(api): Refactor organization_member_team_details (#31751) by @RyanSkonnord
- fix(pagerduty): Fix logging params (#31794) by @ceorourke
- feat(dashboards): widget viewer modal feature flags (#31792) by @edwardgou-sentry
- feat(reports): Include transactions in project series histogram (#30839) by @Neo-Zhixing
- feat(apidocs): document SCIM member index post with new tooling (#31695) by @JoshFerge
- feat(apidocs): document SCIM member index get with new tooling (#31694) by @JoshFerge
- fix(alert-rule-action): Initialize formdata with existing values (#31710) by @NisanthanNanthakumar

_Plus 502 more_

22.1.0
------

### Frontend Deploys (ongoing)

By: @billyvg (#28878)

### Python: Add support for Apple arm64 development (ongoing)

Apple started moving away from their Intel based chipset to arm64 chipsets (aka as Apple Silicon).
In order to do Sentry development on this new architecture we need to do various changes to Sentry's development environment. Some of these changes include using a different Python version (arm64 support was added on Python 3.8.10), upgrading Python packages and hosting some Python wheels that third-party maintainers are not yet releasing.

By: @armenzg (#30071, #29739, #29449, #29315, #29013, #28769, #28607)

### Docker: Add support for Apple arm64 development (ongoing)

In order to do development for Sentry, we need to spin up various Docker containers.
Apple is moving away from Intel based chipset to arm64 chipsets (aka Apple Silicon).

This milestones track all work required to make sure we can still use these development services on Apple's arm64 architecture.

By: @armenzg (#29494, #29293, #29284, #29157, #29081, #29117, #29084, #28672, #28724)

### Connecting Dashboards and Discover (ongoing)

Open a Dashboard widget in Discover. Add a Discover Query to a Dashboard.

By: @edwardgou-sentry (#28699, #28827, #28745, #28637)

### Various fixes & improvements

- ref(ratelimit): Added a config and changed a default (#31141) by @AniketDas-Tekky
- feat(dev): Fix `jest --watch` (#31138) by @billyvg
- ref(auth): Increase sample rate to 1.0 on idpmigration.* metrics (#31139) by @RyanSkonnord
- ref(pageFilters): Constrict types on updateParams better (#31073) by @evanpurkhiser
- feat(notifications): Nudge Notifications (#30409) by @mgaeta
- fix(ui): Team details doesn't load depending on navigation (#31081) by @mikellykels
- fix(snuba-tests): wrap tag key in Column (#31137) by @MeredithAnya
- test(ui): Convert globalSelectionLink to RTL (#31007) by @scttcper
- fix(suspect-spans): Make sure to query for frequency column (#31134) by @Zylphrex
- fix(echarts): Remove type casting from MapSeries (#31130) by @scttcper
- ref(webhooks): Use ApiClient (#31127) by @ceorourke
- fix(dashboard): Set line height on BigNumber to avoid clipping (#31136) by @narsaynorath
- fix(echarts): Use default echarts bar series type (#31129) by @scttcper
- fix(teamStats): Adjust gap between bar charts (#31119) by @scttcper
- fix(dashboards): TopN widgets Open in Discover opens with TopN display type (#31120) by @edwardgou-sentry
- ref(metrics): Consolidate wrappers around string indexer (#31051) by @untitaker
- ref(performance-metrics): Port failure Rate sidebar widget - Summary to metrics (#31014) by @priscilawebdev
- feat(profiling): move flamegraph and differential flamegraph (#30910) by @JonasBa
- ref(ui): Extract LoadingTriangle from LoadingIndicator (#31118) by @evanpurkhiser
- ref(notifications): Prepare Slack for sending Nudges. (#30765) by @mgaeta
- ref(integrations): Split up large file (#30786) by @mgaeta
- ref(analytics): Analytics Refactor + Types (#30555) by @mgaeta
- fix(teamStats): Fix link to alert details from triggered (#31124) by @scttcper
- ref(sentry apps): Don't raise IgnoreableSentryAppError (#31033) by @ceorourke

_Plus 2051 more_

21.12.0
-------

### Frontend Deploys (ongoing)

By: @billyvg (#28878)

### Python: Add support for Apple arm64 development (ongoing)

Apple started moving away from their Intel based chipset to arm64 chipsets (aka as Apple Silicon).
In order to do Sentry development on this new architecture we need to do various changes to Sentry's development environment. Some of these changes include using a different Python version (arm64 support was added on Python 3.8.10), upgrading Python packages and hosting some Python wheels that third-party maintainers are not yet releasing.

By: @armenzg (#30071, #29739, #29449, #29315, #29013, #28769, #28607)

### Docker: Add support for Apple arm64 development (ongoing)

In order to do development for Sentry, we need to spin up various Docker containers.
Apple is moving away from Intel based chipset to arm64 chipsets (aka Apple Silicon).

This milestones track all work required to make sure we can still use these development services on Apple's arm64 architecture.

By: @armenzg (#29494, #29293, #29284, #29157, #29081, #29117, #29084, #28672, #28724)

### Connecting Dashboards and Discover (ongoing)

Open a Dashboard widget in Discover. Add a Discover Query to a Dashboard.

By: @edwardgou-sentry (#28699, #28827, #28745, #28637)

### Various fixes & improvements

- feat(cra-metrics): Adds crash rate alerts over metrics [INGEST-629] [INGEST-632] (#30400) by @ahmedetefy
- fix(perf): Re-add onboarding for landing v3 (#30675) by @k-fish
- fix(performance-metrics): Handle null serie values (#30594) by @priscilawebdev
- feat(snql): Enable snql on facets performance endpoints (#30557) by @wmak
- fix(discover): Updates Discover widget modal to propagate global header selection to the dashboard view when submitting (#30641) by @edwardgou-sentry
- feat(suspect-spans): Allow specifying certain columns (#30576) by @Zylphrex
- fix(chart-unfurl): Fix daily top5 rendering (#30669) by @shruthilayaj
- ref(projectconfig_cache): Delete redis-blaster implementation, execute deletes faster (#30636) by @untitaker
- feat(dashboards): Open Library Modal in edit mode (#30591) by @shruthilayaj
- ref(js): Cleanup GSH getParams / utils (#30658) by @evanpurkhiser
- style(js): Improve comments formatting in AsyncComponent (#30667) by @evanpurkhiser
- ref(js): Convert (some of) redirectDeprecatedProjectRoute to a FC (#30640) by @evanpurkhiser
- ref(js): Convert ScrollToTop to a hook (#30652) by @evanpurkhiser
- ref(js): Remove UNSAFE_componentWillReceiveProps (#30663) by @evanpurkhiser
- ref(js): Remove unused getEndpoint (#30659) by @evanpurkhiser
- fix(ui): Span tree connector design (#30498) by @vuluongj20
- fix(js): Remove double `- Sentry` in Activity route title (#30626) by @evanpurkhiser
- feat(teamStats): Remove some team unresolved issue age buckets (#30650) by @scttcper
- style: Hover & focus state for buttons (#30654) by @vuluongj20
- fix(ui): Fix undefined markline data error (#30655) by @taylangocmen
- ref(js): Convert OrganizationCreate to a FC (#30638) by @evanpurkhiser
- chore(deps): bump typescript from 4.4.4 to 4.5.4 (#30615) by @dependabot
- feat(teamStats): Add team-insights-age-unresolved flag (#30644) by @scttcper
- ref(js): Rename constants/{globalSelectionHeader -> pageFilters} (#30618) by @evanpurkhiser

_Plus 1646 more_

21.11.0
-------

### Frontend Deploys (ongoing)

By: @billyvg (#28878)

### Python: Add support for Apple arm64 development (ongoing)

Apple started moving away from their Intel based chipset to arm64 chipsets (aka as Apple Silicon).
In order to do Sentry development on this new architecture we need to do various changes to Sentry's development environment. Some of these changes include using a different Python version (arm64 support was added on Python 3.8.10), upgrading Python packages and hosting some Python wheels that third-party maintainers are not yet releasing.

By: @armenzg (#29739, #29449, #29315, #28769, #28607)

### Docker: Add support for Apple arm64 development (ongoing)

In order to do development for Sentry, we need to spin up various Docker containers.
Apple is moving away from Intel based chipset to arm64 chipsets (aka Apple Silicon).

This milestones track all work required to make sure we can still use these development services on Apple's arm64 architecture.

By: @armenzg (#29494, #29293, #29284, #29157, #29081, #29117, #29084, #28672, #28724)

### Connecting Dashboards and Discover (ongoing)

Open a Dashboard widget in Discover. Add a Discover Query to a Dashboard.

By: @edwardgou-sentry (#28699, #28827, #28745, #28637)

### Various fixes & improvements

- fix(tests) Remove import that wasn't caught in pr (#30018) by @markstory
- chore(tests) Remove old react-select test helpers (#29998) by @markstory
- ref(tests) Replace usage of predicate in MockApiClient (#29997) by @markstory
- feat(dashboards): Add dashboard widget resizing flag (#30000) by @narsaynorath
- feat(ci): Drop ubuntu from dev env CI (#29956) by @armenzg
- ref(native-stack-trace-v2): Add more adjusts (#30013) by @priscilawebdev
- fix(dev): Patch firefox_profile.py from Selenium package (#29887) by @armenzg
- feat(ui): Add metrics switch to performance page [INGEST-572] (#30011) by @matejminar
- ref(native-stack-trace-v2): Apply design feedback (#29989) by @priscilawebdev
- ref(js): Convert GlobalSelectionHeaderRow to a FC (#30004) by @evanpurkhiser
- meta(py): Upgrade python typing analysis script (#29961) by @mgaeta
- ref(ts): Make GlobalSelectionStore useLegacyStore compatible (#30002) by @evanpurkhiser
- security(issue-alerts): Validate the issue alert owner is a member of the organization (#29962) by @wedamija
- feat(ui): Storybook - Add theme switcher & noBorder option to <Sample /> (#29765) by @vuluongj20
- feat(notifications): Slack Digests (#29677) by @mgaeta
- feat(ui): Release Details Sidebar component update (#29842) by @mikellykels
- feat(release-comparison): Add Regressed tab to issue filter tabs (#27896) by @mikellykels
- adds hook and experiment (#29976) by @scefali
- feat(logo-upload): Update serializer to account for popularity (#29978) by @leeandher
- test(ui): Convert seenByList to RTL (#29983) by @scttcper
- test(ui): Convert collapsible component to RTL (#29982) by @scttcper
- feat(widget-library): Add Library Widgets to Dashboard (#29881) by @shruthilayaj
- feat(tests) Add request matchers to MockApiClient (#29910) by @markstory
- ref(tests) Move tests for MutedBox to RTL (#29967) by @markstory

_Plus 1127 more_

21.10.0
-------

### Frontend Deploys (ongoing)

PRs: #28878

### Python: Add support for Apple arm64 development (ongoing)

Apple started moving away from their Intel based chipset to arm64 chipsets (aka as Apple Silicon).
In order to do Sentry development on this new architecture we need to do various changes to Sentry's development environment. Some of these changes include using a different Python version (arm64 support was added on Python 3.8.10), upgrading Python packages and hosting some Python wheels that third-party maintainers are not yet releasing.

PRs: #28769, #28607

### Docker: Add support for Apple arm64 development (ongoing)

In order to do development for Sentry, we need to spin up various Docker containers.
Apple is moving away from Intel based chipset to arm64 chipsets (aka Apple Silicon).

This milestones track all work required to make sure we can still use these development services on Apple's arm64 architecture.

PRs: #29293, #29284, #29157, #29081, #29117, #29084, #28672, #28724

### Connecting Dashboards and Discover (ongoing)

Open a Dashboard widget in Discover. Add a Discover Query to a Dashboard.

PRs: #28699, #28827, #28745, #28637

### Various fixes & improvements

- feat(workflow): Enable issue-percent-filters flag by default (#29325)
- feat(post-process-forwarder) Allow different types of post process forwarders (#29225)
- ref(search): Enable search without waiting for search groups to load (#29336)
- adds experiment for trial label (#29305)
- fix(discover): Various snql discover fixes (#29219)
- chore(deletion) Drop aborted column (#29323)
- fix(snapshots): Fixes datetime comparison with str issue (#29349)
- fix(ui): Handle empty alert chart (#29348)
- feat(dev): Run dev env workflow when .pre-commit-config.yaml changes (#29331)
- ref(tests): Use screen for querying in RTL (#29312)
- fix(alerts): Fix logic that creates snapshots for crash rate alerts (#29320)
- ref(grouprelease):  Buffer GroupRelease.last_seen update per minute (#29328)
- ref(minichart): Add extra empty space on the top - [INGEST-495] (#29321)
- ref(js): Remove unused withProjects on incidentRules/triggers (#29335)
- test(js): Always use our exported act (#29340)
- ref(js): Rewrite Sidebar as a functional component (#29278)
- test(js): Refactor useLegacyStore test to use testing-library/react-hooks (#29338)
- fix(workflow): Filter team release counts by teams projects (#29341)
- feat(team-insights): Add Number of Releases section (#29101)
- Temporarily disable pyright pre-commit checks. (#29326)
- build(deps): bump nth-check from 2.0.0 to 2.0.1 (#29000)
- fix(growth): Select the correct project when showing sample transaction banner (#29324)
- fix(visibility): Unbound errors for visibility files (#29330)
- fix(js): Links should not receive router attributes (#29279)

_Plus 590 more_

21.9.0
------

- No documented changes.

21.8.0
------

- No documented changes.

21.7.0
------

- No documented changes.

21.6.3
------

- No documented changes.

21.6.2
------

- No documented changes.

21.7.1
------

### Breaking Change

If you are upgrading from a release prior to 10.0.0 you need to first upgrade to 21.6.1 and run migrations.
For more information [see the upgrade guide](https://develop.sentry.dev/self-hosted/#hard-stops).

21.6.1
------

- No documented changes.

21.6.0
------

### Deprecation Warning

There will be a future change to where the frontend bundle will be loaded asynchronously. This will be a breaking change that can affect custom plugins that access certain globals in the django template. Please see https://forum.sentry.io/t/breaking-frontend-changes-for-custom-plugins/14184 for more information.

21.5.1
------

- No documented changes.

21.5.0
------

- No documented changes.

21.4.1
------

- No documented changes.

21.4.0
------

- No documented changes.

21.3.1
------

- No documented changes.

21.3.0
------

- No documented changes.

21.2.0
------

- No documented changes.

21.1.0
------

- No documented changes.

20.12.1
-------

- No documented changes.

20.11.1
-------

- No documented changes.

20.11.0
-------

- No documented changes.

20.10.1
-------

- No documented changes.

20.10.0
-------

- No documented changes.

20.9.0
------

- No documented changes.

20.8.0
------

- No documented changes.

20.7.1
------

- No documented changes.

20.7.0
------

- No documented changes.

v20.6.0
-------

- Switched to CalVer

v10.0
-----

Please refer to our blog post: https://blog.sentry.io/2020/01/07/self-hosted-sentry-10-is-ready-to-serve-get-it-while-its-hot/

v9.1.2
------

- Bug fixes from 9.1.1 release.
- See https://github.com/getsentry/sentry/releases/tag/9.1.2 for a summary

v9.1.1
------

- Bug fixes from 9.1.0 release.

v9.1
----

The changelog for Sentry 9.1 is summarized. For full details, we recommend reviewing the
full set of SCM changes on GitHub.

First, an important preface:

FUTURE VERSIONS OF SENTRY WILL INTRODUCE BACKWARDS INCOMPATIBLE INFRASTRUCTURE

This is the last version in the 9.x series, and our next release will migrate many legacy technologies onto standardized versions our SaaS service uses. The most notable, known concerns are:

- Postgres will be the only supported SQL database
- Our new search infrastructure (codenamed Snuba) will become required (we'll provide a migration path)
- Various new infrastructure services will be required (such as Kafka)

This is required for Sentry to continue to support open source releases in a meaningful way, and ensures we have only a single, standard way of running the services.

Integrations
~~~~~~~~~~~~

We've added a new global integration concept to Sentry, which raises plugins to the organization level. Access to these integrations are controlled with the `org:integrations` scope, and are granted to any user with an Admin or higher role.

This release includes integrations for:

- Azure DevOps
- BitBucket
- GitHub
- GitHub Enterprise
- GitLab
- Jira
- Jira Server

There is additionally a Slack integration, though it requires a now-deprecated workspace token in order to use.

Note: a known issue exists where integrations are always shown as enabled, even when you haven't configured the appropriate server settings (such as OAuth keys).

Native Support
~~~~~~~~~~~~~~

Various improvements for native (compiled) runtimes is included in this release.

- Improved rendering for native stacktraces.
- Improved support for Apple crash reports.
- Added unreal engine 4 crash dump support.
- Added code identifier support for debug files.

Security
~~~~~~~~

- Added SAML2 SSO support.
- Member invitations will now automatically expire after 30 days.
- Fixed potential settings exposure if sentry was deployed in DEBUG mode.

Misc
~~~~

- Settings have been greatly improved and updated to allow non-admins read-only access in many areas.
- Added additional localization configuration for User Feedback dialogs.
- Added account session history under Account Settings -> Security -> Session History.
- Event data stored in Redis & RabbitMQ no longer uses pickle to encode data. All data is now encoded in JSON.
- Various improvements to CSP and other browser Reporting API support.
- Many features disabled via feature flags now indicate how to enable them in the UI.
- Improved suspect commit generation for Java projects.
- Repository access is now coupled to integrations access (`org:integrations`)
- Various improvements to exception fingerprinting.

v9.0
----

The changelog for Sentry 9 is summarized. For full details, we recommend reviewing the
full set of SCM changes on GitHub. There are far too many changes to list in Sentry 9,
but the major highlights are documented below.

There are also significant schema and data changes in this release, so plan for a huge amount
of updates and a measurable increase in utilization of your data stores.

Note: Major features which are undocumented here should be considered unstable, and are almost
certainly behind a feature switch which is intended to be disabled.

Dashboard
~~~~~~~~~

We've removed the project-manager-esque dashboard and brought back a team/card based selection as
as a new sidebar for quick access. We will continue to iterate on what projects mean in Sentry
going forward and this is simply a first step towards future changes.

Settings
~~~~~~~~

A new global settings UI has been introduced. This is an attempt to unify all settings and make
it easier to find the numerous configuration options throughout Sentry.

Environments
~~~~~~~~~~~~

Environments have been moved up in the hierarchy and are now a first class citizen. While
still early, this is intended to replace the need for having separate projects per environment.

To use environments you simply need to ensure you're configuring the ``environment`` parameter
in the Sentry SDK, and it should automatically propagate into Sentry proper.

Owners
~~~~~~

A new owners feature allows you to define per-project rules for declaring explicit ownership.
Much like GitHub's .gitowners, this helps Sentry understand who is responsible for a specific
issue, and more importantly lets you limit email alerts to only the relevant parties.

In addition to explicit owners, the release framework has expanded to support implicit owners
and suspect commits. This currently only works with GitHub.com hosted repositories, but will be
expanded to support other providers in future versions of Sentry.

Teams & Projects
~~~~~~~~~~~~~~~~

Projects can now be associated with many teams, and teams can be referenced in comments and
assignment as well as the new ownership features.

Both Team and Project names have been deprecated, and the short name as been promoted as the
canonical reference. Teams can be mentioned using #team-name.

Integrations
~~~~~~~~~~~~

The beginnings of the new integration framework (plugin v3) have landed, along with an initial
version of a new Slack integration.

The new integrations framework will likely change in upcoming versions of Sentry, and we dont
suggest building against it yet.

Some caveats:

- The Slack integration requires Slack workspace tokens.
- While there is some early work of other integrations in this release, they are not yet GA nor
  are they exposed.

API
~~~

Various portions of processing for the API will require additional dependencies and configuration
(such as symbolic).

- The 'secret key' for a DSN is no longer required and has been deprecated in SDKs.
- Added support for Minidumps generated by Breakpad and Crashpad.
- Added support for Cordova and Electron.
- A new standard 'security report' endpoint has been exposed, which supports HKPK, CSP,
  Expect-CT, and Expect-Staple reports.
- Improved reprocessing feature.
- Improved support for native Debug Symbols (Apple, Linux).
- The ingestion API is now JSON-schema based (though still fairly flexible).
- Added setup wizard for various SDKs (e.g. react-native).

Privacy Changes
~~~~~~~~~~~~~~~

As part of GDPR, the open source version of Sentry now changes the default policy for its beacon
(the service which tells sentry.io statistics about open source usage) to **not** send the system's
contact email address by default. You can still opt-in to this, which will allow us to contact you
in the event of a major security issue.

Misc
~~~~

- User Feedback will now send an email notification.
- Almost all major UI components are now driven by the client-side application.
- Avatars have been added for organizations.
- Various improvements to issue hashing, specifically for native (iOS) and javascript
  applications.
- Various improvements to Single Sign-On flows. You should update any external auth extensions
  you're using as part of this (sentry-auth-github, sentry-auth-google).
- Support for SAML via sentry-auth-saml2.
- Support for Google Cloud Storage as a storage backend.
- A new Assistant to help onboard users.
- Add count estimates to search results.
- Superuser has been locked down significantlly with idle timeouts and secondary sessions.
- 2FA can now be enforced for an organization.
- Various performance around event processing to make up for all the added load we're forcing on
  ya'll. =)

v8.22
-----

- BREAKING: Members will no longer be automatically granted membership to the
  default organization. You should use SSO or the invite flows.
- Add support for SAML2 authentication through identity providers that
  implement the ``SAML2AuthProvider``. See getsentry/sentry-auth-saml2.
- BREAKING: Group share urls have all been invalidated and must be regenerated.
- Added the ability for users to disable workflow notifications on a per-project basis.

Schema Changes
~~~~~~~~~~~~~~

- Added ``ProjectSymCacheFile`` model.
- Added index on ``TagValue(project_id, key, last_seen)``
- Add ``GroupShare`` model.

API Changes
~~~~~~~~~~~

- Added API endpoint to list members awaiting access

v8.21
-----

- Ignore querystrings when looking up release artifacts
- Add Visual Studio authentication provider for plugins.
- Add "team" parameter to the project details API.
- Added mailing list support (via ``List-Id`` header) to digest emails.

Schema Changes
~~~~~~~~~~~~~~

- Added ``IdentityProvider`` model.
- Added ``Identity`` model.
- Added ``UserIdentity`` model.
- Added ``ProjectTeam`` model


v8.20
-----
- Make BitBucket repositories enabled by default
- Add raw data toggle for Additional Data
- Improved function name resolving for JavaScript sourcemaps

- Add initial support for Redis Cluster.
- Support a list of hosts in the ``redis.clusters`` configuration along side
  the traditional dictionary style configuration.
- Better support for rendering rich JSON and URL encoded HTTP bodies by
  guessing the content type based on format heuristics.
- Better support for sanitizing of string HTTP bodies.

Schema Changes
~~~~~~~~~~~~~~

- Added index on ``ProjectPlatform(last_seen)`` column
- Added index on ``GroupCommitResolution.commit_id``
- Enable ``citext`` extension in Postgres.
- Dropped ``TagKey.project_id`` foreign key constraint
- Dropped ``TagValue.project_id`` foreign key constraint
- Dropped ``GroupTagKey.project_id`` foreign key constraint
- Dropped ``GroupTagKey.group_id`` foreign key constraint
- Dropped ``EventUser.project_id`` foreign key constraint
- Added ``Email`` model
- Change ``CommitFileChange.filename`` from varchar to text in PostgreSQL

v8.19
-----

- Hide project filter when there are no projects to list.
- Added lookup methods to constants to get a unique `integration_id` for a given
  event, and to get information (documention url, human readable name) from that id.

Schema Changes
~~~~~~~~~~~~~~

- Added ``Integration``, ``OrganizationIntegration``, and ``ProjectIntegration`` models
- Added ``Repository(integration_id)`` column

v8.18
-----

- Expanded resolution options to allow current and explicit versions.
- Added proguard support
- Removed support for global dsyms.
- Moved Queue admin page to React.
- Replaced usage of jQuery Flot library with internal graphs.
- Expanded ignore actions to include deltas and rates for both occurrences and
  users impacted.
- Add a new option (`auth.allow-registration`) for determining whether registration
  is allowed on an installation.
- Moved "create organization" into React.
- Expanded React Form components (Form, ApiForm).
- Moved "create team" into React.
- add Slack to supported auth backends in social auth (for plugins)
- Expanded resolution actions (on stream) to include current release and explicit
  release.

Schema Changes
~~~~~~~~~~~~~~

- Added Release.commit_count
- Added Release.last_commit_id
- Added Release.authors
- Added Release.total_deploys
- Added Release.last_deploy_id
- Added ``FeatureAdoption`` model
- Removed DSymBundle
- Removed DSymObject
- Removed DSymSDK
- Removed DSymSymbol
- Removed GlobalDSymFile
- Added GroupHash.state
- Drop index on ``ReleaseEnvironment(project_id)``
- Drop index on ``ReleaseCommit(project_id)``
- Drop unique constraint on ``ReleaseEnvironment(project_id, release_id, environment_id)``
- Added GroupResolution.type
- Added GroupResolution.actor_id
- Added Project.platform
- Added GroupSnooze.actor_id
- Added ScheduledJob
- Added GroupResolution.actor_id
- Added ``ScheduledJob`` model
- Added User.last_active

API Changes
~~~~~~~~~~~

- Project keys endpoint will include all available keys by default. Use
  ``status=active`` to retain the old behavior.

v8.17
-----

- Added @mentions to comments
- Initial (internal) analytics abstraction.
- Turned on reprocessing by default
- Added basics for Data Forwarding integrations.
- Changed the grouping and default `in_app` values for cocoa events.
- Removed global dsym support.
- Removed support for legacy apple report format.
- The threads interface now contributes to grouping if it contains a single thread.
- Added per-key (DSN) rate limits (``project:rate-limits`` feature).
- Added tsdb statistics for events per-key.
- Added ``sentry.deletions`` abstraction to improve bulk deletions.
- Added basic workspace for Visual Studio Code.
- Added hovercards for Issue IDs in activity entries.
- Added event count options to ignore.
- Added user frequency options to ignore.

Schema Changes
~~~~~~~~~~~~~~

- Dropped ``GroupTagValue.group_id`` foreign key constraint
- Dropped ``GroupTagValue.project_id`` foreign key constraint
- Added ``Deploy.notified`` column
- Added index on ``EventTag.date_added``
- Added unique index on ``Environment(organization_id, name)``
- Added unique index on ``ReleaseEnvironment(organization_id, release_id, environment_id)``
- Added ``EventUser.name`` column
- Added ``UserReport.event_user_id`` column

v8.16.1
-------

- Fixed issue in migration 0302 that prevented upgrading

v8.16
-----

- Added data migration to create UserEmail objects for users whose primary emails did not have them
- Time series data (used by graphs and other features) is now updated when groups are merged.
- Added distributions to the release system to better support mobile apps
- Update activity entries to reference issues by their short ID.
- Added user notifications settings for deploy emails.

Schema Changes
~~~~~~~~~~~~~~

- Added ``Distribution`` model
- Added ``ReleaseFile.dist`` column
- Added ``UserOption.organization`` column
- Added ``CommitAuthor.external_id`` column

API Changes
~~~~~~~~~~~

- Deprecate `dateStarted` in releases endpoints

v8.15
-----

- Added overview for a release to view a breakdown of files changes, commit authors, new issues, and issues resolved
- Refactor usage of ``sentry.app`` to use individual modules.
- Implemented ``--concurrency`` on ``sentry cleanup``
- Added support for the new symbol server system to support native SDKs better.
- Added deploy email
- Added OAuth2 support to the web API.
- Simplified management of secondary email addresses.
- Fixed an issue where changing primary email address would remove the pre-existing verified email.
- Disallow duplicating primary emails for users moving forward.
- Resolve issues when commits with ``Fixes SHORTID`` are included in releases
- Added support for associating debug symbols with iTunes applications and builds.
- Added the ability to claim unassigned issues when resolving them.

API Changes
~~~~~~~~~~~

- Added CommitFileChangeEndpoint
- Added IssuesResolvedInReleaseEndpoint
- Added ReleaseDeploysEndpoint
- Added OrganizationReleaseCommitsEndpoint
- Added EventFileCommittersEndpoint
- Added ReleaseDeploysEndpoint

Schema Changes
~~~~~~~~~~~~~~

- Added ``Deploy`` model
- Added ``ApiApplication`` model
- Added ``ApiAuthorization`` model
- Added ``ApiGrant`` model
- Removed ``ApiToken.key`` column
- Added ``ApiToken.application`` column
- Added ``ApiToken.refresh_token`` column
- Added ``ApiToken.expires_at`` column
- Added ``ApiToken.scope_list`` column
- Added ``ApiKey.scope_list`` column
- Added ``ReleaseHeadCommit`` model

Security
~~~~~~~~

- Added encryption to the following fields:
  - AuthIdentity.data
  - AuthProvider.config
  - Option.value
  - OrganizationOption.value
  - ProjectOption.value
  - UserOption.value

v8.14.1
-------

- Fixed issues related to migrations failing to finish for 8.14
- Fixed an issue where Release version names were erronously too restrictve.
- Fixed an issue where "New Issues" counts would have all been 0 for releases created in 8.14.

v8.14
-----

- Added new internal processing interface that supports multiple processing steps per stacktrace (for instance JavaScript + native)
- Add IE10 legacy browser filter
- Added data migration to merge legacy releases
- Added support for symbolizing inlined frames and added heuristics for fixing up native stacktraces.
- Removed instruction_offset as a frame attribute from stacktraces
- [BREAKING] Quotas must now instantiate RateLimited and NotRateLimited return values.
- [BREAKING] Redis quota implementations now return BasicRedisQuota instead of tuples.
- Commits using the ``Fixes SHORTID`` annotation will now be tracked appropriately.
- Release functionality is now detected at a project level to enable various features.
- Added basic encryption facilities (``sentry.utils.encryption``).
- Added support for "Fixes XXX, YYY" and "Fixes XXX YYY" notations.
- Added bulk "Resolve in Next Release" to stream actions.
- Various visual improvements to notifications, including the addition of
  transactions.
- Plugins can now add tasks that run in sentry as celery workers.
- Added the ability to verify TLS connections when fetching artifacts.
- Added data migration to merge environments across an organization
- Added ``timesSeen`` keyword to issue search.
- Added feature signals, such as first time release tracking is enabled.

API Changes
~~~~~~~~~~~

- Added OrganizationReleasesEndpoint.
- Added context type ``app`` for cocoa events.
- Added ``assignedTo`` param to ``/projects/{org}/{project}/issues/``.
- Split out filtered stats onto Inbound Data Filters page
- Added OrganizationReleasesEndpoint
- Added OrganizationReleaseFileEndpoint

Schema Changes
~~~~~~~~~~~~~~

- Added unique index on ``Release(organization_id, version)``
- Removed unique index on ``Release(project_id, version)``
- Added ``GroupCommitResolution`` model.
- Added ``Environment.organization_id`` column.
- Added ``EnvironmentProject`` model.
- Added ``Project.flags`` column.
- Added not null constraint to ``Environment.organization_id`` column.
- Removed not null constraint on ``Environment.project_id`` and ``ReleaseEnvironment.project_id`` columns

v8.13
-----

- Added individual filters for legacy browsers to improve customization of error filtering based on browser versions
- Support for setting a custom security header for javascript fetching.
- start using ReleaseProject and Release.organization instead of Release.project
- Project quotas are no longer available, and must now be configured via the organizational rate limits.
- Quotas implementation now requires a tuple of maximum rate and interval window.
- Added security emails for adding and removing MFA and password changes.
- Added the ability to download an apple compatible crash report for cocoa events.
- Add memory and storage information for apple devices
- The legacy API keys feature is now disabled by default.
- Show Images Loaded section for cocoa events with version number.
- Added registers to stacktrace for cocoa exceptions.
- Fixed bug where workflow notification subject may not include a custom email prefix.
- Added configurable subject templates for individual alert emails (`mail:subject_template` option).
- Added data migration to populate ReleaseProject.new_groups
- Moved organization settings to React.
- Added support for managing newsletter subscriptions with Sentry.io

Schema Changes
~~~~~~~~~~~~~~

- Added ``ReleaseProject.new_groups`` column.
- Moved organization settings to React.

Schema Changes
~~~~~~~~~~~~~~

- Added ``ReleaseProject.new_groups`` column.
- Added ``OrganizationAvatar`` model.

API Changes
~~~~~~~~~~~

- Added avatar and avatarType to ``/organizations/{org}/`` endpoint.
- Provide commit and author information associated with a given release
- Provide repository information for commits
- Added new internal processing interface that supports multiple processing steps per stacktrace (for instance JavaScript + native)

v8.12
-----

- Fix bug where some users would incorrectly not receive workflow notifications for projects they were subscribed to.
- restructured dSYM processing.  It now records errors in the symbolication process
  more accurately and will report system errors them to the internal logger.
- Added data migration to backfill legacy release data
- Added data migration to backfill legacy commit data
- Added data migration to backfill legacy release file and environment data
- Allow gziped/deflated JavaScript artifacts to be uploaded through the API.
- Shared issue view no longer shows SDK.
- Added ``activeSince`` to search (uses ``active_at``).
- Added ``firstSeen`` to search (uses ``first_seen``).
- Added ``lastSeen`` to search (uses ``last_seen``).
- Added ``firstRelease`` to search (uses ``first_release``).
- Fixed usage (and propagation) of ``Group.first_release``.
- The + and - datetime search helpers now work with ranges (e.g. ``<=``).
- Added the ability to download artifacts from releases.

SDKs
~~~~

- The `repos` interface has been added.

Schema Changes
~~~~~~~~~~~~~~
- Added ``Release.organization`` column.
- Added ``ReleaseProject`` model.
- Added ``ReleaseCommit.organization_id`` column.
- Added ``ReleaseFile.organization`` column.
- Added ``ReleaseEnvironment.organization_id`` column.

v8.11
-----

- Ignore a ``null`` ``Origin`` header for authentication.
- Added the ability to search for issues that you are subscribed to from the stream view.
- Added the ability to search issues by their last seen timestamp.
- Improved UI for password and API key fields used in integrations
- Fixed bug where API responses would include incorrect `isSubscribed` values for issues.
- Added support for switching to unsymbolicated tracebacks in cocoa.
- Invalidate user sessions when changing password and 2fa settings.
- Add configurable password validators to enforce password strength.
- Send email to specific email when adding a new email rather than sending to all unverified email addresses.
- Allow user to resend email verification to primary email address.
- Added additional detail to subscription help text when viewing a group.
- Add Asana to supported auth backends in social auth (for plugins)
- Cleaner install UI when creating a new project.
- Added support for recording symbols separately in frames independent of the function.
- Reduce noisy Postgres logs from inserting duplicate onboarding rows.
- Added device icons for Apple Watch and Apple TV
- Added export action to group tag details.
- Improved display of user tags.
- Added 'transaction' tag which automatically populates from explicit culprits.
- Added beginnings of repository management to UI (behind `organizations:repos` feature).

Schema Changes
~~~~~~~~~~~~~~

- Added ``User.session_nonce`` column.
- Added ``CommitFileChange`` model.
- Added ``Repository.url`` column.
- Added ``Repository.provider`` column.
- Added ``Repository.config`` column.
- Added ``Repository.external_id`` column.
- Added ``Repository.status`` column.

API Changes
~~~~~~~~~~~

- Added ``/organizations/{org}/config/repos/`` endpoint.
- Added ``/organizations/{org}/repos/{repo}/`` endpoint.

v8.10
-----

- New and improved UI.
- Removed previously deprecated ``sentry celery`` command.
- Replaced the ``events`` queue with ``events.{preprocess,process,save}_event``.
- Added Danger (danger/danger) for monitoring various PR requirements.
- Enabled organization weekly report emails for all organizations.
- Add S3 filestore backend.
- ``SENTRY_FILESTORE`` deprecated and replaced with ``filestore.backend``
- ``SENTRY_FILESTORE_OPTIONS`` deprecated and replaced with ``filestore.options``
- Add watchOS support for cocoa interface.
- Fix support for internationalized Origins and raven-js.
- SSO is now enforced to access data within any org that has it set as a requirement.
- Improved rendering of weekly report email on mobile devices.

API Changes
~~~~~~~~~~~

- Add ``/organizations/{org}/repos/`` endpoint.
- Add ``/organizations/{org}/repos/{repo}/commits/`` endpoint.
- Add ``/projects/{org}/{project}/releases/{version}/commits/`` endpoint.
- SSO restrictions are now applied across session-based API authentication.

Schema Changes
~~~~~~~~~~~~~~

- Added ``Repository`` model.
- Added ``Commit`` model.
- Added ``CommitAuthor`` model.
- Added ``ReleaseCommit`` model.
- Added index on ``GroupTagValue(project, key, value, last_seen)``.
- Dropped index on ``GroupTagValue(project, key, value)``.

v8.9
----

- Added support for Elixir.
- Improve performance for bulk deletions of Events and Groups.
- Fix rate limit logic for single organization mode.
- Added ``--no-repair`` flag for ``sentry upgrade`` for large installs.
- Fixed bug with merging counters yielding the wrong values.
- Require password confirmation when enabling/disabling 2fa.
- Collapse repeated frames in the stacktrace UI.
- Added weekly report emails behind feature flag.
- Rebrand Rules as Alerts / Alert Rules.
- Add frequency to Alerts.

Schema Changes
~~~~~~~~~~~~~~

- Added unique index on ``Authenticator(user_id, type)``

v8.8
----

- Added unique user frequency rule condition.
- Fixed a major performance regression from 8.7 on the ``GroupTagValue`` model.
- Various security fixes related to CSRF and XSS.
- Server side filtering of event ingest.

Schema Changes
~~~~~~~~~~~~~~

- Removed ``HelpPage`` model.
- Added ``OrganizationMember.token`` column.
- Removed ``OrganizationMember.counter`` column.

v8.7
----

- Removed "Replay Request" feature.
- Upgraded underlying redis library to resolve some networking issues.
- Added support for minified React exceptions.

Schema Changes
~~~~~~~~~~~~~~

- Remove index ``GroupTagValue(project_id)``.
- Added ``Rule.status`` column.
- Added ``GroupRelease`` model.
- Added ``Environment`` model.
- Added ``ReleaseEnvironment`` model.

v8.6
----

- The ``message`` attribute on Event/Group is now purely used for search storage.
- The ``sentry.interfaces.Message`` interface now contains a ``formatted`` attribute.
- ``SENTRY_MANAGED_USER_FIELDS`` now defaults to an empty list.
- Issues now render based on the type of data present, which are represented by
  the type and metadata attributes in API responses.
- Stacktrace rendering has been greatly simplified and unified across languages.
- Client's may now pass the 'contexts' attribute, which will eventually supercede 'extra'.
- Various named contexts are now automatically generated and summarized for Cocoa and JavaScript
  issues.
- Added JSON formatting for logs with ``system.logging-format``.
- Added a ``loglevel`` command line flag to most commands.
- Added two factor authentication support.
- Added support for setting IP address of an event automatically on event submission for all platforms.
- Added unsubscribe links to mails.
- Added email verification.
- Added ability to link/unlink Issues, support is dependent on plugins.
- Can now toggle between minified/original code in stacktraces where sourcemaps were applied.
- Can now upload release artifacts with tilde prefix (~) to omit protocol + host in URL lookups.

Schema Changes
~~~~~~~~~~~~~~

- Added ``User.is_password_expired`` column.
- Added ``User.last_password_change`` column.
- Added ``UserEmail`` model.
- Added unique index on ``GroupTagValue(group_id, key, value)``
- Remove unique index on ``GroupTagValue(project_id, group_id, key, value)``
- Added index on ``GroupTagValue(project_id, key, value)``
- Added ``GroupSubscription`` model.

v8.5.1
------

- Fixed issue with new Unsubscribe links in emails not working.
- Fixed bug with raven-js compatibility with IE8.
- Fixed bug handling IPv6 addresses.

v8.5
----

- Added option to upload a profile image as an alternative to Gravatar.
- Deprecated ``sentry celery`` subcommand in favor of ``sentry run {worker|cron}``.
- Breadcrumb interface now rendered in event UI.
- Project notification settings page now indicates if current user is subscribed to active project.
- User is now automatically redirected to login page if their session expires inside React client application.
- Added new auth tokens to deprecate the usage of the older API keys.

Schema Changes
~~~~~~~~~~~~~~

- Added ``ProjectPlatform`` model.
- Added index on``EventTag`` index.
- Added unique index on ``UserReport`` model.
- Added ``UserAvatar`` model.
- Added ``EventTag.group_id`` column.
- Added ``ApiToken`` model.
- Added ``Authenticator`` model.


v8.4.1
------

- Fixed issue in running 8.4 migrations on MySQL only.
- Fixed issue that caused an infinite loop in ``patch_context.py`` under a race condition.
- Silently ignore breadcrumb data coming from clients instead of showing an error in the UI.

v8.4
----

- Fixed bug that caused some email subjects to be generated without respecting the project subject prefix option.
- Organization's can now opt-in to early adopter features (via organization settings).
- User Feedback is now enabled by default.
- Deprecated ``sentry start`` in favor of new ``sentry run``.
- Access is no longer restricted by default to the domain matching ``system.url-prefix``. You must opt into this by setting ``ALLOWED_HOSTS`` explicitly.
- Replaced Gravatar mystery man with letter avatars
- Added 'Events Per Hour' graph to organization dashboard
- Moved organization activity stream to main column from sidebar

Schema Changes
~~~~~~~~~~~~~~

- Added ``DSymSymbol`` model.
- Added ``DSymSDK`` model.
- Added ``DSymObject`` model.
- Added ``DSymBundle`` model.

v8.3.3
------

- [SECURITY] Fixed a bug which allows API keys more permission than granted within the organization.

v8.3.2
------

- Fixed bug affecting only MySQL users, see `GH-3030 <https://github.com/getsentry/sentry/issues/3030>`_.

v8.3.1
------

- Fixed bug that, ironically, prevented saving a saved search.
- Fixed bug when merging groups and the counts are merged incorrectly.
- Fixed bug that caused the Installation Wizard to never go away if using a non-smtp email.backend setting.
- Fixed an ImproperlyConfigured issue from a cascading error.

v8.3.0
------

- Added initial support for per-project callsigns and short IDs.  This feature is not exposed to users yet.
- Improved static file delivery performance.
- Added CLI tool to monitor queue sizes. ``sentry queues --help``
- Moved email configuration into ``config.yml``.
- Added mailing list support (via ``List-Id`` header) for outbound email.
- URLs for issues that have been merged now redirect to the issue that absorbed the requested issue.
- Projects can now be bookmarked in the UI.
- Dashboard is now the default view for an organization.

Schema Changes
~~~~~~~~~~~~~~

- Added ``ProjectDSymFile`` model.
- Added ``Counter`` model.
- Added ``GlobalDSymFile`` model.
- Added ``Group.short_id`` column.
- Added ``sentry_increment_project_counter`` function for PostgreSQL.
- Added ``Project.forced_color`` column.
- Added ``GroupRedirect`` model.

v8.2.5
------

- [SECURITY] Fixed a bug which allows API keys more permission than granted within the organization.

v8.2.4
------

- [SECURITY] If being run in multi-organization mode, it was possible for a user to craft a URL which would allow them to view membership details of other users.

v8.2.3
------

- Fix compatibility with Redis 2.8.9.

v8.2.2
------

- [SECURITY] Fixed an issue where a superuser had the ability to inject data into audit logs through the admin UI.

v8.2.1
------

- Fix compatibility with setuptools 20.2

v8.2.0
------

- SENTRY_DISALLOWED_IPS is no longer configured by default. If you're exposing Sentry outside of your company you may wish to configure this.
- Do not require the documentation sync on repair to succeed.
- Added basic organization on-boarding.
- Project keys are no longer usable within the web API.
- Allow requiring data scrubbing security options as an organization wide setting.
- Added basic support for dsym symbol handling.  This feature might leave behind temporary files when used in this version.
- Added support for named Redis clusters for consistency in Redis connection management (GH-2693). This adds a ``redis.clusters`` section to ``config.yml`` (see documentation), and deprecates the ``SENTRY_REDIS_OPTIONS`` setting and per-backend configuration of Redis clusters.

Schema Changes
~~~~~~~~~~~~~~

- Added ``ProjectBookmark`` model.
- Added ``EventTag`` model.
- Added ``OrganizationOnboardingTask`` model.

v8.1.5
------

- [SECURITY] If being run in multi-organization mode, it was possible for a user to craft a URL which would allow them to view membership details of other users.

v8.1.4
------

- [SECURITY] Fixed an issue where a superuser had the ability to inject data into audit logs through the admin UI.

v8.1.3
------

- Fix compatibility with setuptools 20.2

v8.1.2
------

- [CRITICAL] Fix issue running ``sentry start`` with supervisord.
- Fix compatibility with older versions of djangorestframework.
- Updated member invitation emails.

v8.1.1
------

- Fix broken static files compiled from 8.1.0. :(

v8.1.0
------

- Default web server is now uWSGI (https://uwsgi-docs.readthedocs.io/en/latest/) to replace gunicorn.
- New "Saved Searches". See: http://blog.getsentry.com/2016/01/19/introducing-saved-searches.html

Schema Changes
~~~~~~~~~~~~~~
- Remove FK constraints from ``Event.group_id``, ``Event.project_id``, ``EventMapping.group_id``, and ``EventMapping.project_id``.
- Added ``SavedSearch.is_default`` column.
- Added new ``SavedSearchUserDefault`` model.

v8.0.6
------

- Fixed assignee dropdown not being clickable from touch devices.
- Don't ignore ``SENTRY_WEB_OPTIONS['workers']`` value if set.
- Fix Global Throughput dashboard in admin.
- Fix display for Release names when they include special characters.
- Added new ``sentry config generate-secret-key`` to help with regenerating a new SECRET_KEY value if needed.

v8.0.5
------

- [CRITICAL] Fixed another issue where performing a bulk merge could merge more than intended. We're pretty confident we got this all squared away now. :(
- Fixed a bug where Issue assignment emails weren't being delivered.

v8.0.4
------

- Fixed an issue where notification digests weren't sending on some systems.

v8.0.3
------

- [CRITICAL] Fixed an issue where performing a bulk merge would merge more than intended.
- Fixed saving the "Use Default Scrubbers" project setting
- Fix syncing documentation when behind an http proxy

v8.0.2
------

- Fix ``IntegrityError`` after merging groups.
- Be less noisy about ``Cannot digest timeline, timeline is not in the ready state.``
- Fix incorrect ``Install`` links.
- Fixed being able to select a Chinese locale.
- Multiple bulk deletion improvements and bug fixes.
- Clarify ``Forcing documentation sync`` error messaging.

v8.0.1
------

- Ignore ``blob:`` urls in hashing algorithms.
- Bump ``extra`` data size to 16k (previously 4k)
- Fixed some odd behavior where superusers appeared as members of a team when they weren't.
- By default, new superusers created through ``sentry createuser`` will be added as a member to a team, if there is only one team available.

v8.0.0
------

Version 8 of Sentry introduces a brand new frontend. Most of the application has been overhauled
and rewritten on top of React and our web API. Additionally many new features have been exposed
related to workflows (user assignment, snooze, resolution) and release tracking. This changelog
does not attempt to capture the six+ months of incremental features and improvements in this
release of Sentry.

A Note on MySQL
~~~~~~~~~~~~~~~

Due to numerous issues over the years and recent discoveries that nearly all schema migration was
broken in MySQL (due to some behavior in our migration tool), we've made the decision to no longer
support MySQL. It is possible to bring the schema up to date on a MySQL machine, but Sentry's
automated migrations will likely not work and require DBA assistance.

Postgres is now the only supported production database.

A Note on Workers
~~~~~~~~~~~~~~~~~

In the past it was supported to run Sentry's queue workers with the `-B` option to also spawn
a celery beat process within the worker.  This is no longer supported as it causes problems in
some queue setups (in particular if redis is being used).  Instead you should now spawn two
independent processes.  This is outlined in the installation documentation.

Changes to Quotas
~~~~~~~~~~~~~~~~~

Team and System based quotas are now longer available. A new organization-relative project quota replaces them
and can be configured via Rate Limits on the organization dashboard.

Notification Digests
~~~~~~~~~~~~~~~~~~~~

Email notifications will now automatically rollup if the rate of notifications exceeds a threshold. These can be
configured on a per project basis in Project Settings.

Configuration
~~~~~~~~~~~~~

An Install Wizard has been added to aid in configuring necessary first-run options. Notably your Admin Email,
and URL Prefix. The Installation Wizard will also help any future updates and aid when new options are introduced.

A new configuration backend is now utilized for several options. These options can now be
configured via the web UI.

- A new configuration file, `config.yml` has been introduced. This new file is generated during `sentry init`
  the first time, and expected to be pointed at a directory. `config.yml` is the home for new configuration options that will be moved from the existing python config file.

- ``SENTRY_URL_PREFIX`` has been deprecated, and moved to `system.url-prefix` inside of `config.yml` or it
  can be configured at runtime.

- ``INTERNAL_IPS``, if configured, will now restrict superuser access to only users with both ``is_superuser``
  and a matching IP.

CLI
~~~

The `sentry` CLI tooling has been rewritten to be faster and less confusing.

Static files
~~~~~~~~~~~~

Static files are now served with a far-futures Cache-Control header, and are versioned by default. If you were serving `/_static/` explicitly from your server config, you may need to update your rules or adjust the `STATIC_URL` setting accordingly.

General
~~~~~~~

- Source builds now require Node 0.12.x or newer.
- The ``public`` setting on projects has been removed
  - This also removes ``SENTRY_ALLOW_PUBLIC_PROJECTS``
- Clients which were only sending ``sentry_key`` and not using CORS will no
  longer be able to authenticate.
- All incoming events now log through ``sentry.api``, which will additionally
  capture far more events with improved console formatting.
- The 'sentry' user can no longer be removed.
- The Cassandra nodestore backend was broken, and this has been resolved.
- The ``has_perm`` plugin hook is no longer used.
- Do not unconditionally map sys.stdout to sys.stderr
- The HTTP interface's internal structure has greatly changed. Headers and Cookies are now lists. Body
  is now stored as a string.
- The internal metrics backend now supports both Datadog and a simple logging implementation (useful in DEBUG).
- Member roles can now view client keys (DSNs).
- Documentation for configuration wizards is now pulled from docs.getsentry.com as part
  of the ``upgrade`` and ``repair`` processes.
- The SSO flow for existing users has been greatly improved to avoid duplicate accounts.
- Deletions are delayed for one hour and can be cancelled by changing the status
  back to ``VISIBLE``.
- Membership permissions have been overhauled and have been flattened into a single tiered
  role. Additionally owners will no longer be automatically added to new teams.
- ``NotificationPlugin`` now requires ``is_configured`` to be declared.
- ``sentry.search`` should no longer be extended (``index`` and ``upgrade`` have been removed)

Client API
~~~~~~~~~~

- The ``culprit`` attribute will now automatically be filled when not present.
- The ``in_app`` attribute on frames will now be computed on event submission when not present.
- The ``ip_address`` value will always be stored on the user interface when possible.
- The user interface no longer accepts data missing one of the required identifiers.
- The ``fingerprint`` value is now stored in ``Event.data``.
- The ``environment`` attribute is now soft-accepted and tagged.

Schema Changes
~~~~~~~~~~~~~~

- Removed the ``Project.platform`` column.
- Removed the ``Project.organization`` column.
- Removed the ``AccessGroup`` table.
- Added ``EventUser`` table.
- Added ``user.{attribute}`` to search backends.
- Added ``Project.first_event`` column.
- Added ``Release.owner`` column.
- Added ``Organization.default_role`` column.
- Added ``OrganizationMember.role`` column.
- Added ``Broadcast.upstream_id`` column.
- Removed ``Broadcast.badge`` column.
- Added ``Broadcast.title`` column.
- Migrated blob data in ``File`` to ``FileBlob``.
- Removed ``File.storage`` column.
- Removed ``File.storage_options`` columns.
- Added ``OrganizationOption`` table.
- Added ``GroupSnooze`` table.
- Added ``GroupResolution`` table.
- Added ``GroupBookmark.date_added`` column.
- Removed ``User.last_name`` column.
- (App-only) Renamed ``User.first_name`` to ``User.name``.
- Removed ``Activity.event`` column.
- Removed ``Event.num_comments`` column.

v7.7.1
------

- Pin Kombu dependency due to incompatibility.

v7.7.0
------

- The behavior of ``create_or_update`` has changed. If you're using it please see the updated function.
- Added ``Group.first_release`` column.
- Added ``SavedSearch`` model for future features.
- Added ``Release.new_groups`` column.
- The explore feature is now deprecated and links have been hidden.
- Expanded various API endpoints for future usage.
- Initial prototype of embeddable crash reports. This adds the ``UserReport`` model.
- Added basic UI reporting for status checks.
- Added celery/beat alive check.
- Added celery app version check.
- Added queue overview to internal administration.
- Upped TSDB's storage of 10s to 60m of data.
- Added protocol version 7 to client spec.
  - Adds ``fingerprint`` attribute.
- The behavior of ``SENTRY_ENABLE_EXPLORE_USERS`` is now default and the setting has been removed.

v7.6.2
------

- Improved (fixed?) static bundling in various conditions.

v7.6.1
------

- [Security] An XSS vulnerability was addressed with low cardinality tags and the stream filter box:
  https://github.com/getsentry/sentry/commit/364b959811561de83f29893e105cc590224edbee

v7.6.0
------

This releases entirely removes Access Groups. If you're upgrading from an installation that had yet to migrate away from this system you should first upgrade to a previous version, run the migration wizard, and then continue the upgrade.

- The project-wide Alert system has been removed (to be re-implemented in the future).
- Access groups have been permanently removed.
- Added 'access_token' to data blacklist.
- The legacy (unused) search tables have been removed.
- Upgrades must now be applied manually via ``sentry upgrade`` or with ``sentry start --upgrade``.
  (Don't forget to use ``--noinput`` if you're doing this via automated tooling!)
- ``Event.checksum`` and ``Group.checksum`` have been removed.
- The ``cleanup`` task has been removed (the command is still available).
- Various optimizations to ``cleanup`` for Postgres users.
- Within single organization mode users will automatically be added to the default organization.
- Added ``Organization.merge_to()`` helper to assist with merging organizations.
  (i.e. in an on-premise install which wants to convert to a single organization)
- New ``import`` and ``export`` commands now exist for creating backups of critical metadata
  (i.e. api keys, projects, user settings)

v7.5.6
------

- Improved (fixed?) static bundling in various conditions.

v7.5.5
------

- [Security] An XSS vulnerability was addressed with low cardinality tags and the stream filter box:
  https://github.com/getsentry/sentry/commit/364b959811561de83f29893e105cc590224edbee

v7.5.4
------

- Yet another case where valid team membership was being excluded.

v7.5.3
------

- Fix another case where valid team membership was being excluded

v7.5.2
------

- Correctly support SENTRY_PROJECT.

v7.5.1
------

- Fix case where certain pages were not correctly including valid team membership
- Fix default user creation (regain automated signal)
- Fix sampling of internal metrics

v7.5.0
------

This release removes the ability to login or create accounts using a social auth backend.

If your install was based purely on social accounts you'll need to use the standard reset password flows to recover accounts.

Redis must be at least version 2.6.12.

- Interface.compute_hashes() now receives the platform of the event.
- Server-side data scrubbers were incorrectly filtering invalid interface aliases.
- The sensitive_fields option is now exposed in project settings.
- The default logger name is now an empty value.
- Celery has been upgraded to 3.1 and is now available at 'sentry.celery'.
- Facebook, Google, and Twitter identities are no longer available.
- Plugin's inheriting from TagPlugin are now based on v2 of the API.
- Metrics (counters) are now collected both in sentry.tsdb and an optionally configured statsd
  instance.
- Organizations can now toggle open membership which allows members to freely join/leave any team.
- ProjectKey.user has been removed.
- Organization API keys are now exposed in the UI.
- Team.owner has been removed.
- TeamMember has been removed.
- PendingTeamMember has been removed.
- Added OrganizationMember.counter.
- Added 'sentry.db.postgres' optimized Postgres backend.
- Added ReleaseTrackingPlugin and various release-focused endpoints.
- Dedicated configuration pages for Release Tracking and Issue Tracking integrations now exist.
- Several additions to the Release schema.
- Notification integrations are now present within project's notification settings.
- Fixed an issue with tag key deletion not following explicit constraints.

v7.4.3
------

- Corrected various issues involving sampled data. Things should now sample according to actual MATH.


v7.4.2
------

- Corrected invalid reference to SENTRY_ALLOW_REGISTRATION.


v7.4.1
------

- Correct an issue with AuthProvider's migrations on MySQL.


v7.4.0
------

- A new features subsystem was added, and many optional features are now run through it.
- The 'add_organization' permission is no longer used.
- The 'add_team' permission is no longer used.
- SENTRY_ALLOW_REGISTRATION is deprecated in favor of SENTRY_FEATURES['auth:register'].
- SOCIAL_AUTH_CREATE_USERS is deprecated in favor of SENTRY_FEATURES['social-auth:register'].
- SENTRY_SERVER_EMAIL is no longer used.
- Added first pass API at storing javascript artifacts via release APIs.
- Improved error reporting for JavaScript source/sourcemap errors.
- Improved configuration handling on sentry.cache.
- Added various release API endpoints.
- Added various organization API endpoints.
- Added various tag API endpoints.
- Sourcemaps will now always treat sourceRoot as a path.
- Changed many permissions to use new sentry.access abstractions which are now
  scoped based, shared with the API scopes.
- Initial first pass at the SSO subsystem.
- The Sentry internal client will now aggressively prevent recursive errors, but allow more
  internal errors to be recorded to itself.
- An XSS vulnerability with tag values not being escaped (on the group details page) has been resolved.


v7.3.2
------

- Fixed missing beacon task import.

v7.3.1
------

- Updated Gunicorn version and default configuration.
- Fixed periodic task for beacon.

v7.3.0
------

- The SENTRY_ADMIN_EMAIL setting now exists, and should be the technical contact for the install.
- Fixed an issue that would cause job fanout in deletions.
- Notifications are now sent when someone assigns you to an event.
- Release objects are now created automatically.
- Changed team-based API endpoints to use slugs.
- New API endpoints:
  - Help page list
  - Help page details
  - Group tag values
  - Project tag values
- Moved JavaScript sourcemap processing into language extension.
  - Sourcemap processing errors are now annotated into the frame.
- Refactored API to be scope-based permissions.
- Added backend support for organization API keys.
- Moved sentry_webhooks into builtins.
- Added reporting Beacon (see docs).

v7.2.0
------

- A py.test plugin now exists to make extension testing easier.
- A Mailgun webhook endpoint is now available for incoming email.
- Added security token for JS source expansion.
- Duct tape workaround for event navigation buttons repeating the same event.
- Origins now support custom protocols as well as relaxed support on other components.
- Minor optimizations for deletion tasks and endpoints.
- Minor optimizations for Redis buffer.
- Added the ability to enable/disable project keys.
- Added audit log entries for project keys.
- Added UI, API, and async task for deleting project tag keys.
- Various fixes/improvements to regression windows.
- Rules will no longer execute duplicate actions.
- EventFrequencyCondition will now fire a maximum of once every 30 minutes.

v7.1.4
------

- Fixed an issue with hourly rollups not expiring accurately in TSDB

If you've been running a 7.x series release for a while you may considering running a cleanup script to ensure erroneous values dont still exist in Redis:

  https://gist.github.com/dcramer/55a44904be883f8d03e1


v7.1.3
------

- Resolved an issue with migrations we created in 7.1.2.


v7.1.2
------

- Fix migrations to ensure org/teams arent created with empty slugs.


v7.1.1
------

- Suggest realip module over X-Forwarded-For


v7.1.0
------

Plugin v2
~~~~~~~~~

The beginnings of version 2 of the plugin interface have landed. This will expand over time but currently includes the following hooks:

- get_actions
- get_annotations
- get_event_preprocessors
- get_notifiers
- get_rules
- get_tags

Other Changes
~~~~~~~~~~~~~

- crossdomain.xml no longer supports projects-by-slug.
- A basic file storage abstraction is now available internally.
- The project group list API endpoint now has pagination.
- Several API endpoints have been added to public docs.
- X-Forwarded-For is now handled automatically (and we do not support non-proxy installs).
- Various tweaks to GroupMeta caching.
- The raven-python Sentry server-specific client code is now part of Sentry.
- Various improvements to tag rendering.
- Various improvements to bulk deletion strategies.
- Added NodeStore.multi_delete.


v7.0.0
------

Between version 6.4.x and 7.0 a significant number of changes have landed (approximately a years worth of commits). There are a large number of overall architecture changes, as well as various API compatibility changes. This document does not attempt to cover them all.

As many things have changed, it's strongly recommended that you regenerate your ``sentry.conf.py`` (using ``sentry init``) and merge in your custom settings.

Backwards Incompatible Changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- Django has been upgraded to 1.6
- The buffer API has been rewritten and the Redis buffer has had its performance greatly improved.
- The UDP server has been removed. Threaded/async models or a buffer proxy are the preferred replacement.
- The ``is_rate_limited`` plugin hook has been removed in favor of singular quota managers.
- The trends feature has been removed until it can be reimplemented in a more scalable way.
- Filters have been removed. Integrations should use the tagging infrastructure instead.
- ``NodeStore.generate_id()`` now returns a base64-encoded UUID.
- The API for interfaces has been rewritten.
- ``GroupMeta.objects.get_value`` no longer errors when a value is missing.
- ``sentry.plugins.sentry_sites`` has been removed.
- The Search API has been rewritten and now powers the entire stream.
- Removed Event.{logger,site,logger,level,culprit} references/columns. Legacy attributes for transitional behavior are available.
- Removed Project.owner.
- Removed Team.owner.
- ``is_new`` in ``Plugin.post_process`` will **only** be set if the event is brand new.
- Project-based URLs are changed to be organization scoped instead of team scoped.
- Static assets are no longer bundled as part of the repository and are instead compiled during the sdist/installation phases (as needed). See installation notes for further information.
- Graphs have been transitiong to ``sentry.tsdb`` (historical data is not preserved)
- Workers must now also run ``celerybeat``. This can be done either via passing -B to worker, or by running another process: ``sentry celerybeat``.
- Access Groups are now deprecated and will be removed in a version version.

Organizations
~~~~~~~~~~~~~

Organizations are the new top-level item of your Sentry install. All membership and team management has been moved into the new organization hub.

Generally for self-hosted installations you'll only have a single organization.

Migrations will happen automatically for this, and while these were able to applied cleanly and automatically on getsentry.com, we suggest considering snapshotting your database before running them. Additionally consider doing this at a period of the day where users generally wont be tweaking options to team membership.

TSDB
~~~~

A new time-series backend is now used (removing the legacy SQL-based graphing solutions). The only currently supported/bundled backend requires Redis. More information can be found in ``sentry.tsdb``.

Rules
~~~~~

A new system for basic controls around notifications (called Rules) has been added. These are per-project hooks for doing dynamic customization of "what happens when a new event is seen?".

Web API
~~~~~~~

The first offering a public API has landed. You'll find it with the new embedded docs (at /docs/).

Protocol Version 6
~~~~~~~~~~~~~~~~~~

Version 6 of the protocol has been introduced. The only change is the addition of the `release` attribute.

BIGINT
~~~~~~

All integer fields have been replaced with bigint's. This migration is *not* automated (due to it causing locking) and if you need it locally you will need to sort out the migration on your own, as well as set `SENTRY_USE_BIG_INTS = True` in your configuration.

Help Pages
~~~~~~~~~~

The beginnings of bundled documentation now exists. The defaults are generated from disk (see sentry/data/help_pages/).


v6.4.0
------

Some major backend changes are introduced in Sentry 6.4.0.

django.contrib.auth
~~~~~~~~~~~~~~~~~~~

The builtin Django authentication module is no more. The Group and Permission models are no
longer used, and the User model has been replaced with sentry.User.

Search
~~~~~~

Search has been abstracted from the simple search manager, and now lives within
``sentry.search``. Currently only the Django backend is supported, but some sample
code for Solr Cloud integration is also available.

Event Storage
~~~~~~~~~~~~~

A new application called ``nodestore`` now manages the event blob data. By default it
uses a Django-based backend (storing each node as a row in a table), however a Riak
backend is included and fully supported.

Additional Changes
~~~~~~~~~~~~~~~~~~

- Some initial support for time zones (user setting).
- You can now choose which tag annotations are applied to the event stream via Project Settings -> Tags.
- A new subsystem for handling email is available in ``sentry.utils.email``.
- You can now receive email notifications for notes.
- Charts now show tooltips describing the datapoint.
- JavaScript sourcemaps now support embedded sources.
- Stream annotations can now be customized to show any tags (not just number of users).
- Stacktrace frames now get truncated down to a maximum length of 50.

Protocol Version 5
~~~~~~~~~~~~~~~~~~

- sentry_version should be sent as '5'.
- The stacktrace interface now accepts a 'frames_omitted' tuple.

v6.3.0
------

- Most of the db utilities were refactored into ``sentry.db``.
- The user interface now accepts an ``ip_address`` attribute.
- User tracking will now use the ip_address attribute if available.
- ``time_spent`` is now expected to be sent as an integer in milliseconds.
- A new Notes feature is available for leaving comments on an event.

v6.2.0
------

- Added tracking to which users have seen which groups
- The stream now reflects if you've viewed an event since it was created or regressed.
- The group details page shows other users who have glanced at an event.
- Streams which have recorded user data will now show the number of unique users
  an event has happened to.
- Various stream polling fixes and improvements.

v6.1.1 (Security Release)
-------------------------

Sentry 6.1.1 is a security release which patches a remote code execution exploit.

This only affects servers hosted public clients (e.g. raven.js).

The following commit demonstrates the exploit, as well as the patch:

https://github.com/getsentry/sentry/commit/5793c6cac19aeb7d2e19f9a09f4421b771af4306

v6.1.0
------

- Added Rate Limit controls.

v6.0.0
------

Say hello to our new logomark! Version 6 of Sentry includes many changes within
the core designed to improve future compatibility for various platforms.

It also includes quite a number of incompatible changes, so it's recommended
that plugin authors read through the notes carefully, and run some simply
sanity checks. It also introduces version 4 of the protocol.

Incompatible Changes
~~~~~~~~~~~~~~~~~~~~

- Django has been upgraded to 1.5.
- django.contrib.auth.models.User has been replaced with sentry.models.User.
- sentry_servers no longer exists, and the behavior is now always present. If
  you had it manually listed in INSTALLED_APPS, simply remove it.
- Filters have been deprecated, and most functionality removed. See notes below.
- TrackedUser, AffectedByUser, and Group.users_seen have been removed in favor
  of reusing the tagging architecture for user tracking.
- Suspension of team members is no longer available. The feature was rarely
  used, and removing it greatly simplifies the auth logic in the API.
- **The mail plugin can no longer be disabled, and all mail-specific options
  have been removed.**
- Nearly all data within an event now has a fixed max size. See client
  developer documentation for details.
- Project keys are no longer created for individuals by default
- sentry.conf.settings has been removed
- LOG_LEVELS, DEFAULT_LOG_LEVEL, and DEFAULT_LOGGER_NAME are no longer configurable.
- DEFAULT_ALERT_PROJECT_THRESHOLD and DEFAULT_ALERT_GROUP_THRESHOLD are no longer
  configurable.
- SENTRY_EMAIL_SUBJECT_PREFIX and SENTRY_SERVER_EMAIL are no longer used, and default to
  the appropriate Django options.
- SENTRY_CACHE_BACKEND is no longer configurable.
- SENTRY_AUTH_PROVIDERS is now AUTH_PROVIDERS.
- Existing account recovery tokens are no longer valid.
- sentry.utils.router has been removed.

Protocol Version 4
~~~~~~~~~~~~~~~~~~

- sentry_version should be sent as '4'.
- Aliases are now recommended instead of full interface names.
- The exception interface now supports a bound stacktrace, and all events
  (in all protocols) which contain both an exception and a stacktrace will
  be rolled up. This should be sent as the ``stacktrace`` attribute.
- The exception interface now supports chained exceptions, and should
  be sent as a list of exception values. Check the updated documentation for
  ordering details.

Alerts
~~~~~~

A basic alert system has been added.

- Configured at the project level.
- Signaled via Plugin.on_alert.

Filters
~~~~~~~

The outdated filter system has been mostly removed. You should rely on
tagged data for filter generation.

If you were previously defining ``SENTRY_FILTERS`` you should remove it
from your settings as it will be entirely obsolete in a future version.

Other Changes
~~~~~~~~~~~~~

- Activity feeds will now attempt to filter out some duplicates.
- Tags now show on the event details page.
- Corrected some invalid behavior when storing tags with an individual event.
- Plugin.get_tag_values was added.
- A new team select dashboard exists if you are a member of multiple teams.
- A new Sentry logo mark has replaced the simple text header.
- C# has been added to experimental clients.

v5.4.0
------

SENTRY_PUBLIC now dictates whether or not a Sentry install should be considered
accessible by all users or not. This should better solve the use-case of companies
hosting a Sentry instance internally and not necessarily needing the permissions
that teams give you.

If enabled, all teams and all projects will be accessible all members (for any endpoint
which does not require a certain level of access). Project.is_public now dictates the
implied state of all events, but will not allow a non-member to browse events.

Additionally, this includes the following other items:

- [Important!] The URLS for social authentication have been moved.
- Improved rendering of data values in all interfaces.
- django-compressor was replaced with django-static-compiler.
- A better defined public view of events (which removes several items from being visible).
- Improved SourceMap discovery.
- Most events will no longer cause a hard error when validation fails. Instead we attempt
  to drop any non-required data so that at least a partial event is stored.
- MessageCountByMinute was renamed to GroupCountByMinute.
- MessageFilterValue was renamed to GroupTag.
- Syntax highlighting was disabled (pending performance solutions).
- Added Team.date_added column.
- Lots of various design changes.
- Trending SQL queries can now be disabled by setting
  ``SENTRY_USE_TRENDING = False``


v5.3.0
------

A brand new Sentry design has landed.

Some things of note:

- An improved dashboard.
- Improved activity feeds on aggregate details.
- Similar event navigation links on aggregate details.
- Redesigned team management flow.

Additionally:

- Aggregates now happen on (project, checksum), which means events that have different
  levels or culprits can now be grouped together.
- Sentry now requires authentication for all pages.
- SENTRY_PUBLIC behavior has changed to signify the default state of projects.
- Project slug's are now only unique within a team.

v5.2.2
------

- [New] The dashboard will now stream updates to the new and trending event components.

v5.2.1
------

- [Fix] Trends sorting options on the Stream page work correctly again.

v5.2.0
------

- [New] A new activity stream exists on event pages.
- [New] Syntax highlighting now exists on all context frames.
- [New] Support for JavaScript Sourcemaps now exists.
- [New] The server will now fetch remote source files for JavaScript events.
- [New] Sentry will now ask for your project's platform.
- [Fix] Resolved -> Regressed state change is now atomic.
- [Fix] ``cleanup`` now runs with lower resource overhead.
- [Fix] Cookies will now be coerced to dicts if possible.
- More (storage only still) work on user tracking.
- Several indexes were added to speed up various queries.
- Removed savepoint use in plugin hooks (99% of the time there were no queries).

Additional, the following client protocol changes are part of this release:

- Cookies should be not be sent by default.
- POST data should not be sent by default.
- Recommended values regexp for sanitizing credit cards was updated.
- ``colno`` was added to the Stacktrace spec.
- Timestamps that are more than one minute in the future are now discarded.
- (Undocumented) Client-side support now exists for GET + Referrer store requests.

We've also reduced the test suite time down to 25% of what it originally was (thanks, Alex!)

v5.1.3
------

A new user's affected-tracking mechanism is present (storage only). This will
become available in the UX in a future version, and relies on the existing HTTP
and User interface datas.

- [Fix] Correct a bug with search queries.
- [New] Group.users_seen will now track unique users when possible.
- [New] Team and project owners can now change ownership (non-superuser).
- [Fix] Counts are now formatted correctly when number of visible digits > 3.

v5.1.2
------

- [Fix] Option schema (key length = 64).
- [Fix] Template interface now renders correctly.
- [Fix] Update design on admin status pages.
- [New] iOS client documentation.
- Improved client documentation visuals.

v5.1.1
------

Several schema changes are made in this upgrade:

- A new model: LostPasswordHash
- Two new fields on ProjectKey: date_added and user_added
- A new field on Event: platform
- A new field on Group: platform

The following changes are also part of this release:

- [New] A new plugin, sentry-interface-types will now automatically tag the available interface
  types in an event.
- [New] The platform value sent with an event is now recorded in the database.
- [New] A recover account flow has been added.
- [New] There is now a sticky nav on the event details pages.
- [New] getting started page now shows if there's no data for a project.
- [New] An API key management page now exists (under project settings).
- [New] A tag overview page now exists for group details pages.
- [Fix] Line numbers now show correctly in collapsed source context.
- [Fix] Pending members now show correctly on the team management page (under project settings).
- [Fix] The time since value now updates correctly when events change.
- Various changes to how event details components render.
- Various fixes for breadcrumbs and header styles.
- Most plugins will no longer default to enabled on new projects.

v5.1.0
------

Minor point releases now signify major changes (5.1.0 is a major release). Bugfix and smaller
releases will continue as normal.

This release includes a very large set of changes from 5.0.0, including a new client protocol
and an overhaul to the frontend code (specifically the JavaScript).

If you're a contributor, take note that there is now a JavaScript test suite. You can run all
test suites with the ``make test`` command.

Protocol Version 3
~~~~~~~~~~~~~~~~~~

Sentry 5.1 removes support for version 1.0 of the protocol, and maintains a compatibility layer
for version 2.0.

Additionally, the following changes apply to the new protocol:

- sentry_version should be sent as '3' (not 3.0).
- Signed messages are no longer supported (signatures are not calculated).
  - sentry_signature is no longer used.
  - sentry_timestamp is no longer used.
- Clients must pass sentry_secret for server-side requests as part of the auth
  header. This check runs in the event that there is no Origin header sent.
  - version 2.0 supports validation of this, version 3 requires it.
- The ``project`` attribute in the JSON packet is no longer required.
- The ``platform`` attribute is now recommended.
- The ``tags`` attribute is now recommended.

Other Changes
~~~~~~~~~~~~~

- Aggregation 'Views' have been removed.
- All streaming components are now powered by Backbone.js.
- Frontend has been updated to Bootstrap 2.1.
- The event stream now includes sparklines representing the last 24 hours of data for each event.
- Trends have greatly improved.
- Grouping events that have identical stacktraces other than the function name (e.g. dynamically generated
  functions) is not possible.
- SiteFilter has been removed, as has the sites plugin.
- If frames are included in a stacktrace that have the attribute ``in_app: false``, they will be hidden by default in
  the details view.
- crossdomain.xml support is now available (see documentation).
- The search feature now uses buffers to better handle write concurrency.
- Early support for WSGI (should be functional) exists as ``sentry.wsgi``.
- Many fixes around cache usage.

v5.0.0
------

- Variable versions of Django are no longer supported. Django 1.4.x must now be used.
- Public projects are restricted to viewing without being authenticated.
- The default behavior of Sentry is to now use timezone-aware datetimes everywhere.
- Permissions have been refactored to be more precise.


v4.10.0
-------

- A new IssuePlugin base is available.
- Charts have been refactored to show 7 days worth of data.
- django.contrib.staticfiles is now supported.
- django.contrib.messages is now supported.

v4.9.0
------

Social authentication is now supported!

By configuring several options (documented in the getting started guide), you can allow users to signup and login
with accounts from several social services. Additionally users can associate their existing accounts (via a
new identities panel in their account settings) with any number of these services.

Currently, the following services are supported:

* GitHub
* Twitter
* Facebook
* Google

v4.8.0
------

Tags are now able to be created dynamically! See the documentation for more details on implementing it inside
of your client.

You can also configure which tags will show up as filters in the sidebar via your project's settings page. By
default all tags will show up.

v4.7.0
------

User options are now available to plugins. The builtin mail plugin also now takes advantage of them.

- sentry_mail will now use the alert_email option over your account email if specified.
- sentry_mail now allows you to choose which projects to receive alerts for.
- Numeric slugs will no longer return 404s.
- Corrected the repair command with the --owner argument.

v4.6.0
------

Improvements to the dashboard are trickling in, with this update including:

- Changing "Top Events" to "Trends" (if supported by your RDBMS)
- Time interval selections for both widgets

Plugins now have a new interface for registering themselves. Please see the developer documentation
for notes on how to use ``entry_points``.

Additionally:

- Signed messages are now deprecated. Save yourself some CPU cycles, and rely on SSL.
- A new plugin which tags user's email addresses.
- Several UI cleanups in various areas, such as improvements to the account dropdown and lists of projects/teams.
- Long awaited cleanup/fixes for applying the initial database migrations (sorry MySQL users).
- Initial support for arbitrary event tagging (coming soon to a client near you).

v4.5.0
------

Builtin plugins have been refactored to be more concise. This includes changes to the
servers, urls, and sites plugins. There is also a new builtin plugin::

  sentry.plugins.sentry_useragents

With these changes, it now makes it even easier to create a basic plugin that just handles extra
"tag"-like data. Take a look at one of the aforementioned plugins for an example.

Additionally:

- The mail plugin now sends additional Sentry-specific headers.
- Signatures are deprecated, and no longer required.
- Several fixes regarding CORS support.

v4.4.0
------

Two new columns were added to the ``Group`` model:

- ``resolved_at``: The datetime at which this event was marked as resolved.
- ``active_at``:  The datetime at which this event was marked as open.

The dashboard's "New Events" will now use the active_at date rather than the original
first seen date on an event.

v4.3.0
------

A new global dashboard now exists. The dashboard contains an event graph for all projects which
you have access to, as well as a list of the top events, and new events.

Additionally:

- API endpoints now properly send no-cache headers.
- Added a countdown to update buffers.

v4.2.0
------

Sentry now has support for buffering a majority of its counters via Redis. For more information, check
the buffer section of the configuration documentation.

- Nearly all race conditions are now handled correctly using distributed cache locks.

v4.1.0
------

Sentry now maintains full support for CORS requests from external hosts. This means that clients like
raven-js will now able to securely send messages to Sentry, without compromising their secret key.

In addition:

- Trusted domains were removed. These were not fully implemented.
- A new datepicker for selecting ranges of events.
- raven-javascript and raven-ruby are now officially supported clients.
- Added ``sentry repair``.

v4.0.0
------

Introducing Teams!

Projects are now assigned to a single team, and that team may consist of many members. Additionally
each team may own multiple projects. This makes it much easier to handle permissions across a single
organization that has many projects.

This update also includes initial changes to how filters work. ServerName Filter and SiteFilter are
no longer specified in the ``FILTERS`` setting, but instead are included automatically if you
load the respective ``sentry_servers`` and ``sentry_sites`` plugins.

Additional changes:

- Legacy data format is no longer supported (pre-Raven 1.x)
- API will now validate data before sending it into the queue, enabling better debugging for clients.

v3.8.0
------

Plugins are now configurable per-project. This makes it easy to install a plugin globally
and allow it to run only on selective projects.

v3.7.0
------

Several minor fixes, as well as a backwards incompatible change with filters.

All filters must now accept the project argument in the initializer. The signature is
now __init__(request, project).

v3.6.0
------

This version focuses on improving membership control. It includes the ability to revoke
project members access temporarily (by suspending them), as well as revoking users
(outside of Sentry) via the user.is_active flag.

Additionally, it brings the beginnings of an "invite user" flow, allowing you to
invite users who may or may not already have accounts in the system. We plan to improve
this flow in an upcoming release to allow invitees easy registration within the system
if they don't already have an account.

v3.5.0
------

Several improvements and additions have been made around the administration, including
performance improvements.

If you're utilizing the queue, the installation guide now recommends you switch off the
database backend, and move to something more efficient (such as Redis).

v3.4.0
------

Eventlet is no longer used as the default worker for gunicorn, and thus is no longer
installed by default. If you're using the udp worker, or ``send_fake_data`` you MUST
install eventlet yourself. The recommended worker class for gunicorn is now ``gevent``
as it corrects some issues with async queries in psycopg2.

v3.3.0
------

The queue has been changed from direct Kombu, to utilizing Celery entirely. If you were
already using the queue, the upgrade simply requires you to change "sentry start worker"
to "sentry celeryd".

v3.0.0
------

Version 3 of Sentry is centered around a restructure of the internal services and
the architecture for running those. It also includes improvements to the plugin architecture.

The upgrade process should be trivial, just be aware that if you were using --config before
you must change the way you pass it so that it's before the subcommand. For example
if you were doing ``sentry start --config...`` the command would now be changed to
``sentry --config... start``.

* Sentry no longer provides the ability to daemonize processes. This should now be
  done at the system level.
* All of Sentry's CLI is now handled through Logan (https://github.com/dcramer/logan),
  which simply pipes commands to Django's internal system utilizing custom configuration.
* Plugins now have a hook for managing some level of permissions (beyond the required defaults).
* The plugin interface (IPlugin) is now documented.
* It is now recommended that clients allow the Sentry server to compute checksums.

v2.9.0
------

* Plugins must now behave as singletons and be registered with a newly provided
  sentry.plugins.@register decorator.
* The Bugzilla and Redmine extensions are no longer part of Sentry core.
* Added a global overview of projects to the administration.

v2.8.0
------

* Added an Account Settings panel which allows users to change their name,
  email, and password.
* The default Sentry server now correctly wraps itself in its own middleware.
* Improved Real-time JavaScript.

v2.7.0
------

* Added first_seen and last_seen to all message filter values.
* Added a new "since" option to the dashboard with a default value of 3 days.

v2.6.0
------

* The built-in webserver is now powered by gunicorn.
* Cleaned up several admin pages and split them into sub-pages.

v2.5.0
------

* Corrected some queue behavior.
* Resolve Feed now only resolves items active within current filters.
* Handle unicode characters in POST body for replay request.
* Ensure client side requests run checks on HTTP_REFERER
* Adjust documentation for service settings.

v2.4.5
------

* Corrected indexing behavior to handle non strings.
* If queuing is enabled the indexer will now queue it's jobs.
* Moved group creation into a transaction.

v2.4.4
------

* Mail configuration value of send_to now correctly uses ',' as a separator
  (rather than ';').
* Changed rendering of sidebar widgets for all builtin extensions.
* Added an event details slot to the sidebar pane for individual events.

v2.4.3
------

* Correct some behavior with MySQL on the groups pane.
* Correct generated configuration behavior to use absolute
  paths for run and log folders.

v2.4.2
------

* Include DSN and member type on projects list grid.

v2.4.1
------

* Change appearance of resolve states.
* Adjust user management to link username (which is required) and not
  optional fields.

v2.4.0
------

* Added user management for admins.
* Resolved events should now appear differently.
* Default membership access is now configurable.

v2.3.2
------

* Maintaining *some* level of support for SQLite.

v2.3.1
------

* Correct rendering of sites, urls, and servers on details panes.

v2.3.0
------

* The polling API and JavaScript have been refactored.

  Events now stream in (they generally do not update if they already
  exist), and will maintain correct ordering in the feed.

  This API is available for most sort options, excluding trends.
* The builtin plugin's widgets have been fixed.
* Sampling rates are now configurable.
* Some minor design tweaks.

v2.2.5
------

* The \|date filter now forces things to UTC (it assumes local time).
* Event templates have been updated to resemble groups.

v2.2.4
------

* Improve error logging in API.
* Update Celery client code to use new send_encoded interfaces.
* Change JS datetimes to use UTC.
* Force clients which specify version 2.0 or newer to pass identification.
* Better default logging configuration.
* Adjust eventlet to monkey patch the world before any imports happen.
* Adjust default configuration to specify LOG and RUN directories.
* upgrade now correctly handles the delete ghosts argument.

v2.2.3
------

* Lower font size of counts on event list.
* Align actions to right side (vertical).
* Fix issue with long filters not transforming to selects.

v2.2.2
------

* Corrected event_id key to contain (project_id, event_id).
* Adjusted project form to default the user to the current user
  when accessed by an admin.
* Change sentry admin to be /manage/ to avoid any unintentional
  conflict with the Django admin.

v2.2.1
------

* Cleaned up several pages.

v2.2.0
------

* Sentry has a brand new design utilizing Bootstrap 2.
* Superusers can now create projects for users.

v2.1.3
------

* Ensure we truncate tokens to 128 characters for SearchDocument.
* Gracefully handle errors with indexing.
* Gracefully handle errors with post_process.
* Gracefully handle errors with regression_signal.
* Fixed priority sort option not activating.

v2.1.2
------

* Fixed an issue that was causing signals to not be registered.
* Made date the default sort order for aggregate stream.

v2.1.1
------

* Fixed an issue with indexing pre and post context on templates.

v2.1.0
------

* ``pytz`` is now a requirement.
* Changed default TIME_ZONE to be "UTC".
* Corrected some issues around how dates were localized.
* Initial implementation of full-text search.
* Fixed sending of regression_signal so it only happens if event
  has been marked as new.
* Changed ProjectMember.get_dsn() to use request.get_host() which
  corrects a bug in some webservers.

v2.0.2
------

* ``start`` no longer performs ``upgrade`` as its problematic.
* Initial queue usage (optional).
* Fix reference to bookmark_querystring.
* Added DSN to project member details page.

v2.0.1
------

* Skip logging of south in default server configuration as it proves to be problematic.
* Remove use of deprecated logging handler in default server configuration.
* Run ``upgrade`` as part of ``start``.
* Fix GroupBookmark related_name to be sentry namespaced.
* Correctly handle before_events() hook in polling responses.
* Removed integrated install documentation as it is no longer officially supported.
* Gracefully handle rendering errors with interfaces.
* Correct a bug with default email options.

v2.0
----

Sentry 2.0 is a major release which contains many new features as well as some large
rearchitecting of the codebase.

If you were previously extending Sentry, it would be wise
to test your extensions before upgrading.

* Added project scoping to all data in sentry.
* Added permissions to projects.
* The authorization header is now X-Sentry-Auth to avoid certain default behaviors such as
  mod_wsgi's "don't pass HTTP Authorization header".
* sentry.client has been removed
* The default key is now base64-encoded.
* sentry.interfaces are now used for coercing and rendering structured data.
* The store endpoint has a new API.
* The from_kwargs method has a new API.
* The ``class_name``, ``traceback``, an ``url`` fields have been removed.
* GroupedMessage was renamed to Group.
* Message was renamed to Event.
* Switched to Bootstrap framework.
* Added "Replay Request" action for events.
* Graphs can now be generated for Projects.
* There is now a trends sort option for aggregated events.
* Added ``sentry manage`` command.
* Sentry now has its own isolated queues (using Kombu).

v1.13.5
-------

* Level filters are now precise (they no longer show their level + messages from higher levels).

v1.13.4
-------

* Updated message details page to resemble look and feel of group details.

v1.13.3
-------

* Added back in the "raw traceback" view.

v1.13.2
-------

* Counts will now render differently with large values (e.g. 13000 will now be 13k)

v1.13.1
-------

* Search by message_id will now display a list of results if there are multiple matches.

v1.13.0
-------

* Deprecated the Sentry client, and added Raven to the as the default builtin.
* Removed Highstock and replaced it with an awesome OPEN SOURCE alternative, jQuery Flot.
* Default Sentry server options should now work out of the box.
* Packaged Google Web Font as part of Sentry.

v1.12.2
-------

* Fixed infinite loop.

v1.12.1
-------

* Stabilize migration schema (solves problem with index creation fail introduced in 1.12.0).

v1.12.0
-------

* Adjusted message_id to include the checksum to avoid situations were the message_id
  that was generated did not exist due to sampling.

v1.11.4
-------

* Several design improvements for group/message details panes.

v1.11.3
-------

* Fixed a bug that was causing exception summary to not show.

v1.11.2
-------

* Cleaned up message and group details pages (adding back some missing information).
* Cleaned up some design around odd margins/padding.

v1.11.1
-------

* Fixed a bug that would cause the admin (and potentially other modules) to get loaded multiple times.

v1.11.0
-------

* Added license headers.
* Removed ``sentry.helpers`` and ``sentry.routers``.
* Global module versions are now cached to avoid continuous path walking and
  import overhead.

v1.10.1
-------

* Fixed an issue that was causing servers to show logger names.

v1.10.0
-------

* You can now pass ``extra={'stack': True}`` to logging methods to capture
  the current frames and their locals.
* Code refactoring in various places related to stack extraction.
* Denormalized graph data in MessageCountByMinute (stores at 5m intervals).
* Denormalized filter counts into MessageFilterValue
* Added message sampling (adapted from Yuri Baburov's patch).
* Added SENTRY_MAIL_LEVEL setting.
* Added SENTRY_MAIL_INCLUDE_LOGGERS setting.
* Added SENTRY_MAIL_EXCLUDE_LOGGERS setting.
* Added the ``level`` argument to the cleanup command.
* The thrashed key is now set correctly in request.sentry.
* Added user information to all messages that have ``request``.
* Changed the hashing function for messages that include
  stacktraces to ignore the ``message`` and line numbers.
* Much improved test coverage.

v1.9.0
------

* Load the Frequency chart asynchronously.
* Frequency chart no longer shows for SQLite.
* Switch graphing library to Highstock from Highcharts.

v1.8.10
-------

* Ensure dictionary keys are coerced to strings.
* Fixed path to missing_permissions.html.

v1.8.9
------

* Safely handle unpickling objects that may not have been stored in a
  valid format.

v1.8.8
------

* Changed ``sentry cleanup`` to use a range query.

v1.8.7
------

* Added "Clear Feed" option.
* Version information will be read from pkg_resources if possible.
* Cleared up documentation on configuration settings..
* Performance improvements to ``Client.send()``.
* Added default 404/500 pages.
* Added support for Django's LOGIN_URL setting.
* Fixed a memory leak in the client (thanks to Ben Bangert).

v1.8.6.2
--------

* Reverted change which required distribute.
* Cleaned up configuration defaults.

v1.8.6.1
--------

* Include distribute_setup.py in the MANIFEST to ship it in sdists.

v1.8.6
------

* Corrected an issue which was causing certain settings (like WEB_HOST) to
  not take affect in custom configuration files.
* The Sentry server will now pull in default server settings, as well as
  ~/.sentry/sentry.conf.py if --config is not passed to it.

v1.8.5.1
--------

* Fixed a bug which caused thrashing prevention to not function correctly.
* Corrected an error in transform()'s recursion safety.
* Changed packaging to use Distribute.

v1.8.5
------

* Pulled test suite out of the Sentry namespace to avoid conflicts in projects.

v1.8.4.2
--------

* Added missing invalid_message_id template.

v1.8.4.1
--------

* Fixed an error that was causing LOG_LEVELS to not display correctly.

v1.8.4
------

* The Sentry base client will now pass along the timestamp from when the
  message was generated.

v1.8.3.1
--------

* Fixed a case where the client may hit a transaction aborted error when
  transforming variables.

v1.8.3
------

* Added several settings which were Django specific so that they can be
  configured isolated to the Sentry instance.
* Graceful failover for when a cache backend isnt working properly and
  throttling is enabled.
* Better rendering of non-dict variables when passed within extra data.
* Graceful failover for searching on message_id's that aren't found.

v1.8.0
------

* Refactored Sentry server to run standalone (sentry --help).

v1.7.5
------

* Implemented new client/server storage API and signing methods.
* Fixed a bug where accessing __sentry__ would sometimes cause errors on
  certain code paths.

v1.7.4
------

* Fixed a bug with potential recursion issues.
* Fixed a bug with the storage API and unicode keys.

v1.7.3
------

* Storage API has better responses when data fails to decode, or
  you send a bad request.
* Documentation improvements for JSON storage API.

v1.7.2
------

* All strings, lists, tuples, and sets are now shortened before sending
  to the server. Iterable data structures are truncated to the first
  50 items, and strings are truncated to the first 200 characters.

  Both shorteners have configurable values in the settings.

v1.7.1
------

* Fixed a bug that slipped through with blocktrans usage.

v1.7.0
------

* Added ``score`` to ``GroupedMessage`` (schema change).
* Added ``MessageIndex`` (schema change).
* Added Async client (thanks to Yuri Baburov).
* Added support for raw_post_data (thanks to Matthew Schinckel).
* django-paging and django-indexer no longer need to be in INSTALLED_APPS.
* Added an index for GroupedMessages.times_seen.
* The ``score`` column will update atomically in PostgreSQL and MySQL.
* Added the frequency sort option.
* Better internationalization support.
* Fixed a bug with Oracle's date truncation support (changed to hh24).
* Respect TIME_ZONE by using auto_now_* on DateTimeField's.
* Tests required Haystack and Celery are now skipped if module is not found.

v1.6.10
-------

* Added JSON support to storage API.
* Changed default client to use JSON format.

v1.6.9.1
--------

* Fixed an issue with encoding to UTF-8 for Haystack.

v1.6.9
------

* Added URLs to default search parameters.
* Fixed a bug to ensure template information is only added if its the correct loader

v1.6.8.1
--------

* Search will now show when unauthenticated (e.g. when SENTRY_PUBLIC is enabled)

v1.6.8
------

* Search no longer allows filters.
* Search no longer allows arbitrary queries without Haystack.
* Added logger, level, site, server, and url to search index.
* Haystack has been updated for further flexibility.
* SearchFilter is now unused (you should update your configs).

v1.6.7
------

* Moved static media into /static/.
* Added serve_static view to handle static media solely within Sentry.
* Added SENTRY_STATIC_URL_PREFIX setting.

v1.6.6
------

* setup.py install will no longer install example_project.
* Fixed an issue where __sentry__ would be called even if it wasn't a callable.
* Fixed an issue where transactions would attempt a rollback when not managed while creating
  the sort index.

v1.8.8
------

* Set a last_message_id so when thrashing is hit there is still a point of reference for tracing.
* Check correct permissions for Sentry.

v1.6.4
------

* Fixed a memory leak due to TextNode's being created from leading whitespace in realtime packets.

v1.6.3
------

* Fixed a critical bug in the Sentry JS namespace preventing it from loading.

v1.6.2
------

* LogHandler will attempt to pick up the request automatically using SentryLogMiddleware.
* Updated AJAX CSRF support for Django 1.2.5.
* request.sentry is now set in any event which has request as part of the parameters.

v1.6.0
------

* Added message references (uuid's) as message_id in Message
* Fixed css compatibility issues with TextWidget
* SearchFilter now allows searching by message reference id
* Added Sentry404CatchMiddleware
* Added SentryResponseErrorIdMiddleware
* The `request` argument can now be passed into any ``create_from_`` method.

(History beyond 1.6.0 is not present)
